1{ 2 "name": "@factory/editor", 3 "version": "0.1.0", 4 "private": true, 5 "type": "module", 6 "description": "Block editor kernel for AI Software Factory (PRODUCT-SPEC §4–§8, frontend-architecture §3). Two layers: (1) an inline rich-text extension set (mention, equation, highlight) consumed by apps/web's per-block Tiptap editors via factoryEditorExtensions(); (2) the block-canvas kernel — a lossless block tree ↔ document codec, the Tiptap block-node registry, slash command registry + fuzzy search, context menus, 800 ms debounced autosave with version-conflict rebase, undo/redo history, and clipboard (internal JSON + markdown). Fractional positions re-exported from @factory/shared/positions. The pure logic modules (codec/slash/context-menu/autosave/history/clipboard) are tiptap-free; only the node/mark layer imports @tiptap/core (the same ^2.4.0 line apps/web uses, so pnpm dedupes to one copy).", 7 "main": "./src/index.ts", 8 "types": "./src/index.ts", 9 "exports": { 10 ".": { 11 "types": "./src/index.ts", 12 "default": "./src/index.ts" 13 }, 14 "./codec": { 15 "types": "./src/codec.ts", 16 "default": "./src/codec.ts" 17 }, 18 "./factory": { 19 "types": "./src/factory.ts", 20 "default": "./src/factory.ts" 21 }, 22 "./slash": { 23 "types": "./src/slash.ts", 24 "default": "./src/slash.ts" 25 }, 26 "./context-menu": { 27 "types": "./src/context-menu.ts", 28 "default": "./src/context-menu.ts" 29 }, 30 "./autosave": { 31 "types": "./src/autosave.ts", 32 "default": "./src/autosave.ts" 33 }, 34 "./history": { 35 "types": "./src/history.ts", 36 "default": "./src/history.ts" 37 }, 38 "./clipboard": { 39 "types": "./src/clipboard.ts", 40 "default": "./src/clipboard.ts" 41 }, 42 "./positions": { 43 "types": "./src/positions.ts", 44 "default": "./src/positions.ts" 45 } 46 }, 47 "scripts": { 48 "test": "vitest run", 49 "test:unit": "vitest run", 50 "typecheck": "tsc --noEmit" 51 }, 52 "dependencies": { 53 "@factory/shared": "workspace:*", 54 "@tiptap/core": "^2.4.0" 55 }, 56 "devDependencies": { 57 "typescript": "^5.6.0", 58 "vitest": "^2.1.1" 59 } 60} 61