## Features - Add token-saver dashboard page — decolua - Add bulk delete for provider connections — teddytkz - Resolve GitHub Copilot model catalog from upstream — caiqinzhou - Add Venice AI provider — Brokenc0de - Add Kiro external_idp import for Microsoft SSO (CLIProxyAPI) — Stevanus Pangau - Overhaul Blackbox provider catalog + WebUI test support — suryacagur ## Fixes - Provider thinking compatibility (DeepSeek/Gemini) — Mink Nguyen - Stop double-counting streaming usage at source — decolua - Usage logging dedupe to reduce stats churn — Mink Nguyen - Prevent non-JSON SSE lines / duplicate [DONE] from breaking clients (PR #2046) — qianze - Resolve Gemini TTS models from catalog — nguyenha935 - Support Kiro IDC (organization) token import — quanturbo - Preserve forced streaming for JSON clients (#2031) — Joseph Yaksich - Preserve Responses text format (Codex) — tenglong - Support Gemini native TTS generateContent endpoint — nguyenha935 - Add missing zh-CN endpoint key label (i18n) — weimaozhen - CodeBuddy: only send reasoning params when client requests reasoning (#2071) — Rex - Show custom provider models in combo picker — Sapto - Docker: add docker-compose.yml with headroom enabled by default — nitsuahlabs - Clarify token diagnostics vs provider billing (headroom, #1998) — Sutarto Jordan Chrisfivo - Translate openai-responses input through OpenAI for compression (#1998) — Ankit - Kiro: report 1M context window for claude-opus-4.8 — EdisonPVE - Avoid stale redirects after auth changes (#2100) — Emirhan - Mark Claude Opus 4.7 (dashed id) as 1M context — Brokenc0de - Preserve reasoning effort through Codex translations — ntdung6868 - Token-saver: full width card layout — decolua - Antigravity: retry transient upstream failures — Sutarto Jordan Chrisfivo - Param-support: handle strip rules without match/drop (#1960) — Joseph Yaksich - Translator: resolve custom provider prefix in debug endpoint (#1083) — hamsa0x7
61 lines
1.8 KiB
JSON
61 lines
1.8 KiB
JSON
{
|
|
"name": "9router-app",
|
|
"version": "0.5.12",
|
|
"description": "9Router web dashboard",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --webpack --port 20127",
|
|
"build": "next build --webpack",
|
|
"start": "next start",
|
|
"dev:bun": "bun --bun next dev --webpack --port 20127",
|
|
"build:bun": "bun --bun next build --webpack",
|
|
"start:bun": "bun ./.next/standalone/server.js",
|
|
"cli:pack": "npm --prefix cli run pack:cli",
|
|
"cli:publish": "npm --prefix cli run publish:cli"
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@next/third-parties": "^16.2.9",
|
|
"@xyflow/react": "^12.10.1",
|
|
"bcryptjs": "^3.0.3",
|
|
"confbox": "^0.2.4",
|
|
"express": "^5.2.1",
|
|
"fs": "^0.0.1-security",
|
|
"http-proxy-middleware": "^3.0.5",
|
|
"jose": "^6.1.3",
|
|
"marked": "^18.0.1",
|
|
"material-symbols": "^0.44.6",
|
|
"monaco-editor": "^0.55.1",
|
|
"next": "^16.1.6",
|
|
"node-forge": "^1.3.3",
|
|
"node-machine-id": "^1.1.12",
|
|
"open": "^11.0.0",
|
|
"ora": "^9.1.0",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"react-is": "^16.13.1",
|
|
"recharts": "^3.7.0",
|
|
"selfsigned": "^5.5.0",
|
|
"socks-proxy-agent": "^8.0.5",
|
|
"sql.js": "^1.14.1",
|
|
"undici": "^7.19.2",
|
|
"uuid": "^13.0.0",
|
|
"zustand": "^5.0.10"
|
|
},
|
|
"optionalDependencies": {
|
|
"better-sqlite3": "^12.6.2"
|
|
},
|
|
"comment_better_sqlite3": "kept in optionalDependencies so npm install doesn't fail on systems without build tools — sql.js is used as fallback at runtime",
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4.1.18",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.1.6",
|
|
"postcss": "^8.5.6",
|
|
"tailwindcss": "^4"
|
|
}
|
|
}
|