{ "name": "@factory/editor", "version": "0.1.0", "private": true, "type": "module", "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).", "main": "./src/index.ts", "types": "./src/index.ts", "exports": { ".": { "types": "./src/index.ts", "default": "./src/index.ts" }, "./codec": { "types": "./src/codec.ts", "default": "./src/codec.ts" }, "./factory": { "types": "./src/factory.ts", "default": "./src/factory.ts" }, "./slash": { "types": "./src/slash.ts", "default": "./src/slash.ts" }, "./context-menu": { "types": "./src/context-menu.ts", "default": "./src/context-menu.ts" }, "./autosave": { "types": "./src/autosave.ts", "default": "./src/autosave.ts" }, "./history": { "types": "./src/history.ts", "default": "./src/history.ts" }, "./clipboard": { "types": "./src/clipboard.ts", "default": "./src/clipboard.ts" }, "./positions": { "types": "./src/positions.ts", "default": "./src/positions.ts" } }, "scripts": { "test": "vitest run", "test:unit": "vitest run", "typecheck": "tsc --noEmit" }, "dependencies": { "@factory/shared": "workspace:*", "@tiptap/core": "^2.4.0" }, "devDependencies": { "typescript": "^5.6.0", "vitest": "^2.1.1" } }