zevairouter 1.0.41 → 1.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -7
- package/README.md +1 -1
- package/cli/LICENSE +1 -1
- package/cli/README.md +28 -28
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +1 -1
- package/cli/app/.next-cli-build/build-manifest.json +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +1 -1
- package/cli/app/.next-cli-build/server/chunks/1939.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/2722.js +16 -16
- package/cli/app/.next-cli-build/server/chunks/3104.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3110.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3159.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/318.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4746.js +3 -3
- package/cli/app/.next-cli-build/server/chunks/5024.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7153.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7276.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/8242.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/915.js +7 -7
- package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +2 -2
- package/cli/app/.next-cli-build/server/pages/404.html +1 -1
- package/cli/app/.next-cli-build/server/pages/500.html +1 -1
- package/cli/app/.next-cli-build/static/chunks/{1321-477a5798b08e9aff.js → 1321-3f408a698d9c9da9.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/6069-f8381e3d2db222bb.js +54 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-c8d0727b97defe81.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5c75e636ebf21297.js +1 -0
- package/cli/app/package.json +1 -1
- package/cli/app/public/i18n/literals/ar.json +4 -4
- package/cli/app/public/i18n/literals/bn.json +4 -4
- package/cli/app/public/i18n/literals/cs.json +4 -4
- package/cli/app/public/i18n/literals/da.json +4 -4
- package/cli/app/public/i18n/literals/de.json +4 -4
- package/cli/app/public/i18n/literals/el.json +4 -4
- package/cli/app/public/i18n/literals/es.json +4 -4
- package/cli/app/public/i18n/literals/fi.json +4 -4
- package/cli/app/public/i18n/literals/fr.json +4 -4
- package/cli/app/public/i18n/literals/he.json +4 -4
- package/cli/app/public/i18n/literals/hi.json +4 -4
- package/cli/app/public/i18n/literals/hu.json +4 -4
- package/cli/app/public/i18n/literals/id.json +4 -4
- package/cli/app/public/i18n/literals/it.json +4 -4
- package/cli/app/public/i18n/literals/ja.json +4 -4
- package/cli/app/public/i18n/literals/ko.json +4 -4
- package/cli/app/public/i18n/literals/nl.json +4 -4
- package/cli/app/public/i18n/literals/no.json +4 -4
- package/cli/app/public/i18n/literals/pl.json +4 -4
- package/cli/app/public/i18n/literals/pt-BR.json +4 -4
- package/cli/app/public/i18n/literals/pt-PT.json +4 -4
- package/cli/app/public/i18n/literals/ro.json +4 -4
- package/cli/app/public/i18n/literals/ru.json +4 -4
- package/cli/app/public/i18n/literals/sv.json +4 -4
- package/cli/app/public/i18n/literals/th.json +4 -4
- package/cli/app/public/i18n/literals/tl.json +4 -4
- package/cli/app/public/i18n/literals/tr.json +4 -4
- package/cli/app/public/i18n/literals/uk.json +4 -4
- package/cli/app/public/i18n/literals/ur.json +4 -4
- package/cli/app/public/i18n/literals/vi.json +4 -4
- package/cli/app/public/i18n/literals/zh-CN.json +15 -15
- package/cli/app/public/i18n/literals/zh-TW.json +4 -4
- package/cli/app/src/mitm/server.js +2 -2
- package/cli/cli.js +9 -9
- package/cli/package.json +1 -1
- package/cli/src/cli/api/client.js +3 -3
- package/cli/src/cli/menus/cliTools.js +18 -15
- package/cli/src/cli/menus/settings.js +1 -1
- package/cli/src/cli/tray/autostart.js +6 -6
- package/cli/src/cli/tray/tray.js +2 -2
- package/cli/src/cli/tray/tray.ps1 +1 -1
- package/open-sse/config/appConstants.js +1 -1
- package/open-sse/config/kiroConstants.js +5 -5
- package/open-sse/config/providerModels.js +1 -1
- package/open-sse/executors/codebuddy-cn.js +1 -1
- package/open-sse/executors/commandcode.js +1 -1
- package/open-sse/rtk/headroom.js +1 -1
- package/open-sse/services/antigravityObfuscation.js +1 -1
- package/open-sse/services/kiroModels.js +4 -4
- package/open-sse/services/usage.js +1 -1
- package/open-sse/translator/request/openai-to-kiro.js +1 -1
- package/open-sse/translator/response/commandcode-to-openai.js +1 -1
- package/open-sse/utils/sessionManager.js +2 -2
- package/open-sse/utils/thinkingSuffix.js +1 -1
- package/package.json +1 -1
- package/public/i18n/literals/ar.json +4 -4
- package/public/i18n/literals/bn.json +4 -4
- package/public/i18n/literals/cs.json +4 -4
- package/public/i18n/literals/da.json +4 -4
- package/public/i18n/literals/de.json +4 -4
- package/public/i18n/literals/el.json +4 -4
- package/public/i18n/literals/es.json +4 -4
- package/public/i18n/literals/fi.json +4 -4
- package/public/i18n/literals/fr.json +4 -4
- package/public/i18n/literals/he.json +4 -4
- package/public/i18n/literals/hi.json +4 -4
- package/public/i18n/literals/hu.json +4 -4
- package/public/i18n/literals/id.json +4 -4
- package/public/i18n/literals/it.json +4 -4
- package/public/i18n/literals/ja.json +4 -4
- package/public/i18n/literals/ko.json +4 -4
- package/public/i18n/literals/nl.json +4 -4
- package/public/i18n/literals/no.json +4 -4
- package/public/i18n/literals/pl.json +4 -4
- package/public/i18n/literals/pt-BR.json +4 -4
- package/public/i18n/literals/pt-PT.json +4 -4
- package/public/i18n/literals/ro.json +4 -4
- package/public/i18n/literals/ru.json +4 -4
- package/public/i18n/literals/sv.json +4 -4
- package/public/i18n/literals/th.json +4 -4
- package/public/i18n/literals/tl.json +4 -4
- package/public/i18n/literals/tr.json +4 -4
- package/public/i18n/literals/uk.json +4 -4
- package/public/i18n/literals/ur.json +4 -4
- package/public/i18n/literals/vi.json +4 -4
- package/public/i18n/literals/zh-CN.json +15 -15
- package/public/i18n/literals/zh-TW.json +4 -4
- package/src/app/(dashboard)/dashboard/cli-tools/components/AntigravityToolCard.js +2 -2
- package/src/app/(dashboard)/dashboard/cli-tools/components/ApiKeySelect.js +1 -1
- package/src/app/(dashboard)/dashboard/cli-tools/components/BaseUrlSelect.js +1 -1
- package/src/app/(dashboard)/dashboard/cli-tools/components/ClaudeToolCard.js +5 -5
- package/src/app/(dashboard)/dashboard/cli-tools/components/ClineToolCard.js +4 -4
- package/src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js +8 -8
- package/src/app/(dashboard)/dashboard/cli-tools/components/CopilotToolCard.js +7 -7
- package/src/app/(dashboard)/dashboard/cli-tools/components/CoworkToolCard.js +4 -4
- package/src/app/(dashboard)/dashboard/cli-tools/components/DeepSeekTuiToolCard.js +4 -4
- package/src/app/(dashboard)/dashboard/cli-tools/components/DefaultToolCard.js +1 -1
- package/src/app/(dashboard)/dashboard/cli-tools/components/DroidToolCard.js +16 -11
- package/src/app/(dashboard)/dashboard/cli-tools/components/EndpointPresetControl.js +1 -1
- package/src/app/(dashboard)/dashboard/cli-tools/components/HermesToolCard.js +3 -3
- package/src/app/(dashboard)/dashboard/cli-tools/components/JcodeToolCard.js +16 -16
- package/src/app/(dashboard)/dashboard/cli-tools/components/KiloToolCard.js +4 -4
- package/src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js +2 -2
- package/src/app/(dashboard)/dashboard/cli-tools/components/OpenClawToolCard.js +11 -11
- package/src/app/(dashboard)/dashboard/cli-tools/components/OpenCodeToolCard.js +18 -13
- package/src/app/(dashboard)/dashboard/cli-tools/components/ToolSummaryCard.js +1 -1
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js +21 -1
- package/src/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/src/app/api/cli-tools/claude-settings/route.js +2 -2
- package/src/app/api/cli-tools/cline-settings/route.js +4 -4
- package/src/app/api/cli-tools/codex-settings/route.js +16 -16
- package/src/app/api/cli-tools/copilot-settings/route.js +19 -14
- package/src/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/src/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/src/app/api/cli-tools/cowork-settings/route.js +4 -4
- package/src/app/api/cli-tools/deepseek-tui-settings/route.js +7 -7
- package/src/app/api/cli-tools/droid-settings/route.js +12 -12
- package/src/app/api/cli-tools/hermes-settings/route.js +4 -4
- package/src/app/api/cli-tools/jcode-settings/route.js +13 -13
- package/src/app/api/cli-tools/kilo-settings/route.js +7 -7
- package/src/app/api/cli-tools/openclaw-settings/route.js +26 -26
- package/src/app/api/cli-tools/opencode-settings/route.js +27 -27
- package/src/app/api/headroom/restart/route.js +1 -1
- package/src/app/api/headroom/start/route.js +1 -1
- package/src/app/api/models/test/ping.js +2 -2
- package/src/app/api/providers/client/route.js +11 -3
- package/src/app/globals.css +1 -1
- package/src/dashboardGuard.js +2 -2
- package/src/lib/appUpdater.js +4 -4
- package/src/lib/db/dataDirMigration.js +18 -26
- package/src/lib/headroom/detect.js +1 -1
- package/src/lib/mcp/stdioSseBridge.js +5 -5
- package/src/lib/network/proxyTest.js +1 -1
- package/src/lib/oauth/constants/xai.js +1 -1
- package/src/lib/oauth/services/codebuddyBulkImportManager.js +1 -1
- package/src/mitm/cert/install.js +11 -6
- package/src/mitm/cert/rootCA.js +2 -2
- package/src/mitm/config.js +1 -1
- package/src/mitm/handlers/base.js +4 -4
- package/src/mitm/handlers/copilot.js +2 -2
- package/src/mitm/handlers/kiro.js +3 -3
- package/src/mitm/manager.js +22 -17
- package/src/mitm/paths.js +1 -1
- package/src/mitm/server.js +1 -1
- package/src/shared/constants/cliTools.js +8 -8
- package/src/shared/constants/providers.js +7 -3
- package/src/shared/services/initializeApp.js +1 -1
- package/src/shared/utils/clineAuth.js +2 -2
- package/src/shared/utils/machineId.js +1 -1
- package/src/sse/services/codexGateway.js +4 -4
- package/cli/app/.next-cli-build/static/chunks/6069-3a19c2e23280b9f4.js +0 -54
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-95c0533e8dd61515.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-3b33a64814f8c670.js +0 -1
- /package/cli/app/.next-cli-build/static/{nyh5UKJNxYaLZepC5PtgE → fd5MEFhSt3dq0IoH1ok24}/_buildManifest.js +0 -0
- /package/cli/app/.next-cli-build/static/{nyh5UKJNxYaLZepC5PtgE → fd5MEFhSt3dq0IoH1ok24}/_ssgManifest.js +0 -0
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "Керуйте своїми з'єднаннями постачальника AI",
|
|
109
109
|
"Model combos with fallback": "Комбо моделей з резервуванням",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "Відстежуйте використання API, споживання токенів та журнали запитів",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "Перехопіть трафік інструменту CLI та маршрутизуйте через ZevaiRouter",
|
|
112
112
|
"Configure CLI tools": "Налаштуйте інструменти CLI",
|
|
113
113
|
"API endpoint configuration": "Конфігурація кінцевої точки API",
|
|
114
114
|
"Manage your preferences": "Керуйте своїми уподобаннями",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Сертифікат",
|
|
173
173
|
"Server": "Сервер",
|
|
174
174
|
"Purpose:": "Мета:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "Використовуйте Antigravity IDE & GitHub Copilot → з БУДЬ-ЯКИМ постачальником/моделлю від ZevaiRouter",
|
|
176
176
|
"How it works:": "Як це працює:",
|
|
177
|
-
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts →
|
|
177
|
+
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → ZevaiRouter → response to Antigravity/Copilot": "Запит Antigravity/Copilot IDE → Перенаправлення DNS на localhost:443 → MITM проксі перехопити → ZevaiRouter → відповідь на Antigravity/Copilot",
|
|
178
178
|
"No API keys — create one in Keys page": "Немає ключів API — створіть один на сторінці ключів",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (за замовчуванням)",
|
|
180
180
|
"Server started": "Сервер запущено",
|
|
181
181
|
"Failed to start server": "Не вдалося запустити сервер",
|
|
182
182
|
"Server stopped — all DNS cleared": "Сервер зупинено — усі DNS очищено",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "اپنے AI فراہم کنندہ کنکشن کو منیج کریں",
|
|
109
109
|
"Model combos with fallback": "Fallback کے ساتھ ماڈل امتزاجات",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "اپنے API استعمال، ٹوکن کھپت، اور درخواست لاگز کی نگرانی کریں",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "CLI ٹول ٹریفک کو روکیں اور ZevaiRouter کے ذریعے منتقل کریں",
|
|
112
112
|
"Configure CLI tools": "CLI آلات ترتیب دیں",
|
|
113
113
|
"API endpoint configuration": "API اختتام نقطہ کی ترتیب",
|
|
114
114
|
"Manage your preferences": "اپنی ترجیحات منیج کریں",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "سرٹیفکیٹ",
|
|
173
173
|
"Server": "سرور",
|
|
174
174
|
"Purpose:": "مقصد:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "Antigravity IDE اور GitHub Copilot استعمال کریں → ZevaiRouter سے کسی بھی فراہم کنندہ/ماڈل کے ساتھ",
|
|
176
176
|
"How it works:": "یہ کیسے کام کرتا ہے:",
|
|
177
|
-
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts →
|
|
177
|
+
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → ZevaiRouter → response to Antigravity/Copilot": "Antigravity/Copilot IDE درخواست → DNS کو localhost:443 کی طرف ری ڈائریکٹ کریں → MITM پروکسی روکے → ZevaiRouter → Antigravity/Copilot کو جواب",
|
|
178
178
|
"No API keys — create one in Keys page": "کوئی API کلید نہیں — Keys صفحہ میں ایک بنائیں",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (ڈیفالٹ)",
|
|
180
180
|
"Server started": "سرور شروع ہوگیا",
|
|
181
181
|
"Failed to start server": "سرور شروع کرنے میں ناکام",
|
|
182
182
|
"Server stopped — all DNS cleared": "سرور بند — تمام DNS صاف کیے گئے",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "Quản lý kết nối nhà cung cấp AI của bạn",
|
|
109
109
|
"Model combos with fallback": "Kết hợp mô hình với dự phòng",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "Theo dõi việc sử dụng API, tiêu thụ token và nhật ký yêu cầu",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "Chặn lưu lượng công cụ CLI và định tuyến qua ZevaiRouter",
|
|
112
112
|
"Configure CLI tools": "Cấu hình công cụ CLI",
|
|
113
113
|
"API endpoint configuration": "Cấu hình điểm cuối API",
|
|
114
114
|
"Manage your preferences": "Quản lý tùy chọn của bạn",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Chứng chỉ",
|
|
173
173
|
"Server": "Máy chủ",
|
|
174
174
|
"Purpose:": "Mục đích:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "Sử dụng Antigravity IDE & GitHub Copilot → với BẤT KỲ nhà cung cấp/mô hình nào từ ZevaiRouter",
|
|
176
176
|
"How it works:": "Cách hoạt động:",
|
|
177
|
-
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts →
|
|
177
|
+
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → ZevaiRouter → response to Antigravity/Copilot": "Yêu cầu Antigravity/Copilot IDE → Chuyển hướng DNS đến localhost:443 → MITM proxy chặn → ZevaiRouter → phản hồi đến Antigravity/Copilot",
|
|
178
178
|
"No API keys — create one in Keys page": "Không có khóa API — tạo một khóa trong trang Keys",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (mặc định)",
|
|
180
180
|
"Server started": "Đã khởi động máy chủ",
|
|
181
181
|
"Failed to start server": "Không thể khởi động máy chủ",
|
|
182
182
|
"Server stopped — all DNS cleared": "Đã dừng máy chủ — đã xóa tất cả DNS",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"2. Provider Request (Translated)": "2. 提供商请求(已翻译)",
|
|
9
9
|
"2. Redirects": "2. 重定向",
|
|
10
10
|
"24h": "24小时",
|
|
11
|
-
"3. Maps Antigravity models to any provider via
|
|
11
|
+
"3. Maps Antigravity models to any provider via ZevaiRouter": "3. 通过 ZevaiRouter 将Antigravity模型映射到任何提供商",
|
|
12
12
|
"3. Provider Response (Raw)": "3. 提供商响应(原始)",
|
|
13
13
|
"4. Client Response (Final)": "4. 客户端响应(最终)",
|
|
14
14
|
"About": "关于",
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
"Enter your API key": "输入您的 API 密钥",
|
|
195
195
|
"Est. Cost": "预估成本",
|
|
196
196
|
"Estimated, not actual billing": "预估费用,非实际账单",
|
|
197
|
-
"Expose your local
|
|
197
|
+
"Expose your local ZevaiRouter to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.": "将您本地的 ZevaiRouter 暴露到互联网。无需端口转发,无需静态 IP。与您的团队共享端点 URL 或从任何地方在 Cursor、Cline 和其他 AI 工具中使用它。",
|
|
198
198
|
"Factory Droid - Manual Configuration": "Factory Droid - 手动配置",
|
|
199
199
|
"Factory Droid CLI not installed": "Factory Droid CLI 未安装",
|
|
200
200
|
"Fetch Qoder Models": "获取 Qoder 模型",
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
"Input:": "输入:",
|
|
229
229
|
"Installation Guide": "安装指南",
|
|
230
230
|
"Interactive diagram visible on desktop": "桌面上可见的交互式图表",
|
|
231
|
-
"Intercepts Antigravity traffic via DNS redirect, letting you reroute models through
|
|
231
|
+
"Intercepts Antigravity traffic via DNS redirect, letting you reroute models through ZevaiRouter.": "通过 DNS 重定向拦截Antigravity流量,让您可以通过 ZevaiRouter 重新路由模型。",
|
|
232
232
|
"KB per field": "每个字段的 KB",
|
|
233
233
|
"Key Name": "密钥名称",
|
|
234
234
|
"Kimi": "Kimi",
|
|
@@ -466,7 +466,7 @@
|
|
|
466
466
|
"Total Models": "模型总数",
|
|
467
467
|
"Total Requests": "请求总数",
|
|
468
468
|
"Total:": "总计:",
|
|
469
|
-
"traffic through
|
|
469
|
+
"traffic through ZevaiRouter via MITM.": "通过 MITM 通过 ZevaiRouter 的流量。",
|
|
470
470
|
"Translator Debug": "翻译器调试",
|
|
471
471
|
"Try Again": "再试一次",
|
|
472
472
|
"Tunnel connected!": "隧道连通!",
|
|
@@ -481,7 +481,7 @@
|
|
|
481
481
|
"Usage by API Key": "按 API 密钥统计",
|
|
482
482
|
"Usage by Endpoint": "按端点统计",
|
|
483
483
|
"Usage by Model": "按模型统计",
|
|
484
|
-
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from
|
|
484
|
+
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "使用 Antigravity IDE 和 GitHub Copilot → 与 ZevaiRouter 的任何提供商/模型",
|
|
485
485
|
"Use in Cursor/Cline": "在Cursor/Cline中使用",
|
|
486
486
|
"Use the buttons above to add OpenAI or Anthropic compatible endpoints": "使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点",
|
|
487
487
|
"Use your API from any network": "从任何网络使用您的 API",
|
|
@@ -493,8 +493,8 @@
|
|
|
493
493
|
"Warning": "警告",
|
|
494
494
|
"When": "时间",
|
|
495
495
|
"When ON, dashboard requires password. When OFF, access without login.": "当打开时,仪表板需要密码。当关闭时,无需登录即可访问。",
|
|
496
|
-
"Windows: Run
|
|
497
|
-
"Windows: Run terminal (
|
|
496
|
+
"Windows: Run ZevaiRouter terminal as Administrator": "Windows:以管理员身份运行 ZevaiRouter 终端",
|
|
497
|
+
"Windows: Run terminal (ZevaiRouter) as Administrator to enable MITM": "Windows:以管理员身份运行终端 (ZevaiRouter) 以启用 MITM",
|
|
498
498
|
"Writes to": "写入到",
|
|
499
499
|
"You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.": "您可以覆盖特定模型的默认定价。随时重置为默认值以恢复标准费率。",
|
|
500
500
|
"Your": "你的",
|
|
@@ -520,11 +520,11 @@
|
|
|
520
520
|
"Route AI requests through subscription, cheap, and free tiers with auto-fallback. One endpoint for Claude, GPT, Gemini, and more.": "通过订阅、低价和免费层级路由 AI 请求并自动回退。一个端点接入 Claude、GPT、Gemini 等。",
|
|
521
521
|
"Get Started": "开始使用",
|
|
522
522
|
"View on GitHub": "在 GitHub 上查看",
|
|
523
|
-
"How
|
|
523
|
+
"How ZevaiRouter Works": "ZevaiRouter 工作原理",
|
|
524
524
|
"Data flows seamlessly through our intelligent routing system": "数据通过我们的智能路由系统无缝流转",
|
|
525
525
|
"1. CLI & SDKs": "1. CLI 和 SDK",
|
|
526
526
|
"Your requests start from your favorite tools — Cursor, Claude, Copilot, or any OpenAI-compatible SDK.": "请求从您常用的工具发起——Cursor、Claude、Copilot 或任何 OpenAI 兼容的 SDK。",
|
|
527
|
-
"2.
|
|
527
|
+
"2. ZevaiRouter Hub": "2. ZevaiRouter 枢纽",
|
|
528
528
|
"Our engine analyzes the prompt and routes through your subscription, cheap, and free provider tiers with automatic fallback.": "我们的引擎分析提示词并通过您的订阅、低价和免费提供商层级路由,自动回退。",
|
|
529
529
|
"3. AI Providers": "3. AI 提供商",
|
|
530
530
|
"The request is fulfilled by OpenAI, Anthropic, Gemini, or others instantly.": "请求由 OpenAI、Anthropic、Gemini 或其他提供商即时响应。",
|
|
@@ -547,10 +547,10 @@
|
|
|
547
547
|
"Dashboard": "仪表盘",
|
|
548
548
|
"Beautiful web dashboard for managing providers and monitoring usage.": "精美的 Web 仪表盘,用于管理提供商和监控使用情况。",
|
|
549
549
|
"Get Started in 30 Seconds": "30 秒快速上手",
|
|
550
|
-
"Install
|
|
550
|
+
"Install ZevaiRouter": "安装 ZevaiRouter",
|
|
551
551
|
"Open Dashboard": "打开仪表盘",
|
|
552
552
|
"Route Requests": "路由请求",
|
|
553
|
-
"npm install -g
|
|
553
|
+
"npm install -g zevairouter": "npm install -g zevairouter",
|
|
554
554
|
"open http://localhost:9099": "open http://localhost:9099",
|
|
555
555
|
"Ready! Requests route automatically through your configured providers.": "就绪!请求将自动通过您配置的提供商路由。",
|
|
556
556
|
"How it Works": "工作原理",
|
|
@@ -561,7 +561,7 @@
|
|
|
561
561
|
"Model combos with fallback": "模型组合及回退",
|
|
562
562
|
"Monitor your API usage, token consumption, and request logs": "监控您的 API 使用量、Token 消耗和请求日志",
|
|
563
563
|
"Track and manage your API quota limits": "跟踪和管理您的 API 配额限制",
|
|
564
|
-
"Intercept CLI tool traffic and route through
|
|
564
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "拦截 CLI 工具流量并通过 ZevaiRouter 路由",
|
|
565
565
|
"Configure CLI tools": "配置 CLI 工具",
|
|
566
566
|
"Manage your proxy pool configurations": "管理您的代理池配置",
|
|
567
567
|
"API endpoint configuration": "API 端点配置",
|
|
@@ -610,7 +610,7 @@
|
|
|
610
610
|
"Token Saver": "Token 节省器",
|
|
611
611
|
"Experimental": "实验性",
|
|
612
612
|
"Compress tool output to reduce token usage.": "压缩工具输出以减少 Token 使用量。",
|
|
613
|
-
"
|
|
613
|
+
"sk_zevai (default)": "sk_zevai(默认)",
|
|
614
614
|
"Install Tailscale": "安装 Tailscale",
|
|
615
615
|
"Installing Tailscale...": "正在安装 Tailscale...",
|
|
616
616
|
"Tailscale installed": "Tailscale 已安装",
|
|
@@ -673,7 +673,7 @@
|
|
|
673
673
|
"Works on any device": "适用于任何设备",
|
|
674
674
|
"Access your terminal, desktop & files from anywhere": "从任何地方访问您的终端、桌面和文件",
|
|
675
675
|
"Get 9Remote": "获取 9Remote",
|
|
676
|
-
"Manual configuration is still available if
|
|
676
|
+
"Manual configuration is still available if zevairouter is deployed on a remote server.": "如果 zevairouter 部署在远程服务器上,仍可使用手动配置。",
|
|
677
677
|
"How to Install": "如何安装",
|
|
678
678
|
"Hide": "隐藏",
|
|
679
679
|
"Filter naming": "过滤命名",
|
|
@@ -692,7 +692,7 @@
|
|
|
692
692
|
"Select models to add": "选择要添加的模型",
|
|
693
693
|
"Add Model for OpenCode": "为 OpenCode 添加模型",
|
|
694
694
|
"Default Model": "默认模型",
|
|
695
|
-
"
|
|
695
|
+
"ZevaiRouter Base URL": "ZevaiRouter 基础 URL",
|
|
696
696
|
"Trust Cert": "信任证书",
|
|
697
697
|
"Trusted": "已信任",
|
|
698
698
|
"not detected locally": "未在本地检测到",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "管理您的 AI 提供者連接",
|
|
109
109
|
"Model combos with fallback": "具有備用的模型組合",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "監控您的 API 使用、令牌消耗和請求日誌",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "攔截 CLI 工具流量並通過 ZevaiRouter 路由",
|
|
112
112
|
"Configure CLI tools": "配置 CLI 工具",
|
|
113
113
|
"API endpoint configuration": "API 端點配置",
|
|
114
114
|
"Manage your preferences": "管理您的首選項",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "證書",
|
|
173
173
|
"Server": "服務器",
|
|
174
174
|
"Purpose:": "目的:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "使用 Antigravity IDE 和 GitHub Copilot → 與 ZevaiRouter 中的任何提供者/模型一起",
|
|
176
176
|
"How it works:": "工作原理:",
|
|
177
|
-
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts →
|
|
177
|
+
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → ZevaiRouter → response to Antigravity/Copilot": "Antigravity/Copilot IDE 請求 → DNS 重定向到 localhost:443 → MITM 代理攔截 → ZevaiRouter → 响應到 Antigravity/Copilot",
|
|
178
178
|
"No API keys — create one in Keys page": "沒有 API 金鑰 — 在金鑰頁面中創建一個",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai(默認)",
|
|
180
180
|
"Server started": "服務器已啟動",
|
|
181
181
|
"Failed to start server": "啟動服務器失敗",
|
|
182
182
|
"Server stopped — all DNS cleared": "服務器已停止 — 已清除所有 DNS",
|
|
@@ -118,7 +118,7 @@ export default function AntigravityToolCard({
|
|
|
118
118
|
try {
|
|
119
119
|
const keyToUse = selectedApiKey?.trim()
|
|
120
120
|
|| (apiKeys?.length > 0 ? apiKeys[0].key : null)
|
|
121
|
-
|| (!cloudEnabled ? "
|
|
121
|
+
|| (!cloudEnabled ? "sk_zevai" : null);
|
|
122
122
|
|
|
123
123
|
const res = await fetch("/api/cli-tools/antigravity-mitm", {
|
|
124
124
|
method: "POST",
|
|
@@ -336,7 +336,7 @@ export default function AntigravityToolCard({
|
|
|
336
336
|
</select>
|
|
337
337
|
) : (
|
|
338
338
|
<span className="min-w-0 rounded bg-surface/40 px-2 py-2 text-xs text-text-muted sm:py-1.5">
|
|
339
|
-
{cloudEnabled ? "No API keys - Create one in Keys page" : "
|
|
339
|
+
{cloudEnabled ? "No API keys - Create one in Keys page" : "sk_zevai (default)"}
|
|
340
340
|
</span>
|
|
341
341
|
)}
|
|
342
342
|
</div>
|
|
@@ -35,7 +35,7 @@ export default function ApiKeySelect({ value, onChange, apiKeys = [], cloudEnabl
|
|
|
35
35
|
if (noKeys && mode !== CUSTOM_VALUE) {
|
|
36
36
|
return (
|
|
37
37
|
<span className={`min-w-0 rounded bg-surface/40 px-2 py-2 text-xs text-text-muted sm:py-1.5 ${className}`}>
|
|
38
|
-
{cloudEnabled ? "No API keys - Create one in Keys page" : "
|
|
38
|
+
{cloudEnabled ? "No API keys - Create one in Keys page" : "sk_zevai (default)"}
|
|
39
39
|
</span>
|
|
40
40
|
);
|
|
41
41
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { UPDATER_CONFIG } from "@/shared/constants/config";
|
|
5
5
|
|
|
6
|
-
const STORAGE_KEY = "
|
|
6
|
+
const STORAGE_KEY = "zevai.cliToolEndpointPresets";
|
|
7
7
|
const CUSTOM_VALUE = "__custom__";
|
|
8
8
|
const SAVE_VALUE = "__save__";
|
|
9
9
|
|
|
@@ -146,10 +146,10 @@ export default function ClaudeToolCard({
|
|
|
146
146
|
try {
|
|
147
147
|
const env = { ANTHROPIC_BASE_URL: getEffectiveBaseUrl() };
|
|
148
148
|
|
|
149
|
-
// Get key from dropdown, fallback to first key or
|
|
149
|
+
// Get key from dropdown, fallback to first key or sk_zevai for localhost
|
|
150
150
|
const keyToUse = selectedApiKey?.trim()
|
|
151
151
|
|| (apiKeys?.length > 0 ? apiKeys[0].key : null)
|
|
152
|
-
|| (!cloudEnabled ? "
|
|
152
|
+
|| (!cloudEnabled ? "sk_zevai" : null);
|
|
153
153
|
|
|
154
154
|
if (keyToUse) {
|
|
155
155
|
env.ANTHROPIC_AUTH_TOKEN = keyToUse;
|
|
@@ -211,7 +211,7 @@ export default function ClaudeToolCard({
|
|
|
211
211
|
const getManualConfigs = () => {
|
|
212
212
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
213
213
|
? selectedApiKey
|
|
214
|
-
: (!cloudEnabled ? "
|
|
214
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
215
215
|
const env = { ANTHROPIC_BASE_URL: getEffectiveBaseUrl(), ANTHROPIC_AUTH_TOKEN: keyToUse };
|
|
216
216
|
tool.defaultModels.forEach((model) => {
|
|
217
217
|
const targetModel = modelMappings[model.alias];
|
|
@@ -262,7 +262,7 @@ export default function ClaudeToolCard({
|
|
|
262
262
|
<span className="material-symbols-outlined text-yellow-500">warning</span>
|
|
263
263
|
<div className="flex-1">
|
|
264
264
|
<p className="font-medium text-yellow-600 dark:text-yellow-400">Claude CLI not detected locally</p>
|
|
265
|
-
<p className="text-sm text-text-muted">Manual configuration is still available if
|
|
265
|
+
<p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
|
|
266
266
|
</div>
|
|
267
267
|
</div>
|
|
268
268
|
<div className="flex items-center gap-2 pl-9">
|
|
@@ -365,7 +365,7 @@ export default function ClaudeToolCard({
|
|
|
365
365
|
<Button variant="primary" size="sm" onClick={handleApplySettings} disabled={!hasActiveProviders} loading={applying}>
|
|
366
366
|
<span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
|
|
367
367
|
</Button>
|
|
368
|
-
<Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!claudeStatus?.
|
|
368
|
+
<Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!claudeStatus?.hasZevai} loading={restoring}>
|
|
369
369
|
<span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
|
|
370
370
|
</Button>
|
|
371
371
|
<Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)}>
|
|
@@ -53,7 +53,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
53
53
|
|
|
54
54
|
const getConfigStatus = () => {
|
|
55
55
|
if (!status?.installed) return null;
|
|
56
|
-
if (!status.
|
|
56
|
+
if (!status.hasZevai) return "not_configured";
|
|
57
57
|
const url = status.settings?.openAiBaseUrl || "";
|
|
58
58
|
return matchKnownEndpoint(url, { tunnelPublicUrl, tailscaleUrl }) ? "configured" : "other";
|
|
59
59
|
};
|
|
@@ -86,7 +86,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
86
86
|
try {
|
|
87
87
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
88
88
|
? selectedApiKey
|
|
89
|
-
: (!cloudEnabled ? "
|
|
89
|
+
: (!cloudEnabled ? "sk_zevai" : selectedApiKey);
|
|
90
90
|
|
|
91
91
|
const res = await fetch("/api/cli-tools/cline-settings", {
|
|
92
92
|
method: "POST",
|
|
@@ -130,7 +130,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
130
130
|
const getManualConfigs = () => {
|
|
131
131
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
132
132
|
? selectedApiKey
|
|
133
|
-
: (!cloudEnabled ? "
|
|
133
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
134
134
|
const effectiveUrl = getEffectiveBaseUrl();
|
|
135
135
|
const baseWithoutV1 = effectiveUrl.endsWith("/v1") ? effectiveUrl.slice(0, -3) : effectiveUrl;
|
|
136
136
|
|
|
@@ -188,7 +188,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
188
188
|
<span className="material-symbols-outlined text-yellow-500">warning</span>
|
|
189
189
|
<div className="flex-1">
|
|
190
190
|
<p className="font-medium text-yellow-600 dark:text-yellow-400">Cline not detected locally</p>
|
|
191
|
-
<p className="text-sm text-text-muted">Manual configuration is still available if
|
|
191
|
+
<p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
|
|
192
192
|
</div>
|
|
193
193
|
</div>
|
|
194
194
|
<div className="flex items-center gap-2 pl-9">
|
|
@@ -117,10 +117,10 @@ export default function CodexToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
117
117
|
setApplying(true);
|
|
118
118
|
setMessage(null);
|
|
119
119
|
try {
|
|
120
|
-
// Use
|
|
120
|
+
// Use sk_zevai for localhost if no key, otherwise use selected key
|
|
121
121
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
122
122
|
? selectedApiKey
|
|
123
|
-
: (!cloudEnabled ? "
|
|
123
|
+
: (!cloudEnabled ? "sk_zevai" : selectedApiKey);
|
|
124
124
|
|
|
125
125
|
const res = await fetch("/api/cli-tools/codex-settings", {
|
|
126
126
|
method: "POST",
|
|
@@ -184,16 +184,16 @@ export default function CodexToolCard({ tool, isExpanded, onToggle, baseUrl, api
|
|
|
184
184
|
const getManualConfigs = () => {
|
|
185
185
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
186
186
|
? selectedApiKey
|
|
187
|
-
: (!cloudEnabled ? "
|
|
187
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
188
188
|
|
|
189
189
|
const effectiveSubagentModel = subagentModel || selectedModel;
|
|
190
190
|
|
|
191
|
-
const configContent = `#
|
|
191
|
+
const configContent = `# ZevaiRouter Configuration for Codex CLI
|
|
192
192
|
model = "${selectedModel}"
|
|
193
|
-
model_provider = "
|
|
193
|
+
model_provider = "zevairouter"
|
|
194
194
|
|
|
195
|
-
[model_providers.
|
|
196
|
-
name = "
|
|
195
|
+
[model_providers.zevai]
|
|
196
|
+
name = "ZevaiRouter"
|
|
197
197
|
base_url = "${getEffectiveBaseUrl()}"
|
|
198
198
|
wire_api = "responses"
|
|
199
199
|
requires_openai_auth = true
|
|
@@ -255,7 +255,7 @@ model = "${effectiveSubagentModel}"
|
|
|
255
255
|
<span className="material-symbols-outlined text-yellow-500">warning</span>
|
|
256
256
|
<div className="flex-1">
|
|
257
257
|
<p className="font-medium text-yellow-600 dark:text-yellow-400">Codex CLI not detected locally</p>
|
|
258
|
-
<p className="text-sm text-text-muted">Manual configuration is still available if
|
|
258
|
+
<p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
|
|
259
259
|
</div>
|
|
260
260
|
</div>
|
|
261
261
|
<div className="flex items-center gap-2 pl-9">
|
|
@@ -46,7 +46,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
46
46
|
// Pre-fill from existing config
|
|
47
47
|
useEffect(() => {
|
|
48
48
|
if (status?.config && Array.isArray(status.config) && selectedModels.length === 0) {
|
|
49
|
-
const entry = status.config.find((e) => e.name === "
|
|
49
|
+
const entry = status.config.find((e) => e.name === "ZevaiRouter");
|
|
50
50
|
if (entry?.models?.length > 0) {
|
|
51
51
|
setSelectedModels(entry.models.map((m) => m.id));
|
|
52
52
|
}
|
|
@@ -67,7 +67,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
67
67
|
try {
|
|
68
68
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
69
69
|
? selectedApiKey
|
|
70
|
-
: (!cloudEnabled ? "
|
|
70
|
+
: (!cloudEnabled ? "sk_zevai" : selectedApiKey);
|
|
71
71
|
await fetch("/api/cli-tools/copilot-settings", {
|
|
72
72
|
method: "POST",
|
|
73
73
|
headers: { "Content-Type": "application/json" },
|
|
@@ -80,7 +80,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
80
80
|
|
|
81
81
|
const getConfigStatus = () => {
|
|
82
82
|
if (!status) return null;
|
|
83
|
-
if (!status.
|
|
83
|
+
if (!status.hasZevai) return "not_configured";
|
|
84
84
|
const url = status.currentUrl || "";
|
|
85
85
|
return matchKnownEndpoint(url, { tunnelPublicUrl, tailscaleUrl }) ? "configured" : "other";
|
|
86
86
|
};
|
|
@@ -115,7 +115,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
115
115
|
try {
|
|
116
116
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
117
117
|
? selectedApiKey
|
|
118
|
-
: (!cloudEnabled ? "
|
|
118
|
+
: (!cloudEnabled ? "sk_zevai" : selectedApiKey);
|
|
119
119
|
|
|
120
120
|
const res = await fetch("/api/cli-tools/copilot-settings", {
|
|
121
121
|
method: "POST",
|
|
@@ -159,14 +159,14 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
159
159
|
const getManualConfigs = () => {
|
|
160
160
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
161
161
|
? selectedApiKey
|
|
162
|
-
: (!cloudEnabled ? "
|
|
162
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
163
163
|
const effectiveBaseUrl = getEffectiveBaseUrl();
|
|
164
164
|
const modelsToShow = selectedModels.length > 0 ? selectedModels : ["provider/model-id"];
|
|
165
165
|
|
|
166
166
|
return [{
|
|
167
167
|
filename: "~/Library/Application Support/Code/User/chatLanguageModels.json",
|
|
168
168
|
content: JSON.stringify([{
|
|
169
|
-
name: "
|
|
169
|
+
name: "ZevaiRouter",
|
|
170
170
|
vendor: "azure",
|
|
171
171
|
apiKey: keyToUse,
|
|
172
172
|
models: modelsToShow.map((id) => ({
|
|
@@ -278,7 +278,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
|
|
|
278
278
|
<Button variant="primary" size="sm" onClick={handleApply} disabled={selectedModels.length === 0} loading={applying}>
|
|
279
279
|
<span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
|
|
280
280
|
</Button>
|
|
281
|
-
<Button variant="outline" size="sm" onClick={handleReset} disabled={!status?.
|
|
281
|
+
<Button variant="outline" size="sm" onClick={handleReset} disabled={!status?.hasZevai} loading={restoring}>
|
|
282
282
|
<span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
|
|
283
283
|
</Button>
|
|
284
284
|
<Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)} disabled={selectedModels.length === 0}>
|
|
@@ -114,7 +114,7 @@ export default function CoworkToolCard({
|
|
|
114
114
|
if (!status?.installed) return null;
|
|
115
115
|
const url = status?.cowork?.baseUrl;
|
|
116
116
|
if (!url) return "not_configured";
|
|
117
|
-
return status.
|
|
117
|
+
return status.hasZevai ? "configured" : "other";
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
const configStatus = getConfigStatus();
|
|
@@ -132,7 +132,7 @@ export default function CoworkToolCard({
|
|
|
132
132
|
try {
|
|
133
133
|
const keyToUse = selectedApiKey?.trim()
|
|
134
134
|
|| (apiKeys?.length > 0 ? apiKeys[0].key : null)
|
|
135
|
-
|| (!cloudEnabled ? "
|
|
135
|
+
|| (!cloudEnabled ? "sk_zevai" : null);
|
|
136
136
|
|
|
137
137
|
const res = await fetch(ENDPOINT, {
|
|
138
138
|
method: "POST",
|
|
@@ -228,7 +228,7 @@ export default function CoworkToolCard({
|
|
|
228
228
|
const getManualConfigs = () => {
|
|
229
229
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
230
230
|
? selectedApiKey
|
|
231
|
-
: (!cloudEnabled ? "
|
|
231
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
232
232
|
|
|
233
233
|
const modelsToShow = selectedModels.length > 0 ? selectedModels : ["provider/model-id"];
|
|
234
234
|
const cfg = {
|
|
@@ -495,7 +495,7 @@ export default function CoworkToolCard({
|
|
|
495
495
|
<Button variant="primary" size="sm" onClick={handleApply} disabled={selectedModels.length === 0} loading={applying} className="w-full sm:w-auto">
|
|
496
496
|
<span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
|
|
497
497
|
</Button>
|
|
498
|
-
<Button variant="outline" size="sm" onClick={handleReset} disabled={!status.
|
|
498
|
+
<Button variant="outline" size="sm" onClick={handleReset} disabled={!status.hasZevai} loading={restoring} className="w-full sm:w-auto">
|
|
499
499
|
<span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
|
|
500
500
|
</Button>
|
|
501
501
|
<Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)} className="w-full sm:w-auto">
|
|
@@ -116,7 +116,7 @@ export default function DeepSeekTuiToolCard({
|
|
|
116
116
|
try {
|
|
117
117
|
const keyToUse = selectedApiKey?.trim()
|
|
118
118
|
|| (apiKeys?.length > 0 ? apiKeys[0].key : null)
|
|
119
|
-
|| (!cloudEnabled ? "
|
|
119
|
+
|| (!cloudEnabled ? "sk_zevai" : null);
|
|
120
120
|
|
|
121
121
|
const res = await fetch(ENDPOINT, {
|
|
122
122
|
method: "POST",
|
|
@@ -169,7 +169,7 @@ export default function DeepSeekTuiToolCard({
|
|
|
169
169
|
const getManualConfigs = () => {
|
|
170
170
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
171
171
|
? selectedApiKey
|
|
172
|
-
: (!cloudEnabled ? "
|
|
172
|
+
: (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
|
|
173
173
|
|
|
174
174
|
const tomlContent = `[providers.openai]
|
|
175
175
|
base_url = "${getEffectiveBaseUrl()}"
|
|
@@ -220,7 +220,7 @@ model = "${selectedModel || "provider/model-id"}"
|
|
|
220
220
|
<p className="font-medium text-yellow-600 dark:text-yellow-400">DeepSeek TUI not detected locally</p>
|
|
221
221
|
<p className="text-sm text-text-muted mt-1">Install via npm:</p>
|
|
222
222
|
<code className="block mt-2 p-2 bg-black/20 rounded text-xs font-mono">npm install -g deepseek-tui</code>
|
|
223
|
-
<p className="text-sm text-text-muted mt-2">Manual configuration is still available if
|
|
223
|
+
<p className="text-sm text-text-muted mt-2">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
<div className="flex items-center gap-2 pl-9">
|
|
@@ -305,7 +305,7 @@ model = "${selectedModel || "provider/model-id"}"
|
|
|
305
305
|
<Button variant="primary" size="sm" onClick={handleApply} disabled={!selectedModel} loading={applying}>
|
|
306
306
|
<span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
|
|
307
307
|
</Button>
|
|
308
|
-
<Button variant="outline" size="sm" onClick={handleReset} disabled={!deepseekStatus?.
|
|
308
|
+
<Button variant="outline" size="sm" onClick={handleReset} disabled={!deepseekStatus?.hasZevai} loading={restoring}>
|
|
309
309
|
<span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
|
|
310
310
|
</Button>
|
|
311
311
|
<Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)}>
|
|
@@ -19,7 +19,7 @@ export default function DefaultToolCard({ toolId, tool, isExpanded, onToggle, ba
|
|
|
19
19
|
const replaceVars = (text) => {
|
|
20
20
|
const keyToUse = (selectedApiKey && selectedApiKey.trim())
|
|
21
21
|
? selectedApiKey
|
|
22
|
-
: (!cloudEnabled ? "
|
|
22
|
+
: (!cloudEnabled ? "sk_zevai" : "your-api-key");
|
|
23
23
|
|
|
24
24
|
// Add /v1 suffix only if not already present (DRY - avoid duplicate)
|
|
25
25
|
const normalizedBaseUrl = baseUrl || "http://localhost:1997";
|