{ "name": "lime", "private": true, "version": "1.12.1", "type": "module", "engines": { "node": ">=22.0.0" }, "repository": { "type": "git", "url": "https://github.com/aiclientproxy/lime.git" }, "homepage": "https://github.com/aiclientproxy/lime", "scripts": { "generate:agent-runtime-clients": "node scripts/generate-agent-runtime-clients.mjs", "check:agent-runtime-clients": "node scripts/generate-agent-runtime-clients.mjs --check", "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", "predev": "npm run generate:agent-runtime-clients && npm run generate:extension-site-adapters && npm run verify:app-version && node scripts/ensure-dev-port.mjs", "dev": "vite", "build": "npm run generate:agent-runtime-clients && npm run generate:extension-site-adapters && npm run verify:app-version && tsc && vite build", "preview": "vite preview", "tauri": "tauri", "tauri:dev": "npm run generate:agent-runtime-clients && npm run generate:extension-site-adapters && node scripts/run-tauri-dev.mjs", "tauri:dev:headless": "npm run generate:agent-runtime-clients && npm run generate:extension-site-adapters && node scripts/run-tauri-dev.mjs --headless", "tauri:dev:nowatch": "npm run generate:agent-runtime-clients && npm run generate:extension-site-adapters && node scripts/run-tauri-dev.mjs --no-watch", "tauri:dev:profile:trace": "node scripts/run-tauri-profile.mjs trace", "tauri:dev:profile:trace:devtools": "node scripts/run-tauri-profile.mjs trace --open-devtools", "tauri:dev:profile:trace:headless": "node scripts/run-tauri-profile.mjs trace --headless", "tauri:dev:profile:console": "node scripts/run-tauri-profile.mjs console", "tauri:dev:profile:console:devtools": "node scripts/run-tauri-profile.mjs console --open-devtools", "tauri:dev:profile:trace-console": "node scripts/run-tauri-profile.mjs trace-console", "tauri:dev:profile:trace-console:devtools": "node scripts/run-tauri-profile.mjs trace-console --open-devtools", "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: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/tauri-mock/core.test.ts", "test:contracts": "npm run check:agent-runtime-clients && node scripts/check-command-contracts.mjs && node scripts/check-harness-contracts.mjs && npm run harness:cleanup-report:check", "test:rust": "cargo test --manifest-path \"src-tauri/Cargo.toml\"", "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", "lint:rust": "cargo clippy --manifest-path \"src-tauri/Cargo.toml\"", "detect-translations": "tsx scripts/detect-missing-translations.ts", "detect-translations:fix": "tsx scripts/detect-missing-translations.ts --fix", "detect-translations:verbose": "tsx scripts/detect-missing-translations.ts --verbose", "verify:app-version": "node scripts/check-app-version-consistency.mjs", "verify:tasks": "node scripts/quality-task-selector.mjs --format json", "verify:gui-smoke": "node scripts/verify-gui-smoke.mjs", "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", "smoke:workspace-ready": "node scripts/workspace-ready-smoke.mjs", "smoke:browser-runtime": "node scripts/browser-runtime-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-service-skill-entry": "node scripts/agent-service-skill-entry-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" }, "dependencies": { "@babel/standalone": "^7.29.0", "@fabianlars/tauri-plugin-oauth": "^2", "@floating-ui/react": "^0.27.16", "@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", "@tauri-apps/api": "2.10.1", "@tauri-apps/plugin-deep-link": "2.4.7", "@tauri-apps/plugin-dialog": "2.6.0", "@tauri-apps/plugin-global-shortcut": "2.3.1", "@tauri-apps/plugin-shell": "2.3.5", "@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", "@eslint/js": "^9.15.0", "@fast-check/vitest": "^0.2.4", "@tauri-apps/cli": "^2.10.1", "@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", "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", "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" } }