Failed pre-publish tags can be deleted and reused instead of stacking versions; docs and prepare errors point at release:abort. Co-authored-by: Cursor <cursoragent@cursor.com>
168 lines
9.4 KiB
JSON
168 lines
9.4 KiB
JSON
{
|
|
"name": "ncurator",
|
|
"version": "1.0.0",
|
|
"description": "Local-first AI workspace for documents, research, and task execution",
|
|
"main": "./out/main/index.js",
|
|
"author": "NCurator",
|
|
"homepage": "https://www.guanzhangai.cn",
|
|
"scripts": {
|
|
"format": "prettier --write .",
|
|
"lint": "eslint --cache .",
|
|
"knip": "knip",
|
|
"doc:ai-tool-prompt-audit": "pnpm dlx tsx scripts/doc/generate-ai-tool-prompt-audit.mts",
|
|
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
|
|
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
|
|
"typecheck": "tsc --noEmit -p tsconfig.node.json --composite false && tsc --noEmit -p tsconfig.web.json --composite false",
|
|
"build:sidecar": "node scripts/build/sidecar/build.mjs",
|
|
"test:ai": "node scripts/test/workflow.mjs --domain ai --type backend",
|
|
"test:ai:backend": "node scripts/test/workflow.mjs --domain ai --type backend",
|
|
"test:ai:non-live": "node scripts/test/workflow.mjs --domain ai --type backend --exclude-group live",
|
|
"test:ai:tool": "node scripts/test/workflow.mjs --domain ai --suite tool --type backend",
|
|
"test:ai:human:mock-llm": "node scripts/test/workflow.mjs --domain ai --suite human --group mock-llm --type backend",
|
|
"test:ai:human:live": "node scripts/test/workflow.mjs --domain ai --suite human --group live --type backend",
|
|
"test:unit": "node scripts/test/workflow.mjs --domain unit --type backend",
|
|
"test:unit:ai": "node scripts/test/workflow.mjs --domain unit --suite ai --type backend",
|
|
"test:terminal": "node scripts/build/native/node-pty.mjs ensure node && vitest run --config vitest.backend.config.mts tests/case/unit/ai/terminal-session-manager.test.ts tests/case/unit/ai/terminal-protocol.test.ts tests/case/unit/ai/terminal-platform-adapter.test.ts tests/case/unit/ai/terminal-command-policy.test.ts",
|
|
"test:settings": "node scripts/test/workflow.mjs --domain settings --type e2e --target source",
|
|
"test:e2e:source": "node scripts/test/workflow.mjs --type e2e --target source --exclude-group provider-matrix",
|
|
"test:e2e:package": "node scripts/test/workflow.mjs --type e2e --target package --exclude-group provider-matrix",
|
|
"test:settings:e2e": "node scripts/test/workflow.mjs --domain settings --type e2e --target source",
|
|
"test:update": "pnpm run test:update:backend && pnpm run test:update:e2e",
|
|
"test:update:backend": "node scripts/test/workflow.mjs --domain unit --suite release --type backend",
|
|
"test:update:e2e": "node scripts/test/workflow.mjs --domain workbench --type e2e --case sidebar-app-update --case database-version-update-required --target source",
|
|
"test:update:real:win": "node scripts/test/update-real-windows.mjs",
|
|
"release:start": "node scripts/release/prepare.mjs",
|
|
"release:abort": "node scripts/release/abort.mjs",
|
|
"release:win": "node scripts/release/windows.mjs",
|
|
"release:doctor": "node scripts/release/doctor.mjs",
|
|
"release:status": "node scripts/release/status.mjs",
|
|
"release:storage:plan": "node scripts/release/storage/plan.mjs",
|
|
"release:signing:setup": "node scripts/release/setup-macos-signing.mjs",
|
|
"release:mac": "node scripts/release/macos.mjs",
|
|
"release:storage:finalize": "node scripts/release/r2/finalize.mjs",
|
|
"release:r2:finalize": "node scripts/release/r2/finalize.mjs",
|
|
"test:workbench": "node scripts/test/workflow.mjs --domain workbench --type e2e --target source --exclude-group provider-matrix",
|
|
"test:workbench:e2e": "node scripts/test/workflow.mjs --domain workbench --type e2e --target source --exclude-group provider-matrix",
|
|
"test:workbench:provider-matrix": "node scripts/test/workflow.mjs --domain workbench --type e2e --target source --case live-preset-provider-smoke",
|
|
"start": "electron-vite preview",
|
|
"dev": "node scripts/build/native/better-sqlite3.mjs ensure electron && node scripts/build/native/node-pty.mjs ensure electron && node scripts/build/sidecar/ensure.mjs && electron-vite dev",
|
|
"dev:no-sidecar": "node scripts/build/native/better-sqlite3.mjs ensure electron && node scripts/build/native/node-pty.mjs ensure electron && electron-vite dev",
|
|
"build": "node scripts/build/native/better-sqlite3.mjs ensure node && node scripts/build/native/node-pty.mjs ensure node && tsc --noEmit -p tsconfig.node.json --composite false && tsc --noEmit -p tsconfig.web.json --composite false && node scripts/build/sidecar/build.mjs && node scripts/build/vditor-assets.mjs && node scripts/build/native/better-sqlite3.mjs export-electron-resource && electron-vite build && node scripts/build/runtime/verify-bundles.mjs && node scripts/build/native/node-pty.mjs ensure electron && node scripts/build/package/prepare-stage.mjs",
|
|
"postinstall": "node scripts/postinstall.mjs",
|
|
"package:audit:stage": "node scripts/build/package/audit-stage.mjs",
|
|
"package:audit": "node scripts/build/package/audit-app.mjs dist release-stage/runtime-trace-report.json",
|
|
"package:audit:summary": "node scripts/build/package/audit-summary.mjs dist/package-audit.json",
|
|
"build:unpack": "pnpm run build && electron-builder --dir && pnpm run package:audit",
|
|
"build:win": "node scripts/build/native/electron-builder-windows.mjs && pnpm run build && electron-builder --win --x64 --publish never && pnpm run package:audit",
|
|
"build:mac": "pnpm run build && electron-builder --mac --arm64 --publish never && pnpm run package:audit",
|
|
"build:mac:arm64": "pnpm run build && electron-builder --mac --arm64 --publish never && pnpm run package:audit",
|
|
"build:mac:release:arm64": "pnpm run build && electron-builder --mac --arm64 --publish never --config.forceCodeSigning=true && pnpm run package:audit",
|
|
"native:node": "node scripts/build/native/better-sqlite3.mjs ensure node",
|
|
"native:electron": "node scripts/build/native/better-sqlite3.mjs ensure electron",
|
|
"native:pty:node": "node scripts/build/native/node-pty.mjs ensure node",
|
|
"native:pty:electron": "node scripts/build/native/node-pty.mjs ensure electron",
|
|
"native:status": "node scripts/build/native/better-sqlite3.mjs status",
|
|
"native:prepare": "node scripts/build/native/better-sqlite3.mjs prepare",
|
|
"native:clean": "node scripts/build/native/better-sqlite3.mjs clean"
|
|
},
|
|
"dependencies": {
|
|
"@ant-design/icons": "^6.1.0",
|
|
"@browserbasehq/stagehand": "^3.5.0",
|
|
"@electron-toolkit/preload": "^3.0.2",
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@huggingface/transformers": "^3.8.1",
|
|
"@js-preview/docx": "^1.6.4",
|
|
"@lancedb/lancedb": "0.22.3",
|
|
"@langchain/community": "^1.1.1",
|
|
"@langchain/core": "^1.1.44",
|
|
"@langchain/deepseek": "^1.0.25",
|
|
"@langchain/langgraph": "^1.1.5",
|
|
"@langchain/openai": "^1.4.5",
|
|
"@langchain/textsplitters": "^1.0.1",
|
|
"@napi-rs/canvas": "0.1.80",
|
|
"@node-rs/jieba": "^2.0.1",
|
|
"@react-pdf/renderer": "^4.1.0",
|
|
"@resvg/resvg-js": "2.6.2",
|
|
"@univerjs/core": "0.25.1",
|
|
"@univerjs/preset-sheets-core": "0.25.1",
|
|
"@xmldom/xmldom": "^0.8.11",
|
|
"antd": "5.22.1",
|
|
"apache-arrow": "^17.0.0",
|
|
"better-sqlite3": "^12.11.1",
|
|
"cheerio": "^1.2.0",
|
|
"dayjs": "^1.11.19",
|
|
"diff": "^9.0.0",
|
|
"docx": "^9.5.1",
|
|
"electron": "^39.2.7",
|
|
"electron-updater": "^6.3.9",
|
|
"exceljs": "^4.4.0",
|
|
"jsonrepair": "^3.15.0",
|
|
"jszip": "^3.10.1",
|
|
"katex": "^0.16.28",
|
|
"mammoth": "^1.11.0",
|
|
"mathjax-full": "^3.2.2",
|
|
"mdast-util-from-markdown": "^2.0.2",
|
|
"mdast-util-gfm-footnote": "^2.1.0",
|
|
"mdast-util-gfm-strikethrough": "^2.0.0",
|
|
"mdast-util-gfm-table": "^2.0.0",
|
|
"mdast-util-gfm-task-list-item": "^2.0.0",
|
|
"micromark-extension-gfm-footnote": "^2.1.0",
|
|
"micromark-extension-gfm-strikethrough": "^2.1.0",
|
|
"micromark-extension-gfm-table": "^2.1.1",
|
|
"micromark-extension-gfm-task-list-item": "^2.1.0",
|
|
"micromark-util-combine-extensions": "^2.0.1",
|
|
"node-pty": "1.2.0-beta.15",
|
|
"pdf-parse": "^1.1.1",
|
|
"pdfjs-dist": "5.4.296",
|
|
"playwright": "^1.58.2",
|
|
"pptx-kit": "0.11.1",
|
|
"pptx-kit-preview": "0.6.2",
|
|
"react-doc-viewer": "^0.1.15",
|
|
"react-icons": "^5.5.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-pdf": "^10.3.0",
|
|
"react-router-dom": "^7.12.0",
|
|
"react-syntax-highlighter": "^16.1.0",
|
|
"rehype-katex": "^7.0.1",
|
|
"remark-math": "^6.0.0",
|
|
"uuid": "^13.0.0",
|
|
"vditor": "^3.11.3",
|
|
"word-extractor": "^1.0.4",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@electron-toolkit/eslint-config-prettier": "^3.0.0",
|
|
"@electron-toolkit/eslint-config-ts": "^3.1.0",
|
|
"@electron-toolkit/tsconfig": "^2.0.0",
|
|
"@electron/asar": "3.4.1",
|
|
"@electron/rebuild": "3.7.0",
|
|
"@tailwindcss/vite": "^4.1.18",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/node": "^22.19.1",
|
|
"@types/react": "^19.2.7",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vercel/nft": "1.10.2",
|
|
"@vitejs/plugin-react": "^5.1.1",
|
|
"electron-builder": "^26.0.12",
|
|
"electron-vite": "^5.0.0",
|
|
"eslint": "^9.39.1",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"eslint-plugin-react-refresh": "^0.4.24",
|
|
"javascript-obfuscator": "5.5.0",
|
|
"jsdom": "^26.1.0",
|
|
"knip": "^6.33.0",
|
|
"less": "^4.5.1",
|
|
"prettier": "^3.7.4",
|
|
"react": "^19.2.1",
|
|
"react-dom": "^19.2.1",
|
|
"semver": "^7.7.3",
|
|
"tailwindcss": "^4.1.18",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^7.2.6",
|
|
"vitest": "^4.0.18",
|
|
"yaml": "2.8.2"
|
|
},
|
|
"packageManager": "pnpm@9.12.2+sha512.22721b3a11f81661ae1ec68ce1a7b879425a1ca5b991c975b074ac220b187ce56c708fe5db69f4c962c989452eee76c82877f4ee80f474cebd61ee13461b6228"
|
|
}
|