mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-01 15:30:52 +08:00
375 lines
23 KiB
JSON
375 lines
23 KiB
JSON
{
|
|
"name": "lime",
|
|
"private": true,
|
|
"packageManager": "pnpm@9.15.9",
|
|
"workspaces": [
|
|
"packages/*"
|
|
],
|
|
"version": "1.87.0",
|
|
"description": "AI content workspace for Chinese creators: desktop writing, research, prompt management, knowledge base, and multi-model workflows.",
|
|
"keywords": [
|
|
"ai",
|
|
"llm",
|
|
"desktop-app",
|
|
"electron",
|
|
"react",
|
|
"typescript",
|
|
"content-creation",
|
|
"writing-tool",
|
|
"prompt-management",
|
|
"knowledge-base",
|
|
"research-tool",
|
|
"multi-model",
|
|
"workflow",
|
|
"chinese-creators",
|
|
"open-source"
|
|
],
|
|
"license": "GPL-3.0-only",
|
|
"type": "module",
|
|
"main": "dist-electron/main/main.js",
|
|
"engines": {
|
|
"node": ">=22.0.0"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/limecloud/lime.git"
|
|
},
|
|
"homepage": "https://github.com/limecloud/lime",
|
|
"bugs": {
|
|
"url": "https://github.com/limecloud/lime/issues"
|
|
},
|
|
"scripts": {
|
|
"generate:extension-site-adapters": "node scripts/generate-extension-site-adapter-runners.mjs",
|
|
"check:extension-site-adapters": "node scripts/generate-extension-site-adapter-runners.mjs --check",
|
|
"heatmap:project": "node scripts/project-heatmap.mjs",
|
|
"governance:graph": "node scripts/governance-graph.mjs",
|
|
"governance:modality-contracts": "node scripts/check-modality-runtime-contracts.mjs",
|
|
"governance:scripts": "node scripts/check-scripts-governance.mjs",
|
|
"governance:file-size": "node scripts/check-file-size-governance.mjs",
|
|
"governance:file-size:update": "node scripts/governance/update-file-size-baseline.mjs",
|
|
"governance:electron-release-workflow": "node scripts/electron/release-workflow-guard.mjs",
|
|
"generate:protocol-types": "node scripts/generate-protocol-types.mjs",
|
|
"check:protocol-types": "node scripts/generate-protocol-types.mjs --check",
|
|
"governance:import-boundaries": "node scripts/check-import-boundaries.mjs",
|
|
"predev": "npm run generate:extension-site-adapters && npm run verify:app-version && node scripts/ensure-dev-port.mjs",
|
|
"dev": "npm run electron:dev",
|
|
"dev:renderer": "vite",
|
|
"build": "npm run electron:build",
|
|
"build:renderer": "tsc && vite build",
|
|
"build:renderer:electron": "node scripts/electron/build-renderer.mjs",
|
|
"build:renderer:electron:smoke": "node scripts/electron/build-renderer-smoke.mjs",
|
|
"preview": "npm run electron:start",
|
|
"typecheck:electron": "tsc --noEmit --project tsconfig.electron.json",
|
|
"electron:build:assets": "node scripts/electron/copy-desktop-assets.mjs",
|
|
"electron:build:app-server-assets": "node scripts/electron/prepare-app-server-assets.mjs",
|
|
"electron:build:host:dev": "node scripts/electron/build-host.mjs --dev && npm run electron:build:assets",
|
|
"electron:build:host": "npm --prefix \"packages/app-server-client\" run build && npm run typecheck:electron && node scripts/electron/build-host.mjs && npm run electron:build:assets && npm run electron:build:app-server-assets",
|
|
"electron:build": "npm run generate:extension-site-adapters && npm run verify:app-version && npm run build:renderer:electron && npm run electron:build:host",
|
|
"electron:build:smoke": "npm run generate:extension-site-adapters && npm run verify:app-version && npm run build:renderer:electron:smoke && npm run electron:build:host",
|
|
"electron:package:dir": "npm run electron:build && node scripts/electron/run-package-dir.mjs",
|
|
"electron:dist": "npm run electron:build && electron-forge make",
|
|
"electron:make:zip-local-feed": "node scripts/electron/make-zip-local-feed.mjs",
|
|
"electron:stage-release-assets": "node scripts/electron/stage-release-assets.mjs",
|
|
"electron:verify:package": "node scripts/electron/verify-package-resources.mjs && npm run smoke:app-server-packaged-external-backend-failure",
|
|
"electron:dev": "npm run electron:build:host:dev && node scripts/electron/run-dev.mjs",
|
|
"electron:start": "node scripts/electron/run-preview.mjs",
|
|
"smoke:electron": "npm run electron:build:smoke && node scripts/electron/smoke.mjs",
|
|
"lint": "eslint src --max-warnings 0",
|
|
"typecheck": "tsc --noEmit",
|
|
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
|
|
"prepare": "husky",
|
|
"test": "node scripts/run-vitest-smart.mjs",
|
|
"test:resume": "node scripts/run-vitest-smart.mjs --resume",
|
|
"test:related": "node scripts/run-vitest-smart.mjs --related",
|
|
"test:changed": "node scripts/run-vitest-smart.mjs --changed",
|
|
"test:unit": "node scripts/run-vitest-layer.mjs unit",
|
|
"test:component": "node scripts/run-vitest-layer.mjs component",
|
|
"test:contract": "node scripts/run-vitest-layer.mjs contract",
|
|
"test:integration": "node scripts/run-vitest-layer.mjs integration",
|
|
"test:e2e": "node scripts/run-vitest-layer.mjs e2e",
|
|
"test:layers:stats": "node scripts/report-vitest-layers.mjs",
|
|
"test:frontend:all": "node scripts/run-vitest-smart.mjs",
|
|
"test:watch": "node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs",
|
|
"test:frontend": "npm run lint && npm run typecheck && npm test",
|
|
"test:bridge": "npm test -- src/lib/dev-bridge/safeInvoke.test.ts src/lib/desktop-host/core.test.ts",
|
|
"test:contracts": "npm run check:protocol-types && node scripts/check-app-server-client-contract.mjs && node scripts/check-command-contracts.mjs && node scripts/check-harness-contracts.mjs && npm run governance:modality-contracts && npm run governance:scripts && npm run governance:electron-release-workflow && npm run harness:cleanup-report:check && npm run docs:boundary",
|
|
"test:rust": "cargo test --manifest-path \"lime-rs/Cargo.toml\"",
|
|
"test:rust:unit": "node scripts/run-rust-layer.mjs unit",
|
|
"test:rust:changed": "node scripts/run-rust-layer.mjs unit --changed",
|
|
"test:rust:related": "node scripts/run-rust-layer.mjs unit --related",
|
|
"test:rust:unit:changed": "node scripts/run-rust-layer.mjs unit --changed",
|
|
"test:rust:unit:related": "node scripts/run-rust-layer.mjs unit --related",
|
|
"test:rust:integration": "node scripts/run-rust-layer.mjs integration",
|
|
"test:rust:integration:changed": "node scripts/run-rust-layer.mjs integration --changed",
|
|
"test:rust:integration:related": "node scripts/run-rust-layer.mjs integration --related",
|
|
"test:rust:e2e": "node scripts/run-rust-layer.mjs e2e",
|
|
"test:rust:layers:stats": "node scripts/report-rust-test-layers.mjs",
|
|
"harness:analysis": "node scripts/harness/analysis-brief.mjs",
|
|
"harness:eval": "node scripts/harness/eval-runner.mjs",
|
|
"harness:eval:json": "node scripts/harness/eval-runner.mjs --format json",
|
|
"harness:eval:promote": "node scripts/harness/replay-promote.mjs",
|
|
"harness:eval:history:record": "node scripts/harness/eval-history-record.mjs",
|
|
"harness:eval:trend": "node scripts/harness/eval-trend-report.mjs",
|
|
"harness:eval:trend:json": "node scripts/harness/eval-trend-report.mjs --format json",
|
|
"harness:cleanup-report": "node scripts/report-generated-slop.mjs",
|
|
"harness:cleanup-report:json": "node scripts/report-generated-slop.mjs --format json",
|
|
"harness:cleanup-report:check": "node scripts/check-generated-slop-report.mjs --generate-current",
|
|
"harness:doc-freshness": "node scripts/check-doc-freshness.mjs",
|
|
"harness:doc-freshness:json": "node scripts/check-doc-freshness.mjs --json",
|
|
"docs:boundary": "node scripts/check-docs-boundary.mjs",
|
|
"agent-qc:report": "node scripts/agent-qc/report.mjs",
|
|
"agent-qc:report:json": "node scripts/agent-qc/report.mjs --format json",
|
|
"agent-qc:gui-flow:report": "node scripts/agent-qc/gui-flow-report.mjs",
|
|
"agent-qc:gui-flow:check": "node scripts/agent-qc/gui-flow-report.mjs --check --format json",
|
|
"agent-qc:check": "node scripts/agent-qc/report.mjs --check --format json && node scripts/agent-qc/gui-flow-report.mjs --check --format json",
|
|
"agent-qc:benchmark:plan": "node scripts/agent-qc/benchmark-plan.mjs",
|
|
"agent-qc:benchmark:check": "node scripts/agent-qc/benchmark-plan.mjs --check --format json",
|
|
"agent-qc:benchmark:compare": "node scripts/agent-qc/benchmark-compare.mjs",
|
|
"agent-qc:qcloop-job": "node scripts/agent-qc/qcloop-job.mjs",
|
|
"agent-qc:payload-coverage": "node scripts/agent-qc/payload-coverage.mjs",
|
|
"agent-qc:qcloop-status": "node scripts/agent-qc/qcloop-status.mjs",
|
|
"agent-qc:qcloop-db-lease": "node scripts/agent-qc/qcloop-db-lease.mjs",
|
|
"agent-qc:qcloop-preflight": "node scripts/agent-qc/qcloop-preflight.mjs",
|
|
"agent-qc:export-evidence": "node scripts/agent-qc/export-evidence.mjs",
|
|
"agent-qc:release-summary": "node scripts/agent-qc/release-summary.mjs",
|
|
"agent-qc:verify-local-gate": "node scripts/agent-qc/verify-local-gate.mjs",
|
|
"agent-qc:audit": "node scripts/agent-qc/completion-audit.mjs",
|
|
"lint:rust": "cargo clippy --manifest-path \"lime-rs/Cargo.toml\"",
|
|
"i18n:check": "npm run detect-translations",
|
|
"i18n:check:fix": "npm run detect-translations:fix",
|
|
"i18n:check:verbose": "npm run detect-translations:verbose",
|
|
"i18n:check:json": "npm run detect-translations -- --format json",
|
|
"detect-translations": "tsx scripts/i18n/detect-missing-translations.ts",
|
|
"detect-translations:fix": "tsx scripts/i18n/detect-missing-translations.ts --fix",
|
|
"detect-translations:verbose": "tsx scripts/i18n/detect-missing-translations.ts --verbose",
|
|
"detect-translations:json": "tsx scripts/i18n/detect-missing-translations.ts --format json",
|
|
"i18n:scan": "tsx scripts/i18n/i18n-hardcoded-check.ts",
|
|
"i18n:scan:json": "tsx scripts/i18n/i18n-hardcoded-check.ts --format json",
|
|
"i18n:unused": "tsx scripts/i18n/i18n-unused-key-check.ts",
|
|
"i18n:unused:json": "tsx scripts/i18n/i18n-unused-key-check.ts --format json",
|
|
"i18n:source-export": "tsx scripts/i18n/i18n-source-locale-export.ts",
|
|
"i18n:source-export:json": "tsx scripts/i18n/i18n-source-locale-export.ts --format json",
|
|
"i18n:translation-pr-pack": "tsx scripts/i18n/i18n-translation-pr-pack.ts",
|
|
"i18n:translation-pr-pack:json": "tsx scripts/i18n/i18n-translation-pr-pack.ts --format json",
|
|
"i18n:language-boundary-report": "tsx scripts/i18n/i18n-language-boundary-report.ts",
|
|
"i18n:language-boundary-report:json": "tsx scripts/i18n/i18n-language-boundary-report.ts --format json",
|
|
"i18n:bundle-report": "tsx scripts/i18n/i18n-bundle-report.ts",
|
|
"i18n:bundle-report:json": "tsx scripts/i18n/i18n-bundle-report.ts --format json",
|
|
"i18n:release-docs-report": "tsx scripts/i18n/i18n-release-docs-workflow-report.ts",
|
|
"i18n:release-docs-report:json": "tsx scripts/i18n/i18n-release-docs-workflow-report.ts --format json",
|
|
"i18n:docs-locale-manifest": "tsx scripts/i18n/i18n-docs-locale-build-manifest.ts",
|
|
"i18n:docs-locale-manifest:json": "tsx scripts/i18n/i18n-docs-locale-build-manifest.ts --format json",
|
|
"i18n:docs-locale-manifest:check": "tsx scripts/i18n/i18n-docs-locale-build-manifest.ts --check",
|
|
"i18n:chrome-extension-report": "tsx scripts/i18n/i18n-chrome-extension-workflow-report.ts",
|
|
"i18n:chrome-extension-report:json": "tsx scripts/i18n/i18n-chrome-extension-workflow-report.ts --format json",
|
|
"i18n:app-metadata-locale-manifest": "tsx scripts/i18n/i18n-app-metadata-locale-build-manifest.ts",
|
|
"i18n:app-metadata-locale-manifest:json": "tsx scripts/i18n/i18n-app-metadata-locale-build-manifest.ts --format json",
|
|
"i18n:app-metadata-locale-manifest:check": "tsx scripts/i18n/i18n-app-metadata-locale-build-manifest.ts --check",
|
|
"i18n:app-metadata-report": "tsx scripts/i18n/i18n-app-metadata-workflow-report.ts",
|
|
"i18n:app-metadata-report:json": "tsx scripts/i18n/i18n-app-metadata-workflow-report.ts --format json",
|
|
"i18n:p4-readiness-report": "tsx scripts/i18n/i18n-p4-readiness-report.ts",
|
|
"i18n:p4-readiness-report:json": "tsx scripts/i18n/i18n-p4-readiness-report.ts --format json",
|
|
"i18n:roadmap-readiness-report": "tsx scripts/i18n/i18n-roadmap-readiness-report.ts",
|
|
"i18n:roadmap-readiness-report:json": "tsx scripts/i18n/i18n-roadmap-readiness-report.ts --format json",
|
|
"i18n:toolchain-benchmark": "node scripts/i18n/i18next-cli-parity-benchmark.mjs",
|
|
"i18n:patch-report": "node scripts/i18n/i18n-patch-metrics-report.mjs",
|
|
"i18n:patch-report:json": "node scripts/i18n/i18n-patch-metrics-report.mjs --format json",
|
|
"i18n:patch-retirement-gate": "node scripts/i18n/i18n-patch-retirement-gate.mjs",
|
|
"i18n:patch-retirement-gate:json": "node scripts/i18n/i18n-patch-retirement-gate.mjs --format json",
|
|
"i18n:rtl-readiness-report": "tsx scripts/i18n/i18n-rtl-readiness-report.ts",
|
|
"i18n:rtl-readiness-report:json": "tsx scripts/i18n/i18n-rtl-readiness-report.ts --format json",
|
|
"i18n:rtl-smoke": "node scripts/i18n/i18n-rtl-playwright-smoke.mjs",
|
|
"verify:app-version": "node scripts/check-app-version-consistency.mjs",
|
|
"verify:tasks": "node scripts/quality-task-selector.mjs --format json",
|
|
"verify:gui-smoke": "npm run smoke:electron",
|
|
"verify:local": "node scripts/local-ci.mjs",
|
|
"verify:local:full": "node scripts/local-ci.mjs --full",
|
|
"ai-verify": "tsx scripts/ai-code-verify.ts",
|
|
"ai-verify:level1": "tsx scripts/ai-code-verify.ts --level 1",
|
|
"ai-verify:level2": "tsx scripts/ai-code-verify.ts --level 2",
|
|
"ai-verify:prompt": "tsx scripts/ai-code-verify.ts --generate-prompt",
|
|
"ai-verify:file": "tsx scripts/ai-code-verify.ts --files",
|
|
"bridge:e2e": "node scripts/chrome-bridge-e2e.mjs",
|
|
"bridge:health": "node scripts/check-dev-bridge-health.mjs",
|
|
"app-server:manifest": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/release-manifest.mjs",
|
|
"app-server:manifest:test": "npm --prefix \"packages/app-server-client\" run build && npx vitest run \"scripts/app-server/release-manifest.test.mjs\" --silent=passed-only --disableConsoleIntercept",
|
|
"smoke:workspace-ready": "node scripts/workspace-ready-smoke.mjs",
|
|
"smoke:browser-runtime": "node scripts/browser-runtime-smoke.mjs",
|
|
"smoke:app-server-stdio": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/stdio-smoke.mjs",
|
|
"smoke:app-server-sidecar-lifecycle": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/sidecar-lifecycle-smoke.mjs",
|
|
"smoke:app-server-external-backend": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/external-backend-smoke.mjs",
|
|
"smoke:codex-import-content-studio": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/codex-import-content-studio-smoke.mjs",
|
|
"smoke:app-server-packaged-external-backend-failure": "npm --prefix \"packages/app-server-client\" run build && node scripts/app-server/packaged-external-backend-failure-smoke.mjs",
|
|
"smoke:mcp-current": "node scripts/mcp/current-smoke.mjs",
|
|
"smoke:site-adapters": "node scripts/site-adapter-catalog-smoke.mjs",
|
|
"smoke:agent-runtime-tool-surface": "node scripts/agent-runtime/tool-surface-smoke.mjs",
|
|
"smoke:agent-runtime-tool-surface-page": "node scripts/agent-runtime/tool-surface-page-smoke.mjs",
|
|
"smoke:agent-runtime-current-fixture": "node scripts/agent-runtime/current-fixture-regression-smoke.mjs",
|
|
"smoke:expert-skills-live-gate": "node scripts/agent-runtime/expert-skills-live-gate.mjs --allow-missing-live",
|
|
"smoke:expert-skills-live-runner": "node scripts/agent-runtime/expert-skills-live-runner.mjs",
|
|
"smoke:agent-session-history-electron-fixture": "node scripts/electron/session-history-fixture-smoke.mjs",
|
|
"smoke:codex-import-continuation-electron-fixture": "node scripts/electron/codex-import-continuation-fixture-smoke.mjs",
|
|
"smoke:codex-import-click-through-electron-fixture": "node scripts/electron/codex-import-click-through-fixture-smoke.mjs",
|
|
"smoke:local-history-import-visual-audit": "node scripts/electron/local-history-import-visual-audit-smoke.mjs",
|
|
"smoke:local-history-import-real-sample-visual-audit": "node scripts/electron/local-history-import-real-sample-visual-audit-smoke.mjs",
|
|
"smoke:settings-provider-migration-electron-fixture": "node scripts/electron/settings-provider-migration-fixture-smoke.mjs",
|
|
"smoke:mcp-config-electron-fixture": "node scripts/electron/mcp-config-fixture-smoke.mjs",
|
|
"smoke:mcp-context7-live-electron-fixture": "node scripts/electron/mcp-context7-live-fixture-smoke.mjs",
|
|
"smoke:code-artifact-workbench-electron-fixture": "node scripts/electron/code-artifact-workbench-fixture-smoke.mjs",
|
|
"smoke:claw-chat-current-fixture": "node scripts/agent-runtime/claw-chat-current-fixture-smoke.mjs",
|
|
"smoke:claw-chat-ready-streaming": "node scripts/claw-chat-ready-streaming-smoke.mjs",
|
|
"smoke:at-command-registry": "node scripts/at-command-registry-e2e.mjs",
|
|
"smoke:agent-service-skill-entry": "node scripts/agent-runtime/service-skill-entry-smoke.mjs",
|
|
"smoke:knowledge-gui": "node scripts/knowledge-gui-smoke.mjs",
|
|
"knowledge:product-e2e": "node scripts/knowledge-product-e2e.mjs",
|
|
"knowledge:legacy-fallback-report": "node scripts/knowledge-legacy-fallback-report.mjs",
|
|
"smoke:design-canvas": "node scripts/design-canvas-smoke.mjs",
|
|
"smoke:social-workbench": "node scripts/social-workbench-e2e-smoke.mjs",
|
|
"dev:web-bridge": "node scripts/start-web-bridge-dev.mjs",
|
|
"governance:legacy-report": "node scripts/report-legacy-surfaces.mjs",
|
|
"knowledge:provider-e2e": "node scripts/knowledge-provider-e2e.mjs",
|
|
"knowledge:release-scope-report": "node scripts/knowledge/release-scope-report.mjs",
|
|
"smoke:agent-runtime-approval-sandbox": "node scripts/agent-runtime/approval-sandbox-smoke.mjs",
|
|
"smoke:agent-runtime-tool-execution": "node scripts/agent-runtime/tool-execution-smoke.mjs",
|
|
"smoke:code-runtime-fixture": "node scripts/code-runtime-fixture-smoke.mjs",
|
|
"smoke:managed-objective-continuation": "node scripts/managed-objective-continuation-smoke.mjs",
|
|
"smoke:managed-objective-automation": "node scripts/managed-objective-automation-smoke.mjs",
|
|
"agent-qc:gui-owner-check": "node scripts/agent-qc/gui-owner-check.mjs",
|
|
"agent-qc:process-owner-check": "node scripts/agent-qc/process-owner-check.mjs",
|
|
"agent-qc:secret-scan": "node scripts/agent-qc/secret-scan.mjs",
|
|
"agent-qc:objective-checklist": "node scripts/agent-qc/objective-checklist.mjs",
|
|
"plugin:connector-production-preflight": "node scripts/plugin/connector-production-preflight.mjs",
|
|
"plugin:connector-production-delivery-gate": "node scripts/plugin/connector-production-delivery-gate.mjs",
|
|
"plugin:connector-production-webhook-delivery": "node scripts/plugin/connector-production-webhook-delivery.mjs",
|
|
"plugin:content-factory-signed-release-gate": "node scripts/plugin/content-factory-signed-release-gate.mjs",
|
|
"smoke:content-factory-package": "node scripts/plugin/content-factory-package-smoke.mjs",
|
|
"smoke:content-factory-current-turn": "node scripts/plugin/content-factory-current-turn-smoke.mjs --host-generation-fixture",
|
|
"smoke:content-factory-current-turn:host-generation": "node scripts/plugin/content-factory-current-turn-smoke.mjs --host-generation-fixture",
|
|
"smoke:content-factory-current-turn:cloud-release": "node scripts/plugin/content-factory-current-turn-smoke.mjs --cloud-release-fixture --host-generation-fixture",
|
|
"smoke:content-factory-current-turn:cloud-release-host-generation": "node scripts/plugin/content-factory-current-turn-smoke.mjs --cloud-release-fixture --host-generation-fixture"
|
|
},
|
|
"dependencies": {
|
|
"@babel/standalone": "^7.29.0",
|
|
"@floating-ui/react": "^0.27.16",
|
|
"@limecloud/agent-runtime-client": "0.1.1",
|
|
"@limecloud/agent-runtime-projection": "0.1.1",
|
|
"@limecloud/agent-runtime-ui": "0.1.1",
|
|
"@limecloud/agent-ui-contracts": "0.1.0",
|
|
"@observablehq/plot": "^0.6.17",
|
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
"@radix-ui/react-context-menu": "^2.2.16",
|
|
"@radix-ui/react-dialog": "^1.1.2",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.2",
|
|
"@radix-ui/react-label": "^2.1.0",
|
|
"@radix-ui/react-popover": "^1.1.15",
|
|
"@radix-ui/react-select": "^2.1.2",
|
|
"@radix-ui/react-slider": "^1.3.6",
|
|
"@radix-ui/react-slot": "^1.1.0",
|
|
"@radix-ui/react-switch": "^1.1.1",
|
|
"@radix-ui/react-tabs": "^1.1.1",
|
|
"@radix-ui/react-toast": "^1.2.2",
|
|
"@radix-ui/react-tooltip": "^1.1.3",
|
|
"@sentry/browser": "^8.55.0",
|
|
"@tanstack/react-virtual": "^3.13.18",
|
|
"@tiptap/core": "^3.19.0",
|
|
"@tiptap/extension-highlight": "^3.19.0",
|
|
"@tiptap/extension-image": "^3.19.0",
|
|
"@tiptap/extension-placeholder": "^3.18.0",
|
|
"@tiptap/extension-table": "^3.19.0",
|
|
"@tiptap/extension-table-cell": "^3.19.0",
|
|
"@tiptap/extension-table-header": "^3.19.0",
|
|
"@tiptap/extension-table-row": "^3.19.0",
|
|
"@tiptap/extension-task-item": "^3.19.0",
|
|
"@tiptap/extension-task-list": "^3.19.0",
|
|
"@tiptap/pm": "^3.18.0",
|
|
"@tiptap/react": "^3.18.0",
|
|
"@tiptap/starter-kit": "^3.18.0",
|
|
"@tiptap/suggestion": "^3.19.0",
|
|
"@tonejs/midi": "^2.0.28",
|
|
"@types/lodash-es": "^4.17.12",
|
|
"@types/styled-components": "^5.1.36",
|
|
"@types/turndown": "^5.0.6",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/addon-search": "^0.16.0",
|
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
"@xterm/addon-web-links": "^0.12.0",
|
|
"@xterm/addon-webgl": "^0.19.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"date-fns": "^4.1.0",
|
|
"dayjs": "^1.11.19",
|
|
"fabric": "^5.5.2",
|
|
"hast-util-to-html": "^9.0.5",
|
|
"i18next": "^25.7.3",
|
|
"jotai": "^2.16.1",
|
|
"lodash-es": "^4.17.22",
|
|
"lucide-react": "^0.460.0",
|
|
"marked": "^17.0.1",
|
|
"mermaid": "^11.12.2",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-i18next": "^16.5.1",
|
|
"react-markdown": "^10.1.0",
|
|
"react-resizable-panels": "^4.3.0",
|
|
"react-router-dom": "^7.11.0",
|
|
"react-syntax-highlighter": "^16.1.0",
|
|
"refractor": "^5.0.0",
|
|
"rehype-katex": "^7.0.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-math": "^6.0.0",
|
|
"sonner": "^2.0.7",
|
|
"styled-components": "^6.1.19",
|
|
"tailwind-merge": "^2.6.0",
|
|
"tippy.js": "^6.3.7",
|
|
"tone": "^15.1.22",
|
|
"turndown": "^7.2.2",
|
|
"zustand": "^5.0.10"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/plugin-transform-react-jsx-source": "^7.27.1",
|
|
"@electron-forge/cli": "^7.11.2",
|
|
"@electron-forge/maker-dmg": "^7.11.2",
|
|
"@electron-forge/maker-squirrel": "^7.11.2",
|
|
"@electron-forge/maker-zip": "^7.11.2",
|
|
"@electron/fuses": "^2.1.2",
|
|
"@eslint/js": "^9.15.0",
|
|
"@fast-check/vitest": "^0.2.4",
|
|
"@types/babel__standalone": "^7.1.9",
|
|
"@types/fabric": "^5.3.11",
|
|
"@types/node": "^22.9.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
"@typescript-eslint/eslint-plugin": "^8.15.0",
|
|
"@typescript-eslint/parser": "^8.15.0",
|
|
"@vitejs/plugin-react": "^4.3.3",
|
|
"autoprefixer": "^10.4.20",
|
|
"cytoscape": "^3.33.1",
|
|
"dependency-cruiser": "^16.10.4",
|
|
"electron": "^42.3.3",
|
|
"eslint": "^9.15.0",
|
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
"eslint-plugin-react-refresh": "^0.4.14",
|
|
"fast-check": "^4.4.0",
|
|
"globals": "^15.12.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^22.1.0",
|
|
"knip": "^6.0.2",
|
|
"playwright": "^1.59.1",
|
|
"postcss": "^8.4.47",
|
|
"prettier": "^3.3.3",
|
|
"tailwindcss": "^3.4.14",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.6.3",
|
|
"vite": "^5.4.21",
|
|
"vite-plugin-svgr": "^4.5.0",
|
|
"vitest": "^3.2.4",
|
|
"yaml": "^2.8.3"
|
|
}
|
|
}
|