Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "CherryStudio",
  "version": "2.2.0",
  "private": true,
  "description": "A powerful AI assistant for producer.",
  "homepage": "https://github.com/CherryHQ/cherry-studio",
  "author": "support@cherry-ai.com",
  "main": "./out/main/main.js",
  "scripts": {
    "agent-notes:check-transition": "tsx scripts/docsGovernance/verify-agent-note-transitions.ts",
    "analyze:main": "VISUALIZER_MAIN=true pnpm build",
    "analyze:renderer": "VISUALIZER_RENDERER=true pnpm build",
    "bench": "vitest bench --run",
    "bench:aicore": "vitest bench --run --project \"aiCore (bench)\"",
    "bench:main": "vitest bench --run --project \"main (bench)\"",
    "bench:renderer": "vitest bench --run --project \"renderer (bench)\"",
    "bench:shared": "vitest bench --run --project \"shared (bench)\"",
    "build": "pnpm run typecheck && dotenv -v CHERRY_EDITION=global -- electron-vite build && pnpm run build:utility-process",
    "build:builtin-knowledge": "tsx scripts/generate-cherry-assistant-knowledge",
    "build:builtin-knowledge:check": "tsx scripts/generate-cherry-assistant-knowledge --check",
    "build:check": "pnpm check:all",
    "build:cn": "pnpm run typecheck && dotenv -v CHERRY_EDITION=cn -- electron-vite build && pnpm run build:utility-process",
    "build:linux": "dotenv pnpm run build && electron-builder --linux --x64 --arm64",
    "build:linux:arm64": "dotenv pnpm run build && electron-builder --linux --arm64",
    "build:linux:arm64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --linux --arm64",
    "build:linux:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --linux --x64 --arm64",
    "build:linux:x64": "dotenv pnpm run build && electron-builder --linux --x64",
    "build:linux:x64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --linux --x64",
    "build:mac": "dotenv pnpm run build && electron-builder --mac --arm64 --x64",
    "build:mac:arm64": "dotenv pnpm run build && electron-builder --mac --arm64",
    "build:mac:arm64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --mac --arm64",
    "build:mac:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --mac --arm64 --x64",
    "build:mac:x64": "dotenv pnpm run build && electron-builder --mac --x64",
    "build:mac:x64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --mac --x64",
    "build:unpack": "dotenv pnpm run build && electron-builder --dir",
    "build:unpack:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --dir",
    "build:utility-process": "electron-vite build --config electron.vite.entries.config.ts",
    "build:win": "dotenv pnpm run build && electron-builder --win --x64 --arm64",
    "build:win:arm64": "dotenv pnpm run build && electron-builder --win --arm64",
    "build:win:arm64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --win --arm64",
    "build:win:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --win --x64 --arm64",
    "build:win:x64": "dotenv pnpm run build && electron-builder --win --x64",
    "build:win:x64:cn": "pnpm run build:cn && electron-builder --config electron-builder.cn.config.cjs --win --x64",
    "change:scope": "node scripts/docsGovernance/change-scope.mjs",
    "changeset": "changeset",
    "changeset:check": "node scripts/release/check-changesets.mjs",
    "changeset:publish": "changeset publish",
    "changeset:status": "changeset status",
    "changeset:version": "changeset version && pnpm format",
    "check": "node scripts/validation/run.mjs",
    "check:all": "pnpm check --all",
    "ci": "pnpm check:all",
    "ci:basic-check": "pnpm check --all --group checks",
    "ci:test-check": "pnpm test",
    "claude": "dotenv -e .env -- claude",
    "data:generate": "node scripts/data-classify/scripts/generate-all.js",
    "db:migrations:check": "drizzle-kit check --config ./migrations/sqlite-drizzle.config.ts",
    "db:migrations:generate": "drizzle-kit generate --config ./migrations/sqlite-drizzle.config.ts",
    "debug": "pnpm prepare:system-speech && pnpm rebuild:electron && pnpm download:binaries && pnpm run build:utility-process && dotenv -- electron-vite -- --inspect --sourcemap --remote-debugging-port=9222",
    "dev": "pnpm prepare:system-speech && pnpm rebuild:electron && pnpm download:binaries && pnpm run build:utility-process && dotenv electron-vite dev",
    "dev:cn": "dotenv -v CHERRY_EDITION=cn -- pnpm dev",
    "dev:watch": "pnpm prepare:system-speech && pnpm rebuild:electron && pnpm download:binaries && pnpm run build:utility-process && dotenv electron-vite dev -- -w",
    "docs:affected": "node scripts/docsGovernance/find-affected-docs.mjs",
    "docs:check": "pnpm docs:check-links && pnpm docs:check-structure && pnpm docs:check-frontmatter && pnpm docs:check-notes && pnpm docs:check-pairing && pnpm docs:check-terminology && pnpm docs:check-index",
    "docs:check-frontmatter": "tsx scripts/docsGovernance/verify-doc-frontmatter.ts",
    "docs:check-index": "tsx scripts/docsGovernance/gen-doc-index.ts --check",
    "docs:check-links": "tsx scripts/docsGovernance/check-doc-links.ts",
    "docs:check-notes": "tsx scripts/docsGovernance/verify-agent-note-format.ts",
    "docs:check-pairing": "tsx scripts/docsGovernance/verify-translation-pairing.ts",
    "docs:check-structure": "tsx scripts/docsGovernance/verify-doc-structure.ts",
    "docs:check-terminology": "tsx scripts/docsGovernance/gen-doc-terminology.ts --check",
    "docs:index": "tsx scripts/docsGovernance/gen-doc-index.ts",
    "docs:terminology": "tsx scripts/docsGovernance/gen-doc-terminology.ts",
    "download:binaries": "node scripts/download-binaries.js",
    "format": "oxfmt --write .",
    "format:check": "oxfmt --check .",
    "gen:system-provider-ids": "tsx scripts/generate-system-provider-ids.ts",
    "i18n:check": "dotenv -e .env -- tsx scripts/i18n-check.ts",
    "i18n:extract": "i18next-cli extract",
    "i18n:hardcoded": "tsx scripts/i18n-check-hardcoded-strings.ts",
    "i18n:hardcoded:strict": "cross-env I18N_STRICT=true tsx scripts/i18n-check-hardcoded-strings.ts",
    "i18n:lint": "i18next-cli lint",
    "i18n:remove-unused": "tsx scripts/i18n-check-unused.ts --clean",
    "i18n:sync": "dotenv -e .env -- tsx scripts/i18n-sync.ts",
    "i18n:unused": "tsx scripts/i18n-check-unused.ts",
    "i18n:unused:check": "tsx scripts/i18n-check-unused.ts --fail-on-unused",
    "lint": "oxlint --deny-warnings && eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --cache",
    "lint:fix": "oxlint --fix && eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --cache",
    "packages:build": "pnpm --filter @cherrystudio/provider-registry build && pnpm --filter @cherrystudio/ai-sdk-provider build && pnpm --filter @cherrystudio/ai-core build && pnpm --filter @cherrystudio/extension-table-plus build && pnpm --filter @cherrystudio/remote-protocol build && pnpm --filter @cherrystudio/remote-transport build && pnpm --filter @cherrystudio/file-preview build && pnpm --filter @cherrystudio/system-speech build && pnpm --filter @cherrystudio/web-search build",
    "packages:release": "pnpm packages:build && changeset publish",
    "postinstall": "pnpm --filter @cherrystudio/agent-runtime build && pnpm --filter @cherrystudio/agent-runtime-acp build && pnpm --filter @cherrystudio/agent-behavior build && pnpm --filter @cherrystudio/agent-runtime-pi build && pnpm --filter @cherrystudio/agent-runtime-pi-durable build && pnpm --filter @cherrystudio/agent-runtime-claude-code build && pnpm --filter @cherrystudio/remote-protocol build && pnpm --filter @cherrystudio/remote-transport build && pnpm --filter @cherrystudio/system-speech build",
    "prepare": "git config blame.ignoreRevsFile .git-blame-ignore-revs && node -e \"process.env.CI||require('child_process').execSync('prek install',{stdio:'inherit'})\"",
    "prepare:system-speech": "pnpm --filter @cherrystudio/system-speech prepare:native",
    "pretest": "pnpm rebuild:node",
    "pretest:main": "pnpm rebuild:node",
    "rebuild:electron": "install-electron && electron-rebuild --force --only better-sqlite3",
    "rebuild:node": "node scripts/invalidate-electron-rebuild-metadata.js && pnpm rebuild better-sqlite3",
    "skills:check": "tsx scripts/skills-check.ts",
    "skills:sync": "tsx scripts/skills-sync.ts",
    "smoke:utility-process": "tsx scripts/utility-process-smoke/run.ts",
    "start": "pnpm prepare:system-speech && pnpm rebuild:electron && electron-vite preview",
    "start:cn": "dotenv -v CHERRY_EDITION=cn -- pnpm start",
    "styles:canonical": "tsx scripts/fix-tailwind-canonical-classes.ts",
    "test": "vitest run --silent",
    "test:agent-behavior": "vitest run --project agent-behavior",
    "test:agent-runtime": "vitest run --project agent-runtime",
    "test:agent-runtime-acp": "vitest run --project agent-runtime-acp",
    "test:agent-runtime-claude-code": "vitest run --project agent-runtime-claude-code",
    "test:agent-runtime-pi": "vitest run --project agent-runtime-pi",
    "test:agent-runtime-pi-durable": "vitest run --project agent-runtime-pi-durable",
    "test:ai-sdk-provider": "vitest run --project ai-sdk-provider",
    "test:aicore": "vitest run --project aiCore",
    "test:coverage": "vitest run --coverage --silent",
    "test:e2e": "pnpm playwright test",
    "test:e2e:regression": "pnpm playwright test --config playwright.regression.config.ts",
    "test:lint": "pnpm lint",
    "test:main": "vitest run --project main",
    "test:pkg:file-preview": "vitest run --project file-preview",
    "test:pkg:ui": "vitest run --project ui",
    "test:preload": "vitest run --project preload",
    "test:provider-registry": "vitest run --project provider-registry",
    "test:remote-protocol": "vitest run --project remote-protocol",
    "test:remote-transport": "vitest run --project remote-transport",
    "test:renderer": "vitest run --project renderer",
    "test:scripts": "vitest run --project scripts",
    "test:shared": "vitest run --project shared",
    "test:system-speech": "vitest run --project system-speech",
    "test:ui": "vitest --ui",
    "test:update": "pnpm test:renderer --update",
    "test:watch": "vitest",
    "test:web-search": "vitest run --project web-search",
    "typecheck": "pnpm check --all --group types",
    "typecheck:e2e": "tsc --noEmit -p tsconfig.e2e.json",
    "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
    "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
    "ui:contract:query": "tsx scripts/uiContract/query.ts",
    "update:languages": "tsx scripts/update-languages.ts",
    "website-docs:build": "node scripts/websiteDocs/render.mjs build",
    "website-docs:check": "node scripts/websiteDocs/render.mjs check",
    "website-docs:dev": "node scripts/websiteDocs/render.mjs dev",
    "website-docs:sync": "node scripts/websiteDocs/sync.mjs"
  },
  "dependencies": {
    "@anthropic-ai/claude-agent-sdk": "0.3.311",
    "@cherrystudio/agent-behavior": "workspace:*",
    "@cherrystudio/agent-runtime-claude-code": "workspace:*",
    "@cherrystudio/agent-runtime-pi": "workspace:*",
    "@cherrystudio/agent-runtime-pi-durable": "workspace:*",
    "@cherrystudio/mlx-asr": "github:CherryHQ/mlx-node#ad3bf3ec3a141ec06fb8f73933685b1420ed09ac&path:distribution/asr",
    "@cherrystudio/mlx-tts": "github:CherryHQ/mlx-node#f4c21043f557965345b527bc04179ad26d08378f&path:distribution/tts",
    "@earendil-works/chord": "1.5.0",
    "@earendil-works/pi-ai": "1.5.0",
    "@earendil-works/pi-codemode": "1.5.0",
    "@earendil-works/pi-coding-agent": "1.5.0",
    "@earendil-works/pi-durable": "1.5.0",
    "@firecrawl/anydoc": "0.2.4",
    "@huggingface/transformers": "4.2.0",
    "@modelcontextprotocol/sdk": "1.32.0",
    "@napi-rs/canvas": "0.1.80",
    "@napi-rs/system-ocr": "1.2.0",
    "@node-rs/xxhash": "1.7.6",
    "@paymoapp/electron-shutdown-handler": "1.2.0",
    "@sentry/electron": "7.18.0",
    "@vectorstores/core": "^0.1.8",
    "@vectorstores/env": "^0.1.0",
    "@vectorstores/readers": "^0.1.8",
    "ai": "6.0.185",
    "better-sqlite3": "13.0.3",
    "cross-spawn": "7.0.6",
    "font-list": "2.0.0",
    "graceful-fs": "4.2.11",
    "jsdom": "26.1.0",
    "node-screenshots": "^0.2.8",
    "onnxruntime-common": "1.25.1",
    "onnxruntime-node": "1.25.1",
    "ppu-paddle-ocr": "6.0.0",
    "quickjs-wasi": "3.6.2",
    "range-parser": "1.2.1",
    "registry-js": "1.16.1",
    "selection-hook": "2.1.2",
    "sharp": "0.35.3",
    "sherpa-onnx-node": "1.13.6",
    "sqlite-vec": "npm:@aiany/sqlite-vec@0.1.10-alpha.4.aiany.2",
    "tesseract.js": "6.0.1",
    "ts-ebml": "3.0.2",
    "ws": "^8.21.0",
    "zod": "4.4.3"
  },
  "devDependencies": {
    "@ai-sdk/amazon-bedrock": "^4.0.96",
    "@ai-sdk/anthropic": "^3.0.125",
    "@ai-sdk/azure": "^3.0.116",
    "@ai-sdk/bytedance": "1.0.29",
    "@ai-sdk/cerebras": "^2.0.78",
    "@ai-sdk/cohere": "^3.0.30",
    "@ai-sdk/devtools": "^0.0.17",
    "@ai-sdk/gateway": "^3.0.104",
    "@ai-sdk/google": "3.0.132",
    "@ai-sdk/google-vertex": "^4.0.188",
    "@ai-sdk/groq": "^3.0.35",
    "@ai-sdk/huggingface": "^1.0.74",
    "@ai-sdk/mistral": "^3.0.30",
    "@ai-sdk/open-responses": "1.0.34",
    "@ai-sdk/openai": "^3.0.137",
    "@ai-sdk/openai-compatible": "2.0.72",
    "@ai-sdk/perplexity": "^3.0.29",
    "@ai-sdk/provider": "^3.0.15",
    "@ai-sdk/provider-utils": "^4.0.48",
    "@ai-sdk/test-server": "^1.0.3",
    "@ai-sdk/togetherai": "^2.0.78",
    "@ai-sdk/xai": "^3.0.126",
    "@anthropic-ai/sdk": "^0.93.0",
    "@aws-sdk/client-s3": "^3.998.0",
    "@aws-sdk/lib-storage": "3.998.0",
    "@babel/runtime": "^7.29.7",
    "@changesets/changelog-github": "^1.0.1",
    "@changesets/cli": "^3.0.3",
    "@changesets/config": "^4.0.1",
    "@changesets/read": "^1.0.1",
    "@cherrystudio/agent-runtime": "workspace:*",
    "@cherrystudio/ai-core": "workspace:*",
    "@cherrystudio/analytics-client": "1.4.0",
    "@cherrystudio/computer-use": "0.1.10",
    "@cherrystudio/extension-table-plus": "workspace:^",
    "@cherrystudio/file-preview": "workspace:*",
    "@cherrystudio/openai": "6.15.0",
    "@cherrystudio/provider-registry": "workspace:*",
    "@cherrystudio/remote-protocol": "workspace:*",
    "@cherrystudio/remote-protocol-v0": "npm:@cherrystudio/remote-protocol@0.1.0",
    "@cherrystudio/remote-transport": "workspace:*",
    "@cherrystudio/system-speech": "workspace:*",
    "@cherrystudio/ui": "workspace:*",
    "@cherrystudio/web-search": "workspace:*",
    "@codemirror/lang-json": "6.0.2",
    "@codemirror/language": "6.12.2",
    "@codemirror/lint": "6.9.5",
    "@codemirror/view": "6.39.16",
    "@copilotkit/aimock": "1.46.0",
    "@dagrejs/dagre": "^3.0.0",
    "@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",
    "@earendil-works/pi-schema": "1.5.0",
    "@earendil-works/pi-telemetry": "1.5.0",
    "@electron-toolkit/eslint-config-ts": "^3.0.0",
    "@electron-toolkit/preload": "^3.0.0",
    "@electron-toolkit/utils": "^3.0.0",
    "@electron/asar": "3.4.1",
    "@electron/notarize": "^2.5.0",
    "@electron/osx-sign": "1.3.3",
    "@electron/rebuild": "^4.0.4",
    "@elysia/bearer": "^1.4.4",
    "@elysia/cors": "^1.4.2",
    "@elysia/node": "^1.4.6",
    "@elysia/openapi": "^1.4.15",
    "@eslint-react/eslint-plugin": "^1.36.1",
    "@eslint/js": "^9.22.0",
    "@floating-ui/dom": "1.7.3",
    "@fontsource/ubuntu": "5.2.8",
    "@google/genai": "^1.46.0",
    "@hookform/resolvers": "^5.0.1",
    "@iconify-json/material-icon-theme": "^1.2.56",
    "@iconify/react": "^6.0.2",
    "@j178/prek": "^0.3.4",
    "@larksuiteoapi/node-sdk": "^1.73.0",
    "@lezer/highlight": "1.2.3",
    "@mistralai/mistralai": "^1.7.5",
    "@modelcontextprotocol/client": "2.3.0",
    "@modelcontextprotocol/core": "2.3.0",
    "@modelcontextprotocol/server": "2.3.0",
    "@mozilla/readability": "^0.6.0",
    "@notionhq/client": "^2.2.15",
    "@openrouter/ai-sdk-provider": "^2.10.0",
    "@opentelemetry/api": "1.9.1",
    "@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",
    "@opeoginni/github-copilot-openai-compatible": "^1.0.0",
    "@paddleocr/api-sdk": "^0.2.0",
    "@pierre/diffs": "1.6.1",
    "@pierre/highlights": "0.2.0",
    "@playwright/test": "^1.62.1",
    "@radix-ui/react-context-menu": "^2.3.3",
    "@radix-ui/react-slot": "^1.2.4",
    "@radix-ui/react-switch": "^1.2.6",
    "@react-aria/live-announcer": "3.4.4",
    "@sentry/vite-plugin": "5.4.0",
    "@tailwindcss/vite": "^4.3.3",
    "@tanstack/react-router": "^1.170.18",
    "@tanstack/react-virtual": "^3.13.24",
    "@tanstack/router-plugin": "^1.168.23",
    "@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.26.1",
    "@tiptap/extension-code-block": "3.26.1",
    "@tiptap/extension-collaboration": "3.26.1",
    "@tiptap/extension-drag-handle": "3.26.1",
    "@tiptap/extension-drag-handle-react": "3.26.1",
    "@tiptap/extension-heading": "3.26.1",
    "@tiptap/extension-image": "3.26.1",
    "@tiptap/extension-link": "3.26.1",
    "@tiptap/extension-list": "3.26.1",
    "@tiptap/extension-mathematics": "3.26.1",
    "@tiptap/extension-mention": "3.26.1",
    "@tiptap/extension-node-range": "3.26.1",
    "@tiptap/extension-table-of-contents": "3.26.1",
    "@tiptap/extension-typography": "3.26.1",
    "@tiptap/extension-underline": "3.26.1",
    "@tiptap/markdown": "3.26.1",
    "@tiptap/pm": "3.26.1",
    "@tiptap/react": "3.26.1",
    "@tiptap/starter-kit": "3.26.1",
    "@tiptap/suggestion": "3.26.1",
    "@tiptap/y-tiptap": "^3.0.5",
    "@tryfabric/martian": "^1.2.4",
    "@types/adm-zip": "^0.5.7",
    "@types/better-sqlite3": "^7.6.13",
    "@types/cli-progress": "^3",
    "@types/cross-spawn": "6.0.6",
    "@types/diff": "^7",
    "@types/fs-extra": "^11",
    "@types/hast": "^3.0.4",
    "@types/html-to-text": "^9",
    "@types/json-schema": "7.0.15",
    "@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/range-parser": "1.2.7",
    "@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/tinycolor2": "^1",
    "@types/turndown": "^5.0.5",
    "@types/unist": "3.0.3",
    "@types/use-sync-external-store": "^0.0.6",
    "@types/uuid": "^10.0.0",
    "@types/which": "3.0.4",
    "@types/word-extractor": "^1",
    "@types/ws": "^8.18.1",
    "@typescript/native": "npm:typescript@7.0.2",
    "@typescript/typescript6": "6.0.2",
    "@uiw/codemirror-extensions-langs": "4.25.7",
    "@uiw/codemirror-themes-all": "4.25.7",
    "@uiw/react-codemirror": "4.25.7",
    "@vitejs/plugin-react": "6.0.5",
    "@vitest/browser": "^5.0.1",
    "@vitest/coverage-v8": "^5.0.1",
    "@vitest/ui": "^5.0.1",
    "@vitest/web-worker": "^5.0.1",
    "@viz-js/lang-dot": "^1.0.5",
    "@viz-js/viz": "^3.14.0",
    "@wecom/aibot-node-sdk": "1.0.7",
    "@xyflow/react": "^12.4.4",
    "acorn": "8.15.0",
    "adm-zip": "0.4.16",
    "ai-retry": "^1.11.0",
    "ansi-to-react": "^6.2.6",
    "archiver": "^8.0.0",
    "async-mutex": "^0.5.0",
    "axios": "^1.16.0",
    "bonjour-service": "1.3.0",
    "builder-util-runtime": "9.5.0",
    "chalk": "4.1.2",
    "chardet": "^2.1.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",
    "country-flag-emoji-polyfill": "0.1.8",
    "croner": "^10.0.1",
    "cross-env": "^10.1.0",
    "dayjs": "^1.11.11",
    "devtools-protocol": "0.0.1692173",
    "dexie": "^4.0.8",
    "diff": "^8.0.3",
    "dingtalk-stream": "2.1.7-beta.1",
    "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",
    "echarts": "^6.1.0",
    "electron": "45.2.2",
    "electron-builder": "26.15.6",
    "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": "6.0.0-beta.1",
    "elysia": "^1.4.28",
    "emittery": "^1.0.3",
    "emoji-picker-element-data": "1.8.0",
    "emoji-picker-react": "^4.19.1",
    "epub": "2.1.1",
    "es-toolkit": "^1.49.0",
    "eslint": "^9.22.0",
    "eslint-import-resolver-typescript": "^4.4.5",
    "eslint-plugin-import-x": "^4.17.1",
    "eslint-plugin-import-zod": "^1.2.0",
    "eslint-plugin-oxlint": "^1.15.0",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "eslint-plugin-unused-imports": "^4.1.4",
    "fast-diff": "^1.3.0",
    "fast-xml-parser": "5.5.6",
    "fetch-socks": "1.3.2",
    "file-type": "22.0.1",
    "fractional-indexing": "^3.2.0",
    "franc-min": "^6.2.0",
    "fs-extra": "^11.2.0",
    "google-auth-library": "^9.15.1",
    "gpt-tokenizer": "^3.4.0",
    "grammy": "^1.36.3",
    "gray-matter": "4.0.3",
    "html-to-image": "^1.11.13",
    "html-to-text": "^9.0.5",
    "htmlparser2": "^10.0.0",
    "http-proxy-agent": "^7.0.2",
    "https-proxy-agent": "^7.0.6",
    "i18next": "^23.11.5",
    "i18next-cli": "^1.64.1",
    "i18next-resources-to-backend": "^1.2.1",
    "iconv-lite": "^0.6.3",
    "ignore": "^7.0.5",
    "ipaddr.js": "^2.2.0",
    "isbinaryfile": "5.0.7",
    "jaison": "^2.0.2",
    "js-base64": "3.7.7",
    "json-schema": "0.4.0",
    "jsonc-parser": "^3.3.1",
    "jszip": "^3.10.1",
    "katex": "0.16.22",
    "ky": "1.8.1",
    "linguist-languages": "^8.1.0",
    "lru-cache": "^11.1.0",
    "lucide-react": "^0.545.0",
    "macos-release": "^3.4.0",
    "magic-string": "0.30.21",
    "markdown-it": "^14.1.1",
    "md5": "2.3.0",
    "mdast-util-from-markdown": "^2.0.2",
    "mediabunny": "1.58.0",
    "micromark-util-types": "^2.0.2",
    "mime": "^4.0.4",
    "mime-types": "^3.0.1",
    "motion": "^12.42.0",
    "nanoid": "3.3.11",
    "node-addon-api": "8.5.0",
    "node-api-headers": "1.9.0",
    "node-gyp": "12.4.0",
    "node-stream-zip": "1.15.0",
    "notion-helper": "^1.3.22",
    "npx-scope-finder": "^1.2.0",
    "officeparser": "4.2.0",
    "og-crd": "^0.0.2",
    "ollama-ai-provider-v2": "3.3.1",
    "open": "^8.4.2",
    "opus-decoder": "0.7.12",
    "os-proxy-config": "1.1.2",
    "oxc-parser": "0.142.0",
    "oxfmt": "0.61.0",
    "oxlint": "1.76.0",
    "oxlint-tsgolint": "7.0.2001",
    "p-queue": "^8.1.0",
    "pako": "1.0.11",
    "partial-json": "0.1.7",
    "pdf-lib": "^1.17.1",
    "pdf-parse": "^2.4.5",
    "pdfjs-dist": "5.4.296",
    "postcss": "8.5.6",
    "posthog-node": "5.61.1",
    "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.3.1",
    "react-dom": "^19.3.1",
    "react-error-boundary": "^6.0.0",
    "react-hook-form": "^7.55.0",
    "react-hotkeys-hook": "^4.6.1",
    "react-i18next": "^14.1.2",
    "react-player": "^3.3.1",
    "react-spinners": "^0.14.1",
    "react-transition-group": "^4.4.5",
    "reflect-metadata": "0.2.2",
    "rehype-parse": "^9.0.1",
    "rehype-stringify": "^10.0.1",
    "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",
    "smol-toml": "^1.7.0",
    "socks-proxy-agent": "^8.0.5",
    "stream-json": "^1.9.1",
    "streamdown": "^2.5.0",
    "strict-url-sanitise": "^0.0.1",
    "string-width": "^7.2.0",
    "swr": "^2.3.6",
    "systeminformation": "5.33.8",
    "tailwind-merge": "^3.3.1",
    "tailwindcss": "^4.3.3",
    "tar": "^7.5.11",
    "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": "7.2.0",
    "turndown-plugin-gfm": "^1.0.2",
    "tw-animate-css": "^1.3.8",
    "typebox": "1.3.27",
    "typescript": "5.9.3",
    "undici": "6.27.0",
    "unified": "^11.0.5",
    "unist-util-visit": "5.0.0",
    "use-sync-external-store": "^1.6.0",
    "uuid": "^13.0.0",
    "vfile-location": "5.0.3",
    "virtua": "^0.54.2",
    "vite": "8.2.2",
    "vitest": "^5.0.1",
    "voyage-ai-provider": "^3.0.0",
    "webdav": "^5.9.0",
    "which": "6.0.1",
    "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"
  },
  "optionalDependencies": {
    "@aiany/sqlite-vec-darwin-arm64": "0.1.10-alpha.4.aiany.2",
    "@aiany/sqlite-vec-darwin-x64": "0.1.10-alpha.4.aiany.2",
    "@aiany/sqlite-vec-linux-arm64": "0.1.10-alpha.4.aiany.2",
    "@aiany/sqlite-vec-linux-x64": "0.1.10-alpha.4.aiany.2",
    "@aiany/sqlite-vec-windows-arm64": "0.1.10-alpha.4.aiany.2",
    "@aiany/sqlite-vec-windows-x64": "0.1.10-alpha.4.aiany.2",
    "@firecrawl/anydoc-darwin-arm64": "0.2.4",
    "@firecrawl/anydoc-darwin-x64": "0.2.4",
    "@firecrawl/anydoc-linux-arm64-gnu": "0.2.4",
    "@firecrawl/anydoc-linux-arm64-musl": "0.2.4",
    "@firecrawl/anydoc-linux-x64-gnu": "0.2.4",
    "@firecrawl/anydoc-linux-x64-musl": "0.2.4",
    "@firecrawl/anydoc-win32-x64-msvc": "0.2.4",
    "@img/sharp-darwin-arm64": "0.35.3",
    "@img/sharp-darwin-x64": "0.35.3",
    "@img/sharp-libvips-darwin-arm64": "1.3.2",
    "@img/sharp-libvips-darwin-x64": "1.3.2",
    "@img/sharp-libvips-linux-arm64": "1.3.2",
    "@img/sharp-libvips-linux-x64": "1.3.2",
    "@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
    "@img/sharp-libvips-linuxmusl-x64": "1.3.2",
    "@img/sharp-linux-arm64": "0.35.3",
    "@img/sharp-linux-x64": "0.35.3",
    "@img/sharp-linuxmusl-arm64": "0.35.3",
    "@img/sharp-linuxmusl-x64": "0.35.3",
    "@img/sharp-win32-arm64": "0.35.3",
    "@img/sharp-win32-x64": "0.35.3",
    "@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.2.0",
    "@napi-rs/system-ocr-darwin-x64": "1.2.0",
    "@napi-rs/system-ocr-win32-arm64-msvc": "1.2.0",
    "@napi-rs/system-ocr-win32-x64-msvc": "1.2.0",
    "@node-rs/xxhash-darwin-arm64": "1.7.6",
    "@node-rs/xxhash-darwin-x64": "1.7.6",
    "@node-rs/xxhash-linux-arm64-gnu": "1.7.6",
    "@node-rs/xxhash-linux-arm64-musl": "1.7.6",
    "@node-rs/xxhash-linux-x64-gnu": "1.7.6",
    "@node-rs/xxhash-linux-x64-musl": "1.7.6",
    "@node-rs/xxhash-win32-arm64-msvc": "1.7.6",
    "@node-rs/xxhash-win32-x64-msvc": "1.7.6",
    "node-mac-permissions": "^2.5.0",
    "node-screenshots-darwin-arm64": "0.2.8",
    "node-screenshots-darwin-x64": "0.2.8",
    "node-screenshots-linux-arm64-gnu": "0.2.8",
    "node-screenshots-linux-x64-gnu": "0.2.8",
    "node-screenshots-linux-x64-musl": "0.2.8",
    "node-screenshots-win32-arm64-msvc": "0.2.8",
    "node-screenshots-win32-ia32-msvc": "0.2.8",
    "node-screenshots-win32-x64-msvc": "0.2.8"
  },
  "engines": {
    "node": ">=24.12.0"
  },
  "packageManager": "pnpm@12.6.0+sha512.3ef68f951cb111ac204b4a5a16f0b2ddf0da56a96e0413e81d855d9f0b55ef926714709028e1cd00c405c2c5fb7b9e8ec4dc46777c805d0373c2f2ff00fd20ec",
  "desktopName": "CherryStudio.desktop"
}