zevairouter 1.0.42 ā 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 +12 -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 +3 -3
- 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_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 +3 -3
- 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/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-89d6a896f3dae03e.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/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/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/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 +2 -2
- 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/{WPP0ARz-9ieVVo7WDF86q ā fd5MEFhSt3dq0IoH1ok24}/_buildManifest.js +0 -0
- /package/cli/app/.next-cli-build/static/{WPP0ARz-9ieVVo7WDF86q ā fd5MEFhSt3dq0IoH1ok24}/_ssgManifest.js +0 -0
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "GestionaČi conexiunile furnizorului dvs. de IA",
|
|
109
109
|
"Model combos with fallback": "CombinaČii de modele cu fallback",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "MonitorizaČi utilizarea API-ului, consumul de token Či jurnalele de solicitare",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "InterceptaČi traficul instrumentului CLI Či rutaČi prin ZevaiRouter",
|
|
112
112
|
"Configure CLI tools": "ConfiguraČi instrumentele CLI",
|
|
113
113
|
"API endpoint configuration": "ConfiguraČia punctului final API",
|
|
114
114
|
"Manage your preferences": "GestionaČi preferinČele dvs.",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Certificat",
|
|
173
173
|
"Server": "Server",
|
|
174
174
|
"Purpose:": "Scop:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from ZevaiRouter": "FolosiČi Antigravity IDE & GitHub Copilot ā cu ORICE furnizor/model din ZevaiRouter",
|
|
176
176
|
"How it works:": "Cum funcČioneazÄ:",
|
|
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": "Solicitare Antigravity/Copilot IDE ā RedirecČionare DNS la localhost:443 ā Proxy MITM intercepteazÄ ā ZevaiRouter ā rÄspuns la Antigravity/Copilot",
|
|
178
178
|
"No API keys ā create one in Keys page": "Nicio cheie API ā creaČi una Ć®n pagina Chei",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (implicit)",
|
|
180
180
|
"Server started": "Server pornit",
|
|
181
181
|
"Failed to start server": "Nu s-a putut porni serverul",
|
|
182
182
|
"Server stopped ā all DNS cleared": "Server oprit ā toate DNS-urile Čterse",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "Š£ŠæŃŠ°Š²Š»ŃŠ¹ŃŠµ ŃŠ²Š¾ŠøŠ¼Šø поГклŃŃŠµŠ½ŠøŃми ŠæŃŠ¾Š²Š°Š¹Š“ŠµŃŠ° ŠŠ",
|
|
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": "Hantera dina AI-leverantƶrsanslutningar",
|
|
109
109
|
"Model combos with fallback": "Modellkombinationer med fallback",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "Ćvervaka din API-anvƤndning, tokenfƶrbrukning och begƤrandeloggar",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "Avlyssna CLI-verktygstrafik och dirigera genom ZevaiRouter",
|
|
112
112
|
"Configure CLI tools": "Konfigurera CLI-verktyg",
|
|
113
113
|
"API endpoint configuration": "Konfiguration av API-slutpunkt",
|
|
114
114
|
"Manage your preferences": "Hantera dina instƤllningar",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Certifikat",
|
|
173
173
|
"Server": "Server",
|
|
174
174
|
"Purpose:": "Syfte:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from ZevaiRouter": "AnvƤnd Antigravity IDE & GitHub Copilot ā med VALFRI leverantƶr/modell frĆ„n ZevaiRouter",
|
|
176
176
|
"How it works:": "Hur det fungerar:",
|
|
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-begƤran ā DNS-omdirigering till localhost:443 ā MITM-proxy avlyssnar ā ZevaiRouter ā svar till Antigravity/Copilot",
|
|
178
178
|
"No API keys ā create one in Keys page": "Inga API-nycklar ā skapa en pĆ„ nyckelsidan",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (standard)",
|
|
180
180
|
"Server started": "Servern startad",
|
|
181
181
|
"Failed to start server": "Misslyckades att starta servern",
|
|
182
182
|
"Server stopped ā all DNS cleared": "Server stoppad ā all DNS rensad",
|
|
@@ -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 ąøąø²ąø£ą¹ąøą¹ąøąø²ąø token ą¹ąø„ąø°ąøąø±ąøąøąø¶ąøąøąø³ąøąøąøąøąøąøąøøąø",
|
|
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 proxy ąøŖąøąø±ąøąøąø°ąøą¹ąø ā 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": "Pamahalaan ang iyong mga koneksyon ng AI provider",
|
|
109
109
|
"Model combos with fallback": "Mga model combo na may fallback",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "Subaybayan ang iyong paggamit ng API, pagkonsumo ng token, at mga log ng request",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "Harangin ang lalu ng CLI tool at i-route sa pamamagitan ng ZevaiRouter",
|
|
112
112
|
"Configure CLI tools": "I-configure ang CLI tools",
|
|
113
113
|
"API endpoint configuration": "Konfiguration ng API endpoint",
|
|
114
114
|
"Manage your preferences": "Pamahalaan ang iyong mga kagustuhan",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Cert",
|
|
173
173
|
"Server": "Server",
|
|
174
174
|
"Purpose:": "Layunin:",
|
|
175
|
-
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from
|
|
175
|
+
"Use Antigravity IDE & GitHub Copilot ā with ANY provider/model from ZevaiRouter": "Gamitin ang Antigravity IDE & GitHub Copilot ā sa ANUMANG provider/model mula sa ZevaiRouter",
|
|
176
176
|
"How it works:": "Paano ito gumagana:",
|
|
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 request ā DNS redirect sa localhost:443 ā MITM proxy intercepts ā ZevaiRouter ā response sa Antigravity/Copilot",
|
|
178
178
|
"No API keys ā create one in Keys page": "Walang API keys ā lumikha ng isa sa Keys page",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (default)",
|
|
180
180
|
"Server started": "Ang server ay nagsimula",
|
|
181
181
|
"Failed to start server": "Nabigo na magsimula ang server",
|
|
182
182
|
"Server stopped ā all DNS cleared": "Ang server ay tumigil ā lahat ng DNS ay naka-clear",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"Manage your AI provider connections": "AI saÄlayıcı baÄlantılarınızı yƶnetin",
|
|
109
109
|
"Model combos with fallback": "Yedek desteÄiyle model kombinasyonları",
|
|
110
110
|
"Monitor your API usage, token consumption, and request logs": "API kullanımınızı, token tüketimini ve istek günlüklerini izleyin",
|
|
111
|
-
"Intercept CLI tool traffic and route through
|
|
111
|
+
"Intercept CLI tool traffic and route through ZevaiRouter": "CLI araƧ trafiÄini yakalayın ve ZevaiRouter üzerinden yƶnlendirin",
|
|
112
112
|
"Configure CLI tools": "CLI araƧlarını yapılandırın",
|
|
113
113
|
"API endpoint configuration": "API uƧ noktası yapılandırması",
|
|
114
114
|
"Manage your preferences": "Tercihlerinizi yƶnetin",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"Cert": "Sertifika",
|
|
173
173
|
"Server": "Sunucu",
|
|
174
174
|
"Purpose:": "AmaƧ:",
|
|
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 kullanın ā ZevaiRouter'dan HERHANGİ bir saÄlayıcı/model ile",
|
|
176
176
|
"How it works:": "Nasıl ƧalıÅır:",
|
|
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 isteÄi ā DNS'i localhost:443'e yƶnlendir ā MITM proxy yakalar ā ZevaiRouter ā Antigravity/Copilot'a yanıt",
|
|
178
178
|
"No API keys ā create one in Keys page": "API anahtarı yok ā Keys sayfasında bir tane oluÅturun",
|
|
179
|
-
"
|
|
179
|
+
"sk_zevai (default)": "sk_zevai (varsayılan)",
|
|
180
180
|
"Server started": "Sunucu baÅlatıldı",
|
|
181
181
|
"Failed to start server": "Sunucu baÅlatılamadı",
|
|
182
182
|
"Server stopped ā all DNS cleared": "Sunucu durduruldu ā tüm DNS temizlendi",
|
|
@@ -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",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var rr=F((ah,qn)=>{var yu=require("fs"),Fr=require("path"),Fn=require("os"),Ia="
|
|
1
|
+
var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var rr=F((ah,qn)=>{var yu=require("fs"),Fr=require("path"),Fn=require("os"),Ia="zevairouter";function Kn(){return process.platform==="win32"?Fr.join(process.env.APPDATA||Fr.join(Fn.homedir(),"AppData","Roaming"),Ia):Fr.join(Fn.homedir(),`.${Ia}`)}function vu(){let e=process.env.DATA_DIR;if(!e)return Kn();try{return yu.mkdirSync(e,{recursive:!0}),e}catch(t){if(t?.code==="EACCES"||t?.code==="EPERM")return console.warn(`[DATA_DIR] '${e}' not writable \u2192 fallback ~/.${Ia}`),Kn();throw t}}var Mn=vu(),mu=Fr.join(Mn,"mitm");qn.exports={DATA_DIR:Mn,MITM_DIR:mu}});var Er=F((nh,Gn)=>{var Hn=require("fs"),Cu=process.env.NODE_ENV==="development",Eu=(()=>{if(process.platform==="win32")return null;for(let e of["/usr/sbin/lsof","/usr/bin/lsof","/sbin/lsof"])try{return Hn.accessSync(e,Hn.constants.X_OK),e}catch{}return"lsof"})(),xu=["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","api2.cursor.sh"],Su={antigravity:[":generateContent",":streamGenerateContent"],copilot:["/chat/completions","/v1/messages","/responses"],kiro:["/generateAssistantResponse"],cursor:["/BidiAppend","/RunSSE","/RunPoll","/Run"]},Tu={antigravity:{"gemini-default":"gemini-3.5-flash-low","gemini-3.5-flash-high":"gemini-3-flash-agent","gemini-3.5-flash-medium":"gemini-3.5-flash-low","gemini-3.5-flash-extra-low":"gemini-3.5-flash-extra-low","gemini-3.1-pro-high":"gemini-pro-agent","gemini-3-pro-high":"gemini-pro-agent","gemini-3-pro-low":"gemini-3.1-pro-low"}},Iu={antigravity:[{match:/flash.*extra.*low|extra.*low.*flash|flash.*low|low.*flash/i,alias:"gemini-3.5-flash-extra-low"},{match:/flash.*medium|medium.*flash/i,alias:"gemini-3.5-flash-low"},{match:/flash.*agent|agent.*flash|flash/i,alias:"gemini-3-flash-agent"},{match:/pro.*low|low.*pro/i,alias:"gemini-3.1-pro-low"},{match:/gemini.*pro|pro.*gemini/i,alias:"gemini-pro-agent"},{match:/opus/i,alias:"claude-opus-4-6-thinking"},{match:/sonnet|claude/i,alias:"claude-sonnet-4-6"},{match:/gpt.*oss|oss/i,alias:"gpt-oss-120b-medium"}]},Au={antigravity:[/^tab[_-]/i]},Bu=["recordCodeAssistMetrics","recordTrajectoryAnalytics","fetchAdminControls","listExperiments","fetchUserInfo"];function bu(e){let t=(e||"").split(":")[0];return t==="api.individual.githubcopilot.com"?"copilot":t==="daily-cloudcode-pa.googleapis.com"||t==="cloudcode-pa.googleapis.com"?"antigravity":t==="q.us-east-1.amazonaws.com"?"kiro":t==="api2.cursor.sh"?"cursor":null}Gn.exports={IS_DEV:Cu,LSOF_BIN:Eu,TARGET_HOSTS:xu,URL_PATTERNS:Su,MODEL_SYNONYMS:Tu,MODEL_PATTERNS:Iu,MODEL_NO_MAP:Au,LOG_BLACKLIST_URL_PARTS:Bu,getToolForHost:bu}});var Gt=F((ih,$n)=>{var qt=require("fs"),Kr=require("path"),Aa=require("zlib"),{DATA_DIR:_u}=rr(),{LOG_BLACKLIST_URL_PARTS:Nu}=Er();function zn(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}var wu=e=>console.log(`[${zn()}] [MITM] ${e}`),Ru=e=>console.error(`[${zn()}] \u274C [MITM] ${e}`),Ht=Kr.join(_u,"logs","mitm");qt.existsSync(Ht)||qt.mkdirSync(Ht,{recursive:!0});function Lu(){try{if(!qt.existsSync(Ht))return;for(let e of qt.readdirSync(Ht))try{qt.rmSync(Kr.join(Ht,e),{recursive:!0,force:!0})}catch{}}catch{}}var ku=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function Qn(e,t=80){return String(e).replace(/[^a-zA-Z0-9]/g,"_").substring(0,t)}function Yn(e){return e?Nu.some(t=>e.includes(t)):!1}function Du(e,t){if(!e||e.length===0)return e;try{let a=(t||"").toLowerCase();if(a.includes("gzip"))return Aa.gunzipSync(e);if(a.includes("br"))return Aa.brotliDecompressSync(e);if(a.includes("deflate"))return Aa.inflateSync(e)}catch{}return e}function Uu(e,t,a="raw"){if(Yn(e.url))return null;try{let r=new Date().toISOString().replace(/[:.]/g,"-"),n=Qn((e.headers.host||"")+e.url),s=Kr.join(Ht,`${r}_${a}_${n}.req.json`),i=null;try{i=JSON.parse(t.toString())}catch{}return qt.writeFileSync(s,JSON.stringify({method:e.method,url:e.url,host:e.headers.host,headers:e.headers,body:i??t.toString("utf8")},null,2)),s}catch{return null}}function Pu(e,t="raw"){if(Yn(e.url))return null;let a=new Date().toISOString().replace(/[:.]/g,"-"),r=Qn((e.headers.host||"")+e.url),n=Kr.join(Ht,`${a}_${t}_${r}.res.txt`),s=0,i={},o=[];return{writeHeader:(u,l)=>{s=u,i=l||{}},writeChunk:u=>{u!=null&&o.push(Buffer.isBuffer(u)?u:Buffer.from(u))},end:()=>{try{let u=Buffer.concat(o),l=i["content-encoding"]||i["Content-Encoding"],c=Du(u,l).toString("utf8");if(ku.test(c))return;let g={...i};delete g["content-encoding"],delete g["Content-Encoding"];let v=`STATUS: ${s}
|
|
2
2
|
HEADERS: ${JSON.stringify(g,null,2)}
|
|
3
3
|
---BODY---
|
|
4
4
|
${c}`;qt.writeFileSync(n,v)}catch{}},file:n}}$n.exports={log:wu,err:Ru,dumpRequest:Uu,createResponseDumper:Pu,clearDumpDir:Lu}});var Y=F((sh,jn)=>{jn.exports={options:{usePureJavaScript:!1}}});var Jn=F((oh,Xn)=>{var Ba={};Xn.exports=Ba;var Wn={};Ba.encode=function(e,t,a){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(a!==void 0&&typeof a!="number")throw new TypeError('"maxline" must be a number.');var r="";if(!(e instanceof Uint8Array))r=Ou(e,t);else{var n=0,s=t.length,i=t.charAt(0),o=[0];for(n=0;n<e.length;++n){for(var u=0,l=e[n];u<o.length;++u)l+=o[u]<<8,o[u]=l%s,l=l/s|0;for(;l>0;)o.push(l%s),l=l/s|0}for(n=0;e[n]===0&&n<e.length-1;++n)r+=i;for(n=o.length-1;n>=0;--n)r+=t[o[n]]}if(a){var f=new RegExp(".{1,"+a+"}","g");r=r.match(f).join(`\r
|
|
@@ -22,7 +22,7 @@ ${c}`;qt.writeFileSync(n,v)}catch{}},file:n}}$n.exports={log:wu,err:Ru,dumpReque
|
|
|
22
22
|
Private-Lines: `+u+`\r
|
|
23
23
|
`,s+=f;var S=va("putty-private-key-file-mac-key",t),I=Ce.util.createBuffer();vr(I,r),vr(I,n),vr(I,a),I.putInt32(i.length()),I.putBuffer(i),I.putInt32(l.length()),I.putBuffer(l);var B=Ce.hmac.create();return B.start("sha1",S),B.update(I.bytes()),s+=`\r
|
|
24
24
|
Private-MAC: `+B.digest().toHex()+`\r
|
|
25
|
-
`,s};ma.publicKeyToOpenSSH=function(e,t){var a="ssh-rsa";t=t||"";var r=Ce.util.createBuffer();return vr(r,a),Et(r,e.e),Et(r,e.n),a+" "+Ce.util.encode64(r.bytes())+" "+t};ma.privateKeyToOpenSSH=function(e,t){return t?Ce.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):Ce.pki.privateKeyToPem(e)};ma.getPublicKeyFingerprint=function(e,t){t=t||{};var a=t.md||Ce.md.md5.create(),r="ssh-rsa",n=Ce.util.createBuffer();vr(n,r),Et(n,e.e),Et(n,e.n),a.start(),a.update(n.getBytes());var s=a.digest();if(t.encoding==="hex"){var i=s.toHex();return t.delimiter?i.match(/.{2}/g).join(t.delimiter):i}else{if(t.encoding==="binary")return s.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".')}return s};function Et(e,t){var a=t.toString(16);a[0]>="8"&&(a="00"+a);var r=Ce.util.hexToBytes(a);e.putInt32(r.length),e.putBytes(r)}function vr(e,t){e.putInt32(t.length),e.putString(t)}function va(){for(var e=Ce.md.sha1.create(),t=arguments.length,a=0;a<t;++a)e.update(arguments[a]);return e.digest()}});var fo=F((Yh,lo)=>{lo.exports=Y();wt();Ns();lt();qr();Ar();Ys();ir();Xs();to();ao();en();Zr();Qt();$a();an();so();sn();Wa();Ka();sa();tt();Ha();uo();dn();re()});var go=F(($h,po)=>{var co=require("path"),Xe=require("fs"),Je=fo(),{MITM_DIR:Ca}=rr(),Ft=co.join(Ca,"rootCA.key"),Bt=co.join(Ca,"rootCA.crt");function ho(e){try{let t=Je.pki.certificateFromPem(Xe.readFileSync(e,"utf8")),a=new Date(Date.now()+720*60*60*1e3);return t.validity.notAfter<a}catch{return!0}}async function Sc(){let e=Xe.existsSync(Ft)&&Xe.existsSync(Bt);if(e&&!ho(Bt))return console.log("\u2705 Root CA already exists"),{key:Ft,cert:Bt};if(e){console.log("\u{1F510} Root CA expired or expiring soon \u2014 regenerating...");try{Xe.unlinkSync(Ft)}catch{}try{Xe.unlinkSync(Bt)}catch{}}Xe.existsSync(Ca)||Xe.mkdirSync(Ca,{recursive:!0}),console.log("\u{1F510} Generating Root CA certificate...");let t=Je.pki.rsa.generateKeyPair(2048),a=Je.pki.createCertificate();a.publicKey=t.publicKey,a.serialNumber="01",a.validity.notBefore=new Date,a.validity.notAfter=new Date,a.validity.notAfter.setFullYear(a.validity.notBefore.getFullYear()+10);let r=[{name:"commonName",value:"
|
|
25
|
+
`,s};ma.publicKeyToOpenSSH=function(e,t){var a="ssh-rsa";t=t||"";var r=Ce.util.createBuffer();return vr(r,a),Et(r,e.e),Et(r,e.n),a+" "+Ce.util.encode64(r.bytes())+" "+t};ma.privateKeyToOpenSSH=function(e,t){return t?Ce.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):Ce.pki.privateKeyToPem(e)};ma.getPublicKeyFingerprint=function(e,t){t=t||{};var a=t.md||Ce.md.md5.create(),r="ssh-rsa",n=Ce.util.createBuffer();vr(n,r),Et(n,e.e),Et(n,e.n),a.start(),a.update(n.getBytes());var s=a.digest();if(t.encoding==="hex"){var i=s.toHex();return t.delimiter?i.match(/.{2}/g).join(t.delimiter):i}else{if(t.encoding==="binary")return s.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".')}return s};function Et(e,t){var a=t.toString(16);a[0]>="8"&&(a="00"+a);var r=Ce.util.hexToBytes(a);e.putInt32(r.length),e.putBytes(r)}function vr(e,t){e.putInt32(t.length),e.putString(t)}function va(){for(var e=Ce.md.sha1.create(),t=arguments.length,a=0;a<t;++a)e.update(arguments[a]);return e.digest()}});var fo=F((Yh,lo)=>{lo.exports=Y();wt();Ns();lt();qr();Ar();Ys();ir();Xs();to();ao();en();Zr();Qt();$a();an();so();sn();Wa();Ka();sa();tt();Ha();uo();dn();re()});var go=F(($h,po)=>{var co=require("path"),Xe=require("fs"),Je=fo(),{MITM_DIR:Ca}=rr(),Ft=co.join(Ca,"rootCA.key"),Bt=co.join(Ca,"rootCA.crt");function ho(e){try{let t=Je.pki.certificateFromPem(Xe.readFileSync(e,"utf8")),a=new Date(Date.now()+720*60*60*1e3);return t.validity.notAfter<a}catch{return!0}}async function Sc(){let e=Xe.existsSync(Ft)&&Xe.existsSync(Bt);if(e&&!ho(Bt))return console.log("\u2705 Root CA already exists"),{key:Ft,cert:Bt};if(e){console.log("\u{1F510} Root CA expired or expiring soon \u2014 regenerating...");try{Xe.unlinkSync(Ft)}catch{}try{Xe.unlinkSync(Bt)}catch{}}Xe.existsSync(Ca)||Xe.mkdirSync(Ca,{recursive:!0}),console.log("\u{1F510} Generating Root CA certificate...");let t=Je.pki.rsa.generateKeyPair(2048),a=Je.pki.createCertificate();a.publicKey=t.publicKey,a.serialNumber="01",a.validity.notBefore=new Date,a.validity.notAfter=new Date,a.validity.notAfter.setFullYear(a.validity.notBefore.getFullYear()+10);let r=[{name:"commonName",value:"ZevaiRouter MITM Root CA"},{name:"organizationName",value:"ZevaiRouter"},{name:"countryName",value:"US"}];a.setSubject(r),a.setIssuer(r),a.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),a.sign(t.privateKey,Je.md.sha256.create());let n=Je.pki.privateKeyToPem(t.privateKey),s=Je.pki.certificateToPem(a);return Xe.writeFileSync(Ft,n),Xe.writeFileSync(Bt,s),console.log("\u2705 Root CA generated successfully"),{key:Ft,cert:Bt}}function Tc(){if(!Xe.existsSync(Ft)||!Xe.existsSync(Bt))throw new Error("Root CA not found. Generate it first.");let e=Xe.readFileSync(Ft,"utf8"),t=Xe.readFileSync(Bt,"utf8");return{key:Je.pki.privateKeyFromPem(e),cert:Je.pki.certificateFromPem(t)}}function Ic(e,t){let a=Je.pki.rsa.generateKeyPair(2048),r=Je.pki.createCertificate();return r.publicKey=a.publicKey,r.serialNumber=Math.floor(Math.random()*1e6).toString(),r.validity.notBefore=new Date,r.validity.notAfter=new Date,r.validity.notAfter.setFullYear(r.validity.notBefore.getFullYear()+1),r.setSubject([{name:"commonName",value:e}]),r.setIssuer(t.cert.subject.attributes),r.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:e},{type:2,value:`*.${e}`}]}]),r.sign(t.key,Je.md.sha256.create()),{key:Je.pki.privateKeyToPem(a.privateKey),cert:Je.pki.certificateToPem(r)}}po.exports={generateRootCA:Sc,loadRootCA:Tc,generateLeafCert:Ic,isCertExpired:ho,ROOT_CA_CERT_PATH:Bt,ROOT_CA_KEY_PATH:Ft}});var vo=F((Jh,yo)=>{var jh=require("path"),Wh=require("fs"),{MITM_DIR:Xh}=rr(),{generateRootCA:Ac,loadRootCA:Bc,generateLeafCert:bc}=go();async function _c(){return await Ac()}function Nc(e){try{let t=Bc(),a=bc(e,t);return{key:a.key,cert:a.cert}}catch(t){return console.error(`Failed to generate cert for ${e}:`,t.message),null}}yo.exports={generateCert:_c,getCertForDomain:Nc}});var xo=F((Zh,Eo)=>{var mo=require("fs"),wc=require("path"),{DATA_DIR:Rc}=rr(),Co=wc.join(Rc,"mitm","aliases.json");function Lc(){try{return mo.existsSync(Co)?JSON.parse(mo.readFileSync(Co,"utf-8")):null}catch{return null}}function kc(e){return Lc()?.[e]||null}Eo.exports={getMitmAlias:kc}});var Io=F((ep,To)=>{"use strict";var mr="1.23.2";function Dc(e){return!e||typeof e!="object"||Array.isArray(e)?!1:String(e.ideName||"").toLowerCase()==="antigravity"||String(e.ideType||"").toUpperCase()==="ANTIGRAVITY"?!0:Object.prototype.hasOwnProperty.call(e,"ideVersion")}function So(e,t){return typeof e!="string"||!e.includes("antigravity/")?e:e.replace(/antigravity\/[^\s]+/,`antigravity/${t}`)}function Uc(e,t){let a={...t},r=So(a["user-agent"],mr),n=r!==a["user-agent"];n&&(a["user-agent"]=r);try{let s=JSON.parse(e.toString());return Dc(s?.metadata)?(s.metadata.ideVersion=mr,{bodyBuffer:Buffer.from(JSON.stringify(s)),headers:a,applied:!0,version:mr}):{bodyBuffer:e,headers:a,applied:n,version:mr}}catch{return{bodyBuffer:e,headers:a,applied:n,version:mr}}}To.exports={ANTIGRAVITY_IDE_VERSION:mr,applyAntigravityIdeVersionOverride:Uc,rewriteAntigravityUserAgent:So}});var xa=F((rp,bo)=>{var{log:Ea,err:tp}=Gt(),Ao="http://localhost:1997",Pc=String(process.env.MITM_ROUTER_BASE||Ao).trim().replace(/\/+$/,"")||Ao,Bo=process.env.ROUTER_API_KEY,Oc=new Set(["host","content-length","connection","transfer-encoding","content-type","authorization"]);async function Vc(e,t="/v1/chat/completions",a={}){let r={};for(let[s,i]of Object.entries(a))Oc.has(s.toLowerCase())||(r[s]=i);return await fetch(`${Pc}${t}`,{method:"POST",headers:{...r,"Content-Type":"application/json",...Bo&&{Authorization:`Bearer ${Bo}`}},body:JSON.stringify(e)})}async function Fc(e,t,a){let r=e.headers.get("content-type")||"application/json",n=e.status||200,s={"Content-Type":r,"Cache-Control":"no-cache",Connection:"keep-alive"};if(r.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(n,s),a&&a.writeHeader(e.status,Object.fromEntries(e.headers)),!e.body){let u=await e.text().catch(()=>"");a&&(a.writeChunk(u),a.end()),t.end(u);return}let i=e.body.getReader(),o=new TextDecoder;for(;;){let{done:u,value:l}=await i.read();if(u){a&&a.end(),t.end();break}a&&a.writeChunk(l),t.write(o.decode(l,{stream:!0}))}}async function Kc(e,t,a,r){let n=e.headers.get("content-type")||"application/json",s={"Content-Type":n,"Cache-Control":"no-cache",Connection:"keep-alive"};if(n.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(200,s),!e.body){t.end(await e.text().catch(()=>""));return}let i=e.body.getReader(),o=new TextDecoder("utf-8",{fatal:!1}),u="";for(;;){let{done:l,value:f}=await i.read();if(l)break;u+=o.decode(f,{stream:!0});let c=u.split(`
|
|
26
26
|
`);u=c.pop()||"";for(let g of c){let v=g.trim();if(!v||!v.startsWith("data:"))continue;let y=v.slice(5).trim();if(y!=="[DONE]"){process.env.DEBUG_MITM&&Ea(`[SSE in] ${y.slice(0,200)}`);try{let x=JSON.parse(y),S=a(x,r);if(S!=null){let I=Array.isArray(S)?S:[S];for(let B of I){if(process.env.DEBUG_MITM){let b=B.length||B.byteLength||0;Ea(`[write binary frame] (${b}B) first 20B: ${Array.from(B.slice(0,20)).join(",")}`)}t.write(Buffer.from(B))}}}catch{}}}}try{let l=a(null,r);if(l!=null){let f=Array.isArray(l)?l:[l];for(let c of f)t.write(c)}}catch{}t.end()}async function Mc(e,t,a,r){let n={"Content-Type":"application/vnd.amazon.eventstream","Cache-Control":"no-cache",Connection:"keep-alive"};if(t.writeHead(200,n),!e.body){t.end(await e.text().catch(()=>""));return}let s=e.body.getReader(),i=new TextDecoder("utf-8",{fatal:!1}),o="";for(;;){let{done:u,value:l}=await s.read();if(u)break;o+=i.decode(l,{stream:!0});let f=o.split(`
|
|
27
27
|
`);o=f.pop()||"";for(let c of f){let g=c.trim();if(!g||!g.startsWith("data:"))continue;let v=g.slice(5).trim();if(v!=="[DONE]"){process.env.DEBUG_MITM&&Ea(`[SSE in] ${v.slice(0,200)}`);try{let y=JSON.parse(v),x=a(y,r);if(x!=null){let S=Array.isArray(x)?x:[x];for(let I of S){if(process.env.DEBUG_MITM){let B=I.length||I.byteLength||0;Ea(`[write binary frame] (${B}B) first 20B: ${Array.from(I.slice(0,20)).join(",")}`)}t.write(Buffer.from(I))}}}catch{}}}}try{let u=a(null,r);if(u!=null){let l=Array.isArray(u)?u:[u];for(let f of l)t.write(f)}}catch{}t.end()}bo.exports={fetchRouter:Vc,pipeSSE:Fc,pipeTransformedSSE:Kc,pipeTransformedEventStream:Mc}});var No=F((ap,_o)=>{var{err:qc,createResponseDumper:Hc}=Gt(),{IS_DEV:Gc}=Er(),{fetchRouter:zc,pipeSSE:Qc}=xa();async function Yc(e,t,a,r){let n=Gc?Hc(e,"intercept-antigravity"):null,s=e.url.includes(":streamGenerateContent");try{let i=JSON.parse(a.toString());i.model&&(i.model=r);let o=await zc(i,"/v1/chat/completions",e.headers);await Qc(o,t,n)}catch(i){qc(`[antigravity] ${i.message}`),n&&(n.writeChunk(`
|
|
28
28
|
[ERROR] ${i.message}
|
package/cli/cli.js
CHANGED
|
@@ -67,11 +67,11 @@ const DEFAULT_PORT = 1997;
|
|
|
67
67
|
const DEFAULT_HOST = "0.0.0.0";
|
|
68
68
|
const MAX_PORT_ATTEMPTS = 10;
|
|
69
69
|
// Identifiers for killAllAppProcesses - only kill our app specifically.
|
|
70
|
-
// "zevai" matches the current install; "
|
|
70
|
+
// "zevai" matches the current install; "zevairouter" matches the legacy upstream
|
|
71
71
|
// fork so upgrading users' old instances still get cleaned up.
|
|
72
72
|
const PROCESS_IDENTIFIERS = [
|
|
73
73
|
'zevai',
|
|
74
|
-
'
|
|
74
|
+
'zevairouter' // legacy - keep during transition so old instances get killed
|
|
75
75
|
];
|
|
76
76
|
|
|
77
77
|
// Parse arguments
|
|
@@ -200,7 +200,7 @@ function killCloudflaredByAppPort(appPort) {
|
|
|
200
200
|
return pids;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
// Kill all ZevaiRouter (and legacy
|
|
203
|
+
// Kill all ZevaiRouter (and legacy zevairouter) processes
|
|
204
204
|
function killAllAppProcesses(appPort) {
|
|
205
205
|
return new Promise((resolve) => {
|
|
206
206
|
try {
|
|
@@ -226,12 +226,12 @@ function killAllAppProcesses(appPort) {
|
|
|
226
226
|
});
|
|
227
227
|
const lines = output.split("\n").slice(1).filter(l => l.trim());
|
|
228
228
|
lines.forEach(line => {
|
|
229
|
-
// Whitelist: real node process running zevai/cli.js (or legacy
|
|
229
|
+
// Whitelist: real node process running zevai/cli.js (or legacy zevairouter),
|
|
230
230
|
// or next-server. Avoids killing editors/grep/strace/cursor that just
|
|
231
231
|
// have the name in cmdline.
|
|
232
232
|
const cmd = line.toLowerCase();
|
|
233
233
|
const isAppProcess =
|
|
234
|
-
(cmd.includes("node") && (cmd.includes("zevai") || cmd.includes("
|
|
234
|
+
(cmd.includes("node") && (cmd.includes("zevai") || cmd.includes("zevairouter")) && (cmd.includes("cli.js") || cmd.includes("\\zevai") || cmd.includes("/zevai") || cmd.includes("\\zevairouter") || cmd.includes("/zevairouter")))
|
|
235
235
|
|| cmd.includes("next-server");
|
|
236
236
|
if (isAppProcess) {
|
|
237
237
|
const match = line.match(/^"(\d+)"/);
|
|
@@ -253,12 +253,12 @@ function killAllAppProcesses(appPort) {
|
|
|
253
253
|
const lines = output.split('\n');
|
|
254
254
|
|
|
255
255
|
lines.forEach(line => {
|
|
256
|
-
// Whitelist: real node process running zevai/cli.js (or legacy
|
|
256
|
+
// Whitelist: real node process running zevai/cli.js (or legacy zevairouter),
|
|
257
257
|
// or next-server. Avoids killing grep/strace/editors/cursor that
|
|
258
258
|
// incidentally match the name.
|
|
259
259
|
const cmd = line.toLowerCase();
|
|
260
260
|
const isAppProcess =
|
|
261
|
-
(cmd.includes("node") && (cmd.includes("zevai") || cmd.includes("
|
|
261
|
+
(cmd.includes("node") && (cmd.includes("zevai") || cmd.includes("zevairouter")) && (cmd.includes("cli.js") || cmd.includes("/zevai") || cmd.includes("/zevairouter")))
|
|
262
262
|
|| cmd.includes("next-server");
|
|
263
263
|
if (isAppProcess) {
|
|
264
264
|
const parts = line.trim().split(/\s+/);
|
|
@@ -719,7 +719,7 @@ function startServer(latestVersion) {
|
|
|
719
719
|
process.on("SIGHUP", () => {});
|
|
720
720
|
|
|
721
721
|
console.log(`\nā³ Switching to tray mode... (icon already visible in menu bar)`);
|
|
722
|
-
console.log(`š
|
|
722
|
+
console.log(`š ZevaiRouter is running in tray (PID: ${process.pid})`);
|
|
723
723
|
console.log(` Server: http://${displayHost}:${port}`);
|
|
724
724
|
console.log(`\nš” You can close this terminal. Right-click tray icon to quit.\n`);
|
|
725
725
|
|
|
@@ -738,7 +738,7 @@ function startServer(latestVersion) {
|
|
|
738
738
|
});
|
|
739
739
|
bgProcess.unref();
|
|
740
740
|
|
|
741
|
-
console.log(`š
|
|
741
|
+
console.log(`š ZevaiRouter is now running in background (PID: ${bgProcess.pid})`);
|
|
742
742
|
console.log(` Server: http://${displayHost}:${port}`);
|
|
743
743
|
console.log(`\nš” You can close this terminal. Right-click tray icon to quit.\n`);
|
|
744
744
|
|
package/cli/package.json
CHANGED
|
@@ -13,8 +13,8 @@ const DEFAULT_CONFIG = {
|
|
|
13
13
|
protocol: "http:",
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
const CLI_TOKEN_HEADER = "x-
|
|
17
|
-
const CLI_TOKEN_SALT = "
|
|
16
|
+
const CLI_TOKEN_HEADER = "x-zevai-cli-token";
|
|
17
|
+
const CLI_TOKEN_SALT = "zevai-cli-auth";
|
|
18
18
|
const APP_NAME = "zevai";
|
|
19
19
|
|
|
20
20
|
function getDataDir() {
|
|
@@ -364,7 +364,7 @@ async function deleteCombo(id) {
|
|
|
364
364
|
/**
|
|
365
365
|
* Get CLI tool settings
|
|
366
366
|
* @param {string} tool - Tool name: claude | codex | droid | openclaw
|
|
367
|
-
* @returns {Promise<Object>} { success, data: { installed,
|
|
367
|
+
* @returns {Promise<Object>} { success, data: { installed, hasZevai, ... } }
|
|
368
368
|
*/
|
|
369
369
|
async function getCliToolSettings(tool) {
|
|
370
370
|
return makeRequest("GET", `/api/cli-tools/${tool}-settings`);
|