mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-03 12:27:41 +08:00
579 lines
23 KiB
JSON
579 lines
23 KiB
JSON
{
|
|
"name": "CherryStudio",
|
|
"version": "2.0.0-dev",
|
|
"private": true,
|
|
"description": "A powerful AI assistant for producer.",
|
|
"desktopName": "CherryStudio.desktop",
|
|
"main": "./out/main/index.js",
|
|
"author": "support@cherry-ai.com",
|
|
"homepage": "https://github.com/CherryHQ/cherry-studio",
|
|
"engines": {
|
|
"node": ">=24.11.1"
|
|
},
|
|
"scripts": {
|
|
"start": "electron-vite preview",
|
|
"generate:openapi": "tsx scripts/generate-openapi-spec.ts && biome format --write src/main/apiServer/generated/openapi-spec.json",
|
|
"openapi:check": "tsx scripts/generate-openapi-spec.ts --check",
|
|
"dev": "npm run generate:openapi && dotenv electron-vite dev",
|
|
"dev:watch": "dotenv electron-vite dev -- -w",
|
|
"debug": "electron-vite -- --inspect --sourcemap --remote-debugging-port=9222",
|
|
"build": "npm run generate:openapi && npm run typecheck && electron-vite build",
|
|
"build:check": "pnpm lint && pnpm openapi:check && pnpm docs:check-links && pnpm test",
|
|
"build:unpack": "dotenv npm run build && electron-builder --dir",
|
|
"build:win": "dotenv npm run build && electron-builder --win --x64 --arm64",
|
|
"build:win:x64": "dotenv npm run build && electron-builder --win --x64",
|
|
"build:win:arm64": "dotenv npm run build && electron-builder --win --arm64",
|
|
"build:mac": "dotenv npm run build && electron-builder --mac --arm64 --x64",
|
|
"build:mac:arm64": "dotenv npm run build && electron-builder --mac --arm64",
|
|
"build:mac:x64": "dotenv npm run build && electron-builder --mac --x64",
|
|
"build:linux": "dotenv npm run build && electron-builder --linux --x64 --arm64",
|
|
"build:linux:arm64": "dotenv npm run build && electron-builder --linux --arm64",
|
|
"build:linux:x64": "dotenv npm run build && electron-builder --linux --x64",
|
|
"release": "node scripts/version.js",
|
|
"publish": "pnpm build:check && pnpm release patch push",
|
|
"pulish:artifacts": "cd packages/artifacts && npm publish && cd -",
|
|
"analyze:renderer": "VISUALIZER_RENDERER=true pnpm build",
|
|
"analyze:main": "VISUALIZER_MAIN=true pnpm build",
|
|
"typecheck": "pnpm --filter @cherrystudio/ai-sdk-provider build && concurrently -n \"node,web,aicore\" -c \"cyan,magenta,yellow\" \"npm run typecheck:node\" \"npm run typecheck:web\" \"pnpm --filter @cherrystudio/ai-core typecheck\"",
|
|
"typecheck:node": "tsgo --noEmit -p tsconfig.node.json --composite false",
|
|
"typecheck:web": "tsgo --noEmit -p tsconfig.web.json --composite false",
|
|
"i18n:check": "dotenv -e .env -- tsx scripts/check-i18n.ts",
|
|
"i18n:hardcoded": "tsx scripts/check-hardcoded-strings.ts",
|
|
"i18n:hardcoded:strict": "I18N_STRICT=true tsx scripts/check-hardcoded-strings.ts",
|
|
"styles:legacy-vars": "tsx scripts/check-legacy-css-vars.ts",
|
|
"styles:legacy-vars:strict": "LEGACY_CSS_VARS_STRICT=true tsx scripts/check-legacy-css-vars.ts",
|
|
"styles:reminders:pr": "tsx scripts/check-pr-style-reminders.ts",
|
|
"styles:canonical": "tsx scripts/fix-tailwind-canonical-classes.ts",
|
|
"i18n:sync": "dotenv -e .env -- tsx scripts/sync-i18n.ts",
|
|
"i18n:translate": "dotenv -e .env -- tsx scripts/auto-translate-i18n.ts",
|
|
"i18n:all": "pnpm i18n:sync && pnpm i18n:translate",
|
|
"skills:sync": "tsx scripts/skills-sync.ts",
|
|
"skills:check": "tsx scripts/skills-check.ts",
|
|
"update:languages": "tsx scripts/update-languages.ts",
|
|
"update:upgrade-config": "tsx scripts/update-app-upgrade-config.ts",
|
|
"test": "vitest run --silent",
|
|
"test:main": "vitest run --project main",
|
|
"test:renderer": "vitest run --project renderer",
|
|
"test:aicore": "vitest run --project aiCore",
|
|
"test:pkg:ui": "vitest run --project ui",
|
|
"test:shared": "vitest run --project shared",
|
|
"test:vectorstores": "vitest run --project vectorstores",
|
|
"test:update": "pnpm test:renderer --update",
|
|
"test:coverage": "vitest run --coverage --silent",
|
|
"test:ui": "vitest --ui",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "pnpm playwright test",
|
|
"test:lint": "oxlint --deny-warnings && NO_LEGACY_CSS_WARN=true eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --cache",
|
|
"test:scripts": "vitest scripts",
|
|
"lint": "oxlint --fix && NO_LEGACY_CSS_WARN=true eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --cache && pnpm typecheck && pnpm i18n:check && pnpm format",
|
|
"format": "biome format --write && biome lint --write",
|
|
"format:check": "biome format && biome lint",
|
|
"bench": "vitest bench --run",
|
|
"bench:main": "vitest bench --run --project main",
|
|
"bench:renderer": "vitest bench --run --project renderer",
|
|
"bench:aicore": "vitest bench --run --project aiCore",
|
|
"bench:shared": "vitest bench --run --project shared",
|
|
"docs:check-links": "tsx scripts/check-doc-links.ts",
|
|
"prepare": "git config blame.ignoreRevsFile .git-blame-ignore-revs && prek install",
|
|
"claude": "dotenv -e .env -- claude",
|
|
"db:migrations:generate": "drizzle-kit generate --config ./migrations/sqlite-drizzle.config.ts",
|
|
"changeset": "changeset",
|
|
"changeset:status": "changeset status",
|
|
"changeset:version": "changeset version && pnpm format",
|
|
"changeset:publish": "changeset publish",
|
|
"packages:build": "pnpm --filter @cherrystudio/ai-sdk-provider build && pnpm --filter @cherrystudio/ai-core build && pnpm --filter @cherrystudio/extension-table-plus build && pnpm --filter @vectorstores/libsql build",
|
|
"packages:release": "pnpm packages:build && changeset publish",
|
|
"ci:basic-check": "pnpm test:lint && pnpm format:check && pnpm typecheck && pnpm i18n:check && pnpm i18n:hardcoded:strict && pnpm openapi:check && pnpm skills:check",
|
|
"ci:test-check": "pnpm test:main && pnpm test:renderer && pnpm test:aicore && pnpm test:shared && pnpm test:vectorstores && pnpm test:scripts",
|
|
"ci": "pnpm ci:basic-check && pnpm ci:test-check"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "0.2.112",
|
|
"@expo/sudo-prompt": "^9.3.2",
|
|
"@larksuiteoapi/node-sdk": "^1.59.0",
|
|
"@libsql/client": "^0.15.15",
|
|
"@napi-rs/canvas": "0.1.80",
|
|
"@napi-rs/system-ocr": "1.0.2",
|
|
"@paymoapp/electron-shutdown-handler": "1.1.2",
|
|
"@vectorstores/core": "^0.1.8",
|
|
"@vectorstores/libsql": "workspace:*",
|
|
"@vectorstores/readers": "^0.1.8",
|
|
"cron-parser": "^5.0.8",
|
|
"express": "5.1.0",
|
|
"font-list": "2.0.0",
|
|
"graceful-fs": "4.2.11",
|
|
"grammy": "^1.36.3",
|
|
"gray-matter": "4.0.3",
|
|
"jsdom": "26.1.0",
|
|
"node-stream-zip": "1.15.0",
|
|
"officeparser": "4.2.0",
|
|
"os-proxy-config": "1.1.2",
|
|
"pdf-parse": "^2.4.5",
|
|
"selection-hook": "2.0.1",
|
|
"sharp": "0.34.5",
|
|
"swagger-ui-express": "5.0.1",
|
|
"tesseract.js": "6.0.1",
|
|
"turndown": "7.2.0",
|
|
"ws": "^8.18.2",
|
|
"xxhash-wasm": "^1.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@agentic/exa": "^7.3.3",
|
|
"@agentic/searxng": "^7.3.3",
|
|
"@agentic/tavily": "^7.3.3",
|
|
"@ai-sdk/amazon-bedrock": "^4.0.96",
|
|
"@ai-sdk/anthropic": "^3.0.71",
|
|
"@ai-sdk/azure": "^3.0.54",
|
|
"@ai-sdk/cerebras": "^2.0.45",
|
|
"@ai-sdk/cohere": "^3.0.30",
|
|
"@ai-sdk/gateway": "^3.0.104",
|
|
"@ai-sdk/google": "^3.0.64",
|
|
"@ai-sdk/google-vertex": "^4.0.112",
|
|
"@ai-sdk/groq": "^3.0.35",
|
|
"@ai-sdk/huggingface": "^1.0.43",
|
|
"@ai-sdk/mistral": "^3.0.30",
|
|
"@ai-sdk/openai": "^3.0.53",
|
|
"@ai-sdk/openai-compatible": "^2.0.37",
|
|
"@ai-sdk/perplexity": "^3.0.29",
|
|
"@ai-sdk/provider": "^3.0.8",
|
|
"@ai-sdk/provider-utils": "^4.0.23",
|
|
"@ai-sdk/test-server": "^1.0.3",
|
|
"@ai-sdk/togetherai": "^2.0.45",
|
|
"@ai-sdk/xai": "^3.0.83",
|
|
"@ant-design/cssinjs": "1.23.0",
|
|
"@ant-design/icons": "5.6.1",
|
|
"@ant-design/v5-patch-for-react-19": "^1.0.3",
|
|
"@anthropic-ai/sdk": "^0.41.0",
|
|
"@aws-sdk/client-s3": "^3.998.0",
|
|
"@biomejs/biome": "2.2.4",
|
|
"@changesets/changelog-github": "^0.5.2",
|
|
"@changesets/cli": "^2.29.8",
|
|
"@cherrystudio/ai-core": "workspace:*",
|
|
"@cherrystudio/analytics-client": "^1.3.0",
|
|
"@cherrystudio/embedjs": "0.1.31",
|
|
"@cherrystudio/embedjs-interfaces": "0.1.31",
|
|
"@cherrystudio/embedjs-libsql": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-csv": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-image": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-markdown": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-msoffice": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-pdf": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-sitemap": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-web": "0.1.31",
|
|
"@cherrystudio/embedjs-loader-xml": "0.1.31",
|
|
"@cherrystudio/embedjs-ollama": "0.1.35",
|
|
"@cherrystudio/embedjs-openai": "0.1.31",
|
|
"@cherrystudio/embedjs-utils": "0.1.31",
|
|
"@cherrystudio/extension-table-plus": "workspace:^",
|
|
"@cherrystudio/openai": "6.15.0",
|
|
"@cherrystudio/provider-registry": "workspace:*",
|
|
"@cherrystudio/ui": "workspace:*",
|
|
"@codemirror/lang-json": "6.0.2",
|
|
"@codemirror/lint": "6.9.5",
|
|
"@codemirror/view": "6.39.16",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@e965/xlsx": "^0.20.3",
|
|
"@electron-toolkit/eslint-config-ts": "^3.0.0",
|
|
"@electron-toolkit/preload": "^3.0.0",
|
|
"@electron-toolkit/tsconfig": "^1.0.1",
|
|
"@electron-toolkit/utils": "^3.0.0",
|
|
"@electron/notarize": "^2.5.0",
|
|
"@emotion/is-prop-valid": "^1.3.1",
|
|
"@eslint-react/eslint-plugin": "^1.36.1",
|
|
"@eslint/js": "^9.22.0",
|
|
"@floating-ui/dom": "1.7.3",
|
|
"@google/genai": "^1.46.0",
|
|
"@hello-pangea/dnd": "^18.0.1",
|
|
"@hookform/resolvers": "^5.0.1",
|
|
"@iconify-json/material-icon-theme": "^1.2.56",
|
|
"@iconify/react": "^6.0.2",
|
|
"@j178/prek": "^0.3.4",
|
|
"@langchain/community": "^1.0.0",
|
|
"@langchain/core": "1.0.2",
|
|
"@langchain/openai": "1.0.0",
|
|
"@langchain/textsplitters": "0.1.0",
|
|
"@mistralai/mistralai": "^1.7.5",
|
|
"@modelcontextprotocol/sdk": "1.27.1",
|
|
"@mozilla/readability": "^0.6.0",
|
|
"@notionhq/client": "^2.2.15",
|
|
"@openrouter/ai-sdk-provider": "^2.3.3",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/context-async-hooks": "2.0.1",
|
|
"@opentelemetry/core": "2.0.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.200.0",
|
|
"@opentelemetry/sdk-trace-base": "^2.0.0",
|
|
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
"@opentelemetry/sdk-trace-web": "^2.0.0",
|
|
"@opeoginni/github-copilot-openai-compatible": "^1.0.0",
|
|
"@pierre/diffs": "^1.1.3",
|
|
"@playwright/test": "^1.55.1",
|
|
"@radix-ui/react-context-menu": "^2.2.16",
|
|
"@radix-ui/react-switch": "^1.2.6",
|
|
"@reduxjs/toolkit": "^2.2.5",
|
|
"@shikijs/markdown-it": "^3.12.0",
|
|
"@swc/core": "^1.15.8",
|
|
"@swc/plugin-styled-components": "^8.0.4",
|
|
"@tailwindcss/vite": "^4.1.13",
|
|
"@tanstack/react-query": "^5.85.5",
|
|
"@tanstack/react-router": "^1.139.3",
|
|
"@tanstack/react-virtual": "^3.13.12",
|
|
"@tanstack/router-plugin": "^1.139.3",
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@tiptap/core": "3.2.0",
|
|
"@tiptap/extension-code-block": "3.2.0",
|
|
"@tiptap/extension-collaboration": "3.2.0",
|
|
"@tiptap/extension-drag-handle": "3.2.0",
|
|
"@tiptap/extension-drag-handle-react": "3.2.0",
|
|
"@tiptap/extension-heading": "3.2.0",
|
|
"@tiptap/extension-image": "3.2.0",
|
|
"@tiptap/extension-link": "3.2.0",
|
|
"@tiptap/extension-list": "3.2.0",
|
|
"@tiptap/extension-mathematics": "3.2.0",
|
|
"@tiptap/extension-mention": "3.2.0",
|
|
"@tiptap/extension-node-range": "3.2.0",
|
|
"@tiptap/extension-table-of-contents": "3.2.0",
|
|
"@tiptap/extension-typography": "3.2.0",
|
|
"@tiptap/extension-underline": "3.2.0",
|
|
"@tiptap/pm": "3.2.0",
|
|
"@tiptap/react": "3.2.0",
|
|
"@tiptap/starter-kit": "3.2.0",
|
|
"@tiptap/suggestion": "3.2.0",
|
|
"@tiptap/y-tiptap": "^3.0.0",
|
|
"@truto/turndown-plugin-gfm": "^1.0.2",
|
|
"@tryfabric/martian": "^1.2.4",
|
|
"@types/adm-zip": "^0.5.7",
|
|
"@types/cli-progress": "^3",
|
|
"@types/content-type": "^1.1.9",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/diff": "^7",
|
|
"@types/express": "^5",
|
|
"@types/fs-extra": "^11",
|
|
"@types/hast": "^3.0.4",
|
|
"@types/he": "^1",
|
|
"@types/html-to-text": "^9",
|
|
"@types/json-schema": "7.0.15",
|
|
"@types/lodash": "^4.17.5",
|
|
"@types/markdown-it": "^14",
|
|
"@types/md5": "^2.3.5",
|
|
"@types/mdast": "4.0.4",
|
|
"@types/mime-types": "^3",
|
|
"@types/node": "24.10.4",
|
|
"@types/pako": "^1.0.2",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19.2.7",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/react-transition-group": "^4.4.12",
|
|
"@types/react-window": "^1",
|
|
"@types/semver": "^7.7.1",
|
|
"@types/stream-json": "^1",
|
|
"@types/swagger-jsdoc": "^6",
|
|
"@types/swagger-ui-express": "^4.1.8",
|
|
"@types/tinycolor2": "^1",
|
|
"@types/turndown": "^5.0.5",
|
|
"@types/unist": "3.0.3",
|
|
"@types/uuid": "^10.0.0",
|
|
"@types/word-extractor": "^1",
|
|
"@types/ws": "^8.18.1",
|
|
"@typescript/native-preview": "7.0.0-dev.20260204.1",
|
|
"@uiw/codemirror-extensions-langs": "4.25.7",
|
|
"@uiw/codemirror-themes-all": "4.25.7",
|
|
"@uiw/react-codemirror": "4.25.7",
|
|
"@vitejs/plugin-react-swc": "^3.9.0",
|
|
"@vitest/browser": "^3.2.4",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"@vitest/ui": "^3.2.4",
|
|
"@vitest/web-worker": "^3.2.4",
|
|
"@viz-js/lang-dot": "^1.0.5",
|
|
"@viz-js/viz": "^3.14.0",
|
|
"@xyflow/react": "^12.4.4",
|
|
"adm-zip": "0.4.16",
|
|
"ai": "^6.0.143",
|
|
"ansi-to-react": "^6.2.6",
|
|
"antd": "5.27.0",
|
|
"archiver": "^7.0.1",
|
|
"async-mutex": "^0.5.0",
|
|
"axios": "^1.15.0",
|
|
"bonjour-service": "1.3.0",
|
|
"browser-image-compression": "^2.0.2",
|
|
"builder-util-runtime": "9.5.0",
|
|
"chalk": "4.1.2",
|
|
"chardet": "^2.1.0",
|
|
"check-disk-space": "3.4.0",
|
|
"cheerio": "^1.1.2",
|
|
"chokidar": "^4.0.3",
|
|
"cli-progress": "^3.12.0",
|
|
"clsx": "^2.1.1",
|
|
"code-inspector-plugin": "^0.20.14",
|
|
"codemirror-lang-mermaid": "0.5.0",
|
|
"color": "^5.0.0",
|
|
"commander": "^14.0.2",
|
|
"concurrently": "^9.2.1",
|
|
"cors": "2.8.5",
|
|
"croner": "^10.0.1",
|
|
"country-flag-emoji-polyfill": "0.1.8",
|
|
"dayjs": "^1.11.11",
|
|
"dexie": "^4.0.8",
|
|
"dexie-react-hooks": "^1.1.7",
|
|
"diff": "^8.0.3",
|
|
"docx": "^9.0.2",
|
|
"dompurify": "^3.2.6",
|
|
"dotenv": "16.6.1",
|
|
"dotenv-cli": "^7.4.2",
|
|
"drizzle-kit": "^0.31.4",
|
|
"drizzle-orm": "^0.44.5",
|
|
"electron": "41.2.1",
|
|
"electron-builder": "26.8.1",
|
|
"electron-devtools-installer": "^3.2.0",
|
|
"electron-reload": "^2.0.0-alpha.1",
|
|
"electron-store": "^8.2.0",
|
|
"electron-updater": "6.7.0",
|
|
"electron-vite": "5.0.0",
|
|
"electron-window-state": "^5.0.3",
|
|
"emittery": "^1.0.3",
|
|
"emoji-picker-element": "^1.22.1",
|
|
"emoji-picker-element-data": "1",
|
|
"epub": "2.1.1",
|
|
"eslint": "^9.22.0",
|
|
"eslint-plugin-import-zod": "^1.2.0",
|
|
"eslint-plugin-oxlint": "^1.15.0",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
"express-validator": "^7.2.1",
|
|
"fast-diff": "^1.3.0",
|
|
"fast-xml-parser": "5.4.1",
|
|
"fetch-socks": "1.3.2",
|
|
"form-data": "4.0.5",
|
|
"fractional-indexing": "^3.2.0",
|
|
"framer-motion": "^12.23.12",
|
|
"franc-min": "^6.2.0",
|
|
"fs-extra": "^11.2.0",
|
|
"google-auth-library": "^9.15.1",
|
|
"he": "^1.2.0",
|
|
"html-tags": "^5.1.0",
|
|
"html-to-image": "^1.11.13",
|
|
"html-to-text": "^9.0.5",
|
|
"htmlparser2": "^10.0.0",
|
|
"i18next": "^23.11.5",
|
|
"iconv-lite": "^0.6.3",
|
|
"ipaddr.js": "^2.2.0",
|
|
"isbinaryfile": "5.0.4",
|
|
"jaison": "^2.0.2",
|
|
"jest-styled-components": "^7.2.0",
|
|
"js-base64": "3.7.7",
|
|
"json-schema": "0.4.0",
|
|
"jsonc-parser": "^3.3.1",
|
|
"katex": "0.16.22",
|
|
"ky": "1.8.1",
|
|
"linguist-languages": "^8.1.0",
|
|
"lodash": "^4.18.1",
|
|
"lru-cache": "^11.1.0",
|
|
"lucide-react": "^0.525.0",
|
|
"macos-release": "^3.4.0",
|
|
"markdown-it": "^14.1.1",
|
|
"md5": "2.3.0",
|
|
"mermaid": "^11.13.0",
|
|
"mime": "^4.0.4",
|
|
"mime-types": "^3.0.1",
|
|
"motion": "^12.10.5",
|
|
"nanoid": "3.3.11",
|
|
"notion-helper": "^1.3.22",
|
|
"npx-scope-finder": "^1.2.0",
|
|
"ollama-ai-provider-v2": "3.3.1",
|
|
"open": "^8.4.2",
|
|
"oxlint": "^1.56.0",
|
|
"oxlint-tsgolint": "^0.17.3",
|
|
"p-queue": "^8.1.0",
|
|
"pako": "1.0.11",
|
|
"partial-json": "0.1.7",
|
|
"pdf-lib": "^1.17.1",
|
|
"prosemirror-model": "1.25.2",
|
|
"proxy-agent": "^6.5.0",
|
|
"qrcode": "^1.5.4",
|
|
"qrcode.react": "^4.2.0",
|
|
"rc-input": "1.8.0",
|
|
"rc-select": "14.16.6",
|
|
"rc-virtual-list": "3.18.6",
|
|
"react": "^19.2.0",
|
|
"react-dom": "^19.2.0",
|
|
"react-error-boundary": "^6.0.0",
|
|
"react-hook-form": "^7.55.0",
|
|
"react-hotkeys-hook": "^4.6.1",
|
|
"react-i18next": "^14.1.2",
|
|
"react-infinite-scroll-component": "^6.1.0",
|
|
"react-json-view": "^1.21.3",
|
|
"react-markdown": "^10.1.0",
|
|
"react-player": "^3.3.1",
|
|
"react-redux": "^9.1.2",
|
|
"react-spinners": "^0.14.1",
|
|
"react-transition-group": "^4.4.5",
|
|
"redux": "^5.0.1",
|
|
"redux-persist": "^6.0.0",
|
|
"reflect-metadata": "0.2.2",
|
|
"rehype-katex": "^7.0.1",
|
|
"rehype-mathjax": "^7.1.0",
|
|
"rehype-parse": "^9.0.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-stringify": "^10.0.1",
|
|
"remark-cjk-friendly": "^1.2.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-github-blockquote-alert": "^2.0.0",
|
|
"remark-math": "^6.0.0",
|
|
"remark-parse": "11.0.0",
|
|
"remark-stringify": "11.0.0",
|
|
"remove-markdown": "^0.6.2",
|
|
"rollup-plugin-visualizer": "^5.12.0",
|
|
"semver": "7.7.1",
|
|
"shiki": "^3.12.0",
|
|
"stream-json": "^1.9.1",
|
|
"strict-url-sanitise": "^0.0.1",
|
|
"string-width": "^7.2.0",
|
|
"striptags": "^3.2.0",
|
|
"styled-components": "^6.1.11",
|
|
"swagger-jsdoc": "6.2.8",
|
|
"swr": "^2.3.6",
|
|
"tailwind-merge": "^3.3.1",
|
|
"tailwindcss": "^4.1.13",
|
|
"tar": "^7.5.9",
|
|
"telegram-markdown-v2": "^0.0.4",
|
|
"tiny-pinyin": "^1.3.2",
|
|
"tokenx": "^1.1.0",
|
|
"ts-morph": "^27.0.2",
|
|
"tsx": "^4.20.3",
|
|
"turndown-plugin-gfm": "^1.0.2",
|
|
"tw-animate-css": "^1.3.8",
|
|
"typescript": "~5.8.3",
|
|
"undici": "6.21.2",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit": "5.0.0",
|
|
"uuid": "^13.0.0",
|
|
"vite": "npm:rolldown-vite@7.3.0",
|
|
"vitest": "^3.2.4",
|
|
"voyage-ai-provider": "^3.0.0",
|
|
"webdav": "^5.9.0",
|
|
"winston": "^3.17.0",
|
|
"winston-daily-rotate-file": "^5.0.0",
|
|
"word-extractor": "^1.0.4",
|
|
"y-protocols": "^1.0.6",
|
|
"yaml": "^2.8.1",
|
|
"yjs": "^13.6.27",
|
|
"youtubei.js": "^15.0.1",
|
|
"zipread": "^1.3.3",
|
|
"zod": "^4.1.5"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"basic-ftp": ">=5.2.0",
|
|
"fast-xml-parser": ">=5.3.6",
|
|
"minimatch@<3.1.3": "3.1.5",
|
|
"minimatch@>=5.0.0 <5.1.7": "5.1.7",
|
|
"minimatch@>=9.0.0 <9.0.6": "9.0.6",
|
|
"minimatch@>=10.0.0 <10.2.1": "10.2.1",
|
|
"@smithy/types": "4.7.1",
|
|
"@codemirror/state": "6.5.4",
|
|
"@codemirror/view": "6.39.16",
|
|
"@codemirror/language": "6.12.2",
|
|
"@codemirror/lint": "6.9.5",
|
|
"@lezer/common": "1.5.1",
|
|
"esbuild": "^0.25.0",
|
|
"node-abi": "4.28.0",
|
|
"openai": "npm:@cherrystudio/openai@6.15.0",
|
|
"tar-fs": "^2.1.4",
|
|
"undici": "6.23.0",
|
|
"vite": "npm:rolldown-vite@7.3.0",
|
|
"@img/sharp-darwin-arm64": "0.34.5",
|
|
"@img/sharp-darwin-x64": "0.34.5",
|
|
"@img/sharp-linux-arm": "0.34.5",
|
|
"@img/sharp-linux-arm64": "0.34.5",
|
|
"@img/sharp-linux-x64": "0.34.5",
|
|
"@img/sharp-win32-x64": "0.34.5",
|
|
"@langchain/core": "1.0.2",
|
|
"@napi-rs/canvas": "0.1.97",
|
|
"@ai-sdk/provider-utils": "4.0.23"
|
|
},
|
|
"patchedDependencies": {
|
|
"@napi-rs/system-ocr@1.0.2": "patches/@napi-rs-system-ocr-npm-1.0.2-59e7a78e8b.patch",
|
|
"tesseract.js@6.0.1": "patches/tesseract.js-npm-6.0.1-2562a7e46d.patch",
|
|
"@langchain/core@1.0.2": "patches/@langchain-core-npm-1.0.2-183ef83fe4.patch",
|
|
"@langchain/openai@1.0.0": "patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
|
|
"@tiptap/extension-drag-handle@3.2.0": "patches/@tiptap-extension-drag-handle-npm-3.2.0-5a9ebff7c9.patch",
|
|
"antd@5.27.0": "patches/antd-npm-5.27.0-aa91c36546.patch",
|
|
"electron-updater@6.7.0": "patches/electron-updater-npm-6.7.0-47b11bb0d4.patch",
|
|
"atomically@1.7.0": "patches/atomically-npm-1.7.0-e742e5293b.patch",
|
|
"file-stream-rotator@0.6.1": "patches/file-stream-rotator-npm-0.6.1-eab45fb13d.patch",
|
|
"libsql@0.4.7": "patches/libsql-npm-0.4.7-444e260fb1.patch",
|
|
"pdf-parse@1.1.1": "patches/pdf-parse-npm-1.1.1-04a6109b2a.patch",
|
|
"ollama-ai-provider-v2@3.3.1": "patches/ollama-ai-provider-v2@3.3.1.patch",
|
|
"@openrouter/ai-sdk-provider": "patches/@openrouter__ai-sdk-provider.patch",
|
|
"@opeoginni/github-copilot-openai-compatible@1.0.0": "patches/@opeoginni__github-copilot-openai-compatible@1.0.0.patch",
|
|
"@ai-sdk/openai-compatible@2.0.37": "patches/@ai-sdk__openai-compatible@2.0.37.patch",
|
|
"@ai-sdk/openai@3.0.53": "patches/@ai-sdk__openai@3.0.53.patch",
|
|
"@ai-sdk/google@3.0.64": "patches/@ai-sdk__google@3.0.64.patch",
|
|
"@libsql/client@0.15.15": "patches/@libsql__client@0.15.15.patch",
|
|
"@ai-sdk/anthropic": "patches/@ai-sdk__anthropic.patch",
|
|
"@ai-sdk/deepseek@2.0.30": "patches/@ai-sdk__deepseek@2.0.30.patch",
|
|
"@cherrystudio/embedjs-loader-web@0.1.31": "patches/@cherrystudio__embedjs-loader-web@0.1.31.patch"
|
|
},
|
|
"onlyBuiltDependencies": [
|
|
"@j178/prek",
|
|
"@kangfenmao/keyv-storage",
|
|
"@paymoapp/electron-shutdown-handler",
|
|
"@scarf/scarf",
|
|
"@swc/core",
|
|
"electron",
|
|
"electron-winstaller",
|
|
"esbuild",
|
|
"msw",
|
|
"protobufjs",
|
|
"registry-js",
|
|
"selection-hook",
|
|
"sharp",
|
|
"tesseract.js",
|
|
"zipfile"
|
|
]
|
|
},
|
|
"packageManager": "pnpm@10.27.0",
|
|
"optionalDependencies": {
|
|
"@img/sharp-darwin-arm64": "0.34.5",
|
|
"@img/sharp-darwin-x64": "0.34.5",
|
|
"@img/sharp-libvips-darwin-arm64": "1.2.4",
|
|
"@img/sharp-libvips-darwin-x64": "1.2.4",
|
|
"@img/sharp-libvips-linux-arm64": "1.2.4",
|
|
"@img/sharp-libvips-linux-x64": "1.2.4",
|
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
|
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.4",
|
|
"@img/sharp-linux-arm64": "0.34.5",
|
|
"@img/sharp-linux-x64": "0.34.5",
|
|
"@img/sharp-linuxmusl-arm64": "0.34.5",
|
|
"@img/sharp-linuxmusl-x64": "0.34.5",
|
|
"@img/sharp-win32-arm64": "0.34.5",
|
|
"@img/sharp-win32-x64": "0.34.5",
|
|
"@libsql/darwin-arm64": "0.4.7",
|
|
"@libsql/darwin-x64": "0.4.7",
|
|
"@libsql/linux-arm64-gnu": "0.4.7",
|
|
"@libsql/linux-arm64-musl": "0.4.7",
|
|
"@libsql/linux-x64-gnu": "0.4.7",
|
|
"@libsql/linux-x64-musl": "0.4.7",
|
|
"@libsql/win32-x64-msvc": "0.4.7",
|
|
"@napi-rs/canvas-darwin-arm64": "0.1.97",
|
|
"@napi-rs/canvas-darwin-x64": "0.1.97",
|
|
"@napi-rs/canvas-linux-arm64-gnu": "0.1.97",
|
|
"@napi-rs/canvas-linux-arm64-musl": "0.1.97",
|
|
"@napi-rs/canvas-linux-x64-gnu": "0.1.97",
|
|
"@napi-rs/canvas-linux-x64-musl": "0.1.97",
|
|
"@napi-rs/canvas-win32-arm64-msvc": "0.1.97",
|
|
"@napi-rs/canvas-win32-x64-msvc": "0.1.97",
|
|
"@napi-rs/system-ocr-darwin-arm64": "1.0.2",
|
|
"@napi-rs/system-ocr-darwin-x64": "1.0.2",
|
|
"@napi-rs/system-ocr-win32-arm64-msvc": "1.0.2",
|
|
"@napi-rs/system-ocr-win32-x64-msvc": "1.0.2",
|
|
"@strongtz/win32-arm64-msvc": "0.4.7"
|
|
}
|
|
}
|