Files
zhukunpenglinyutong c1c302785b feat(usage): replace built-in usage statistics with vendored TokenTracker dashboard
- Embed tokentracker-dashboard (usage overview, trends, activity heatmap,
  model breakdown) into the usage statistics section behind a server gate
- Add TokenTrackerHandler: detect/install pinned tokentracker-cli, ensure
  local server (serialized against concurrent spawns), whitelist-proxied
  requests to 127.0.0.1 with auth-token retry on 401/403
- Remove self-built aggregators (ClaudeUsageAggregator,
  CodexUsageAggregator) and legacy usage tabs/hooks/types
- Bridge locale/theme from host app into the vendored dashboard and
  remount on change
- Harden transport: dev-fetch timeout, in-flight GET dedup, LRU-bounded
  localStorage caches, unmount cleanups for timers and window listeners
2026-07-28 22:34:40 +08:00

60 lines
1.6 KiB
JSON

{
"name": "webview",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"prebuild": "node scripts/extract-version.mjs",
"build": "tsc && vite build",
"postbuild": "node scripts/copy-dist.mjs",
"test": "vitest run && tsc -p tsconfig.test.json --noEmit",
"test:e2e": "playwright test",
"preview": "vite preview"
},
"devDependencies": {
"@playwright/test": "^1.60.0",
"@tailwindcss/vite": "^4.3.3",
"@testing-library/dom": "^10.4.0",
"@testing-library/react": "^16.3.0",
"@types/dompurify": "^3.0.5",
"@types/react": "^19.2.6",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react-swc": "^4.2.2",
"happy-dom": "^20.8.9",
"jsdom": "^28.0.0",
"less": "^4.4.2",
"tailwindcss": "^4.3.3",
"typescript": "~5.9.3",
"vite": "^7.2.4",
"vite-plugin-singlefile": "^2.3.0",
"vitest": "^3.2.4"
},
"dependencies": {
"@base-ui/react": "^1.6.0",
"@lobehub/icons": "^5.8.0",
"antd": "^6.1.1",
"clsx": "^2.1.1",
"date-fns": "^4.4.0",
"dompurify": "^3.3.1",
"highlight.js": "^11.11.1",
"i18next": "^25.7.2",
"katex": "^0.16.47",
"lucide-react": "^0.562.0",
"marked": "^17.0.1",
"marked-highlight": "^2.2.3",
"marked-katex-extension": "^5.1.10",
"mermaid": "^11.12.2",
"motion": "^12.42.2",
"react": "^19.2.0",
"react-day-picker": "^10.0.1",
"react-dom": "^19.2.0",
"react-i18next": "^16.4.1",
"tailwind-merge": "^3.6.0",
"vconsole": "^3.15.1"
},
"overrides": {
"intersection-observer": "npm:empty-npm-package@^1.0.0"
}
}