vansrouter 0.91.21 → 0.91.30
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/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +27 -20
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +19 -23
- package/app/.next-cli-build/routes-manifest.json +42 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -28
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +6 -6
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +2 -2
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +35 -16
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +4 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +4 -5
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +3 -0
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +7 -8
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +6 -7
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +16 -0
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/presets/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +2 -2
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/bulk/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/bulk/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +2 -2
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/fitness/clear/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/fitness/clear/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +3 -3
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +3 -3
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/fitness/clear-all/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/fitness/clear-all/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/fitness/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/fitness/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +3 -3
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard/proxy-fitness/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard/proxy-fitness.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +2 -2
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/masuk/page.js +2 -2
- package/app/.next-cli-build/server/app/masuk/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/masuk/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +27 -20
- package/app/.next-cli-build/server/chunks/124.js +1 -0
- package/app/.next-cli-build/server/chunks/1248.js +1 -1
- package/app/.next-cli-build/server/chunks/1253.js +1 -1
- package/app/.next-cli-build/server/chunks/127.js +1 -1
- package/app/.next-cli-build/server/chunks/{154.js → 1579.js} +26 -8
- package/app/.next-cli-build/server/chunks/1685.js +2 -2
- package/app/.next-cli-build/server/chunks/1688.js +2 -2
- package/app/.next-cli-build/server/chunks/1945.js +1 -1
- package/app/.next-cli-build/server/chunks/1950.js +66 -0
- package/app/.next-cli-build/server/chunks/2365.js +1 -0
- package/app/.next-cli-build/server/chunks/2411.js +1 -1
- package/app/.next-cli-build/server/chunks/2504.js +1 -1
- package/app/.next-cli-build/server/chunks/2557.js +11 -17
- package/app/.next-cli-build/server/chunks/2732.js +1 -1
- package/app/.next-cli-build/server/chunks/2884.js +1 -1
- package/app/.next-cli-build/server/chunks/2927.js +2 -2
- package/app/.next-cli-build/server/chunks/3040.js +2 -2
- package/app/.next-cli-build/server/chunks/314.js +1 -1
- package/app/.next-cli-build/server/chunks/3398.js +8 -8
- package/app/.next-cli-build/server/chunks/3405.js +2 -2
- package/app/.next-cli-build/server/chunks/3519.js +2 -2
- package/app/.next-cli-build/server/chunks/3621.js +1 -0
- package/app/.next-cli-build/server/chunks/3750.js +1 -1
- package/app/.next-cli-build/server/chunks/3912.js +9 -0
- package/app/.next-cli-build/server/chunks/3946.js +1 -0
- package/app/.next-cli-build/server/chunks/4004.js +2 -2
- package/app/.next-cli-build/server/chunks/4043.js +1 -0
- package/app/.next-cli-build/server/chunks/4105.js +1 -1
- package/app/.next-cli-build/server/chunks/4502.js +13 -15
- package/app/.next-cli-build/server/chunks/4539.js +2 -2
- package/app/.next-cli-build/server/chunks/{8011.js → 4549.js} +1 -2
- package/app/.next-cli-build/server/chunks/4574.js +53 -49
- package/app/.next-cli-build/server/chunks/4836.js +1 -1
- package/app/.next-cli-build/server/chunks/5300.js +1 -1
- package/app/.next-cli-build/server/chunks/5538.js +1 -0
- package/app/.next-cli-build/server/chunks/5570.js +1 -0
- package/app/.next-cli-build/server/chunks/5577.js +1 -1
- package/app/.next-cli-build/server/chunks/5598.js +1 -1
- package/app/.next-cli-build/server/chunks/{6807.js → 5860.js} +1 -1
- package/app/.next-cli-build/server/chunks/6165.js +2 -2
- package/app/.next-cli-build/server/chunks/622.js +1 -0
- package/app/.next-cli-build/server/chunks/6385.js +1 -1
- package/app/.next-cli-build/server/chunks/6589.js +7 -0
- package/app/.next-cli-build/server/chunks/6723.js +1 -1
- package/app/.next-cli-build/server/chunks/6737.js +1 -0
- package/app/.next-cli-build/server/chunks/7006.js +2 -2
- package/app/.next-cli-build/server/chunks/7074.js +3 -3
- package/app/.next-cli-build/server/chunks/7104.js +1 -1
- package/app/.next-cli-build/server/chunks/7502.js +1 -1
- package/app/.next-cli-build/server/chunks/7656.js +27 -0
- package/app/.next-cli-build/server/chunks/7693.js +2 -2
- package/app/.next-cli-build/server/chunks/7842.js +1 -0
- package/app/.next-cli-build/server/chunks/7863.js +1 -1
- package/app/.next-cli-build/server/chunks/7901.js +1 -0
- package/app/.next-cli-build/server/chunks/7938.js +2 -2
- package/app/.next-cli-build/server/chunks/7950.js +1 -1
- package/app/.next-cli-build/server/chunks/8104.js +1 -0
- package/app/.next-cli-build/server/chunks/8413.js +1 -1
- package/app/.next-cli-build/server/chunks/8691.js +2 -2
- package/app/.next-cli-build/server/chunks/8786.js +1 -0
- package/app/.next-cli-build/server/chunks/88.js +1 -1
- package/app/.next-cli-build/server/chunks/8941.js +1 -1
- package/app/.next-cli-build/server/chunks/912.js +1 -1
- package/app/.next-cli-build/server/chunks/{2764.js → 9306.js} +1 -1
- package/app/.next-cli-build/server/chunks/9404.js +1 -0
- package/app/.next-cli-build/server/chunks/9808.js +7 -0
- package/app/.next-cli-build/server/chunks/9974.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +5 -5
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/E9fXOaI2LcUxzAal-qB_G/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1342-9835342a614a64b4.js +1 -0
- package/app/.next-cli-build/static/chunks/{2884.9a2db949e26c550b.js → 2884.46157ab83818a990.js} +1 -1
- package/app/.next-cli-build/static/chunks/3178-c8b2ded55709f2d2.js +1 -0
- package/app/.next-cli-build/static/chunks/{3257.4095ef9514389f69.js → 3257.562cf9b39c3d52e4.js} +1 -1
- package/app/.next-cli-build/static/chunks/{3386.c9a6be6fd4e818a6.js → 3386.1bfc303d22916972.js} +1 -1
- package/app/.next-cli-build/static/chunks/3758-f820cbe5bbed8ed5.js +66 -0
- package/app/.next-cli-build/static/chunks/3809.a27517d640eed59c.js +1 -0
- package/app/.next-cli-build/static/chunks/{406.7447d162fc1137ef.js → 406.8e37f15c32fac09d.js} +1 -1
- package/app/.next-cli-build/static/chunks/4385-e3eb6b7c4b7dfb22.js +1 -0
- package/app/.next-cli-build/static/chunks/4964.086f3a95e52cdf64.js +7 -0
- package/app/.next-cli-build/static/chunks/5331.128ab40951332f33.js +1 -0
- package/app/.next-cli-build/static/chunks/{5337.0f3e559687a6f415.js → 5337.6a61522e6c696f60.js} +1 -1
- package/app/.next-cli-build/static/chunks/{6474.d4e25fbe7c09068f.js → 6474.fd5dccfa8449f5f9.js} +1 -1
- package/app/.next-cli-build/static/chunks/{6909.20637e0929ccd959.js → 6909.929d7fd212a31a66.js} +1 -1
- package/app/.next-cli-build/static/chunks/{8914-58cf85ef9bb0b6e0.js → 8914-cff0fbfad05fc69b.js} +3 -3
- package/app/.next-cli-build/static/chunks/{9131-f4afa0414d45c1d1.js → 9131-8865c2f5b2d104bf.js} +2 -2
- package/app/.next-cli-build/static/chunks/{9146.7174fc5feff1bf58.js → 9146.51c9e590114c99ab.js} +1 -1
- package/app/.next-cli-build/static/chunks/941.1766407a48f890e1.js +1 -0
- package/app/.next-cli-build/static/chunks/{5338-bca3ce9343d90c4f.js → 9643-1650acc296f77253.js} +29 -11
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-8d2cf057877e520c.js → page-96728a43a2ce920c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-7c93b16b43de2c8f.js → page-3004f4af215b215a.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-9854c7db29f0cb69.js → page-71a1f0244d4d1287.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-c15b5f331606e3aa.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-91427dc2416753e5.js → page-7cf7e96e3f12d777.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-e79f5fbcbd3662d0.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-07eea31f525f94ed.js → page-7e8a0e7bafdd972d.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-7caa1878034401a6.js → page-5bd5188ca9e08f60.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-15c5617ad2c27966.js → page-b19583351ad0149d.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-fb0d7d79c84c197c.js → page-5496dd8e8a1e4a1e.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-01af83ff8590888e.js → page-6114fb82946445cb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-c30fcb1ed5f77411.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-97b63031e33bafba.js → page-202871f51690bc61.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-728c2dc02d8273eb.js +27 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-a40e2e0af6a60760.js → page-8cf917b2f8241886.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-bcd99ea45b8e3f0b.js → page-6febfa2b9b61037f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-fitness/{page-a6fbe7c554c97288.js → page-c54081ae07c59029.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-c8a179ca8b3961a1.js → page-d35b045cc4d9e513.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-1ccca37edb21a2c2.js → page-55629dba8eb114d7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-61d3b94595ff6592.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-6b6aa4440b9bbdd4.js → page-5a509b067cce0c79.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-540d37c2987cd9a7.js → page-c629e15e8e3f798f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-14b9b1f4c2cfffbb.js → page-607c073b7406e31e.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-1cdf081b553a1b83.js → page-565722d50146d9d0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-829e3939151d724b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/check/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/gcp-projects/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/bulk/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/fitness/clear/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/clear-all/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/callback/{page-501f35fcad0ae65c.js → page-7f7a73f46ef0e567.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-1c9aceed2518a7cf.js +1 -0
- package/app/.next-cli-build/static/chunks/app/{layout-02633570bc545d3b.js → layout-8ba5cd62a94327a0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-3bfabe4dc89ad6c4.js → page-a3af87402da40101.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/app/masuk/{page-d24ad3ff5c276f36.js → page-23714324c6ceceda.js} +1 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1bef1cfa12175e17.js +1 -0
- package/app/.next-cli-build/static/chunks/webpack-8d5df0eb3e3a6c37.js +1 -0
- package/app/.next-cli-build/static/css/3ad4070e34d43663.css +1 -0
- package/app/custom-server.js +37 -37
- package/app/package.json +1 -3
- package/app/public/i18n/literals/fa.json +17 -1
- package/app/public/providers/codewhale.svg +9 -0
- package/app/public/providers/crush.png +0 -0
- package/app/public/providers/forge.png +0 -0
- package/app/public/providers/omp.png +0 -0
- package/app/public/providers/pi.svg +6 -0
- package/app/public/providers/smelt.svg +101 -0
- package/app/src/lib/db/adapters/betterSqliteAdapter.js +12 -4
- package/app/src/lib/db/adapters/nodeSqliteAdapter.js +12 -3
- package/app/src/lib/db/adapters/sqljsAdapter.js +13 -6
- package/app/src/lib/db/migrate.js +299 -299
- package/app/src/mitm/server.js +27 -27
- package/app/src/shared/services/quotaAutoPing.js +313 -313
- package/hooks/sqliteRuntime.js +188 -188
- package/package.json +2 -5
- package/src/cli/api/client.js +556 -556
- package/src/cli/commands/xaiVideo.js +300 -300
- package/src/cli/menus/combos.js +0 -103
- package/src/cli/menus/providers.js +868 -858
- package/src/cli/menus/settings.js +204 -204
- package/src/cli/utils/modelSelector.js +189 -51
- package/app/.next-cli-build/server/chunks/1725.js +0 -1
- package/app/.next-cli-build/server/chunks/2445.js +0 -1
- package/app/.next-cli-build/server/chunks/32.js +0 -9
- package/app/.next-cli-build/server/chunks/3539.js +0 -1
- package/app/.next-cli-build/server/chunks/3736.js +0 -1
- package/app/.next-cli-build/server/chunks/4029.js +0 -7
- package/app/.next-cli-build/server/chunks/4816.js +0 -1
- package/app/.next-cli-build/server/chunks/5006.js +0 -7
- package/app/.next-cli-build/server/chunks/5009.js +0 -1
- package/app/.next-cli-build/server/chunks/5050.js +0 -1
- package/app/.next-cli-build/server/chunks/5198.js +0 -1
- package/app/.next-cli-build/server/chunks/5302.js +0 -1
- package/app/.next-cli-build/server/chunks/6120.js +0 -1
- package/app/.next-cli-build/server/chunks/6793.js +0 -1
- package/app/.next-cli-build/server/chunks/6931.js +0 -1
- package/app/.next-cli-build/server/chunks/7425.js +0 -1
- package/app/.next-cli-build/server/chunks/7592.js +0 -66
- package/app/.next-cli-build/server/chunks/8356.js +0 -1
- package/app/.next-cli-build/server/chunks/8695.js +0 -1
- package/app/.next-cli-build/server/chunks/9162.js +0 -1
- package/app/.next-cli-build/server/chunks/9614.js +0 -7
- package/app/.next-cli-build/server/chunks/9784.js +0 -1
- package/app/.next-cli-build/server/chunks/9984.js +0 -1
- package/app/.next-cli-build/static/chunks/1049.adc9916d5a6b95f8.js +0 -7
- package/app/.next-cli-build/static/chunks/1399-71db70ab3102530f.js +0 -1
- package/app/.next-cli-build/static/chunks/2318-288d3ff89298deb7.js +0 -66
- package/app/.next-cli-build/static/chunks/2940-b6dd0c5879412cea.js +0 -1
- package/app/.next-cli-build/static/chunks/4385-ce7b55264de51d47.js +0 -1
- package/app/.next-cli-build/static/chunks/5331.049b1512362de1f4.js +0 -1
- package/app/.next-cli-build/static/chunks/5334-4a80ee40870b70ae.js +0 -1
- package/app/.next-cli-build/static/chunks/5479-20746781c1de7eb2.js +0 -1
- package/app/.next-cli-build/static/chunks/6676.a4b23fc11d3037fd.js +0 -1
- package/app/.next-cli-build/static/chunks/9078.ea6aeb4af0c25e5d.js +0 -7
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-5de110c9d826db7a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-e19a996981cbb56d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-694ccd630a55547c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1fdc31375a54bb60.js +0 -27
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-fce8c9b1ef1963db.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-8f58062b0584c945.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/check/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/gcp-projects/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/bulk/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/fitness/clear/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/clear-all/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-e42a61eee9f904dc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-17aa0c4536dd4f4c.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-81a7adaed327dd6b.js +0 -1
- package/app/.next-cli-build/static/css/c78f5cc987a85267.css +0 -1
- package/app/.next-cli-build/static/yvUSImiXUeMIOPHHzKVq_/_buildManifest.js +0 -1
- /package/app/.next-cli-build/static/{yvUSImiXUeMIOPHHzKVq_ → E9fXOaI2LcUxzAal-qB_G}/_ssgManifest.js +0 -0
- /package/app/.next-cli-build/static/chunks/{2920-d6cf02087e8d0773.js → 2920.d6cf02087e8d0773.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7104,exports.ids=[7104],exports.modules={2607:(a,b,c)=>{c.d(b,{J:()=>l,proxyAwareFetch:()=>r});var d=c(27910),e=c(92398);let f=globalThis.fetch,g=new Map,h=new Map,i=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}function l(a={}){return{connectionProxyEnabled:!0===a.connectionProxyEnabled,connectionProxyUrl:a.connectionProxyUrl||"",connectionNoProxy:a.connectionNoProxy||"",proxyPoolId:null,vercelRelayUrl:"",strictProxy:!0===a.strictProxy}}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=k(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").flatMap(a=>{let b=a.trim().toLowerCase();return b?[b]:[]}).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function o(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a){let b=o(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(3398).then(c.t.bind(c,13398,19));g.set(b,new a({uri:b}))}return g.get(b)}async function q(a,b,e){let[f,g]=await Promise.all([Promise.resolve().then(c.t.bind(c,55591,23)),Promise.resolve().then(c.t.bind(c,91645,23))]),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function r(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=c?.connectionProxyEnabled===!0||!!c?.vercelRelayUrl||!!c?.proxyPoolId;if("antigravity"===b.provider&&!e)return f(a,b);let g=k(c?.vercelRelayUrl);if(g){let a=new URL(d),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return f(g,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),j=h?null:o(function(a){let b;if(n(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),l=h||j;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(l)try{let c=await p(l);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await m(a.hostname);if(c)return await q(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(l)try{let c=await p(l);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return f(a,b)}async function s(a,b={}){return r(a,b,null)}globalThis.fetch!==s&&(globalThis.fetch=s)},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,uT:()=>i,xq:()=>d.xq});var d=c(17863);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}function i(a){return d.vq[a]||[]}},22830:(a,b,c)=>{let d;c.d(b,{Cn:()=>n,Co:()=>u,Ic:()=>r,K:()=>p,NA:()=>x,Wu:()=>w,buildKimiHeaders:()=>y,go:()=>i,iO:()=>v,j5:()=>s,nZ:()=>q,sX:()=>j,uR:()=>o,x0:()=>l,zv:()=>t});var e=c(21820),f=c(13946),g=c(24567);let h=f.xq["gemini-cli"]?.cliVersion,i=f.xq["gemini-cli"]?.apiClient;function j(a="unknown"){let b;return`GeminiCLI/${h}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let k=f.xq.github?.copilot||{},l={VSCODE_VERSION:k.vscodeVersion,COPILOT_CHAT_VERSION:k.chatVersion,USER_AGENT:k.userAgent,API_VERSION:k.apiVersion};function m(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let n={ideType:9,platform:m(),pluginType:2},o="_ide",p={"User-Agent":g.Of},q={"gemini-cli":{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},antigravity:{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"}},r={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:m(),pluginType:2})},s={"Content-Type":"application/json","User-Agent":g.Of},t={ideType:9,platform:m(),pluginType:2},u="You are Claude Code, Anthropic's official CLI for Claude.",v=[{from:"You are a Claude agent, built on Anthropic's Claude Agent SDK.",to:""},{from:/opencode/gi,to:a=>"OpenCode"===a?"Antigravity":"OPENCODE"===a?"ANTIGRAVITY":"antigravity"}],w=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),x={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:f.sr.qwen?.tokenUrl,auth:f.sr.qwen?.deviceCodeUrl},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function y(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}},28765:(a,b,c)=>{c.d(b,{Vq:()=>k,fp:()=>i});var d=c(91392),e=c(17863);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a,b,c=Date.now()){if(!b)return!1;let g=h(b?.expiresAt??b?.tokenExpiresAt);if(null!==g&&g-c<(0,d.Og)(a))return!0;let j=e.sr[a]?.maxRefreshAgeMs;return!!(j&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,j))}async function j(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function k(a,b,c){return b?j(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}},39006:a=>{a.exports={rE:"0.91.21"}},46820:(a,b,c)=>{c.d(b,{AN:()=>d.AN,Ci:()=>d.Ci,Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,Ny:()=>d.Ny,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,aE:()=>d.aE,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,py:()=>d.py,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv,vC:()=>d.vC});var d=c(94164)},58013:(a,b,c)=>{c.d(b,{CO:()=>f});let d=/^[a-z0-9]+(?:-[a-z0-9]+)*-\d{1,2}$/,e=/^(?:cn|us-gov|us-iso|us-isob)-/;function f(a){if(!function(a){if("string"!=typeof a||!d.test(a))throw Error("Invalid region")}(a),e.test(a))throw Error(`Unsupported Kiro region: ${a}`);return a}},91392:(a,b,c)=>{c.d(b,{oD:()=>z,Og:()=>B,jT:()=>A,Sc:()=>C,Wm:()=>s,jR:()=>x,I9:()=>q,Ql:()=>u,$B:()=>H,pb:()=>E,qZ:()=>I});var d=c(13946),e=c(22830),f=c(2607);let g=new Map;async function h(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;g.delete(e)}let h=(async()=>{try{let a=await c();return g.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw g.delete(e),a}})();return g.set(e,{promise:h}),h}var i=c(91550),j=c(58013);let k=null;async function l(a,b){return a?h("xai",a,async()=>{try{k||(k=new(await Promise.all([c.e(4105),c.e(3711)]).then(c.bind(c,93711))).XaiService);let b=await k.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}async function m(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?h(a,b,async()=>{try{let d={grant_type:"refresh_token",refresh_token:b},g=f.clientId??c?.providerSpecificData?.clientId;void 0!==g&&(d.client_id=g);let h=f.clientSecret??c?.providerSpecificData?.clientSecret;void 0!==h&&(d.client_secret=h);let i=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)});if(!i.ok){let b=await i.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:i.status,error:b}),null}let j=await i.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!j.access_token,hasNewRefreshToken:!!j.refresh_token,expiresIn:j.expires_in}),{accessToken:j.access_token,refreshToken:j.refresh_token||b,expiresIn:j.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function n(a,b,c){let f=d.xq.kimi;return f?.refreshUrl&&f?.clientId?a?h("kimi",a,async()=>{try{let d={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...(0,e.buildKimiHeaders)(b?.providerSpecificData?.deviceId)},g=await fetch(f.refreshUrl,{method:"POST",headers:d,body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:f.clientId})});if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh token for kimi",{status:g.status,error:a}),null}let h=await g.json();return{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}}catch(a){return c?.error?.("TOKEN_REFRESH","Error refreshing token for kimi",{error:a.message}),null}},c):null:(c?.warn?.("TOKEN_REFRESH","No Kimi refresh URL/clientId configured"),null)}async function o(a,b){return a?h("cline",a,async()=>{try{let c=await fetch(d.xq.cline?.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:c.status,error:a}),null}let e=await c.json(),f=e?.data||e;if(!f?.accessToken)return null;let g=f.expiresAt?Math.max(1,Math.floor((new Date(f.expiresAt).getTime()-Date.now())/1e3)):f.expiresIn||f.expires_in||3600;return{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:g}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing Cline token: ${a.message}`),null}},b):null}async function p(a,b){return a?h("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,d){return a?h(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function r(a,b){return a?h("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?h("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(3398),c.e(1725),c.e(7010),c.e(9974),c.e(2445),c.e(6415),c.e(5300),c.e(32),c.e(4502),c.e(4574),c.e(2557),c.e(5198),c.e(6085)]).then(c.bind(c,96975));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function u(a,b,c,e=null){return a?h("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,k=b?.clientSecret,l=b?.region;if("external_idp"===g){let d;try{d=(0,i.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let g=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body},e);if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:g.status,error:a}),null}let h=await g.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:d.providerSpecificData}}if(h&&k){let d="idc"===g;d&&l&&(0,j.CO)(l);let i=d&&l?`https://oidc.${l}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",m=await (0,f.proxyAwareFetch)(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:k,refreshToken:a,grantType:"refresh_token"})},e);if(!m.ok){let a=await m.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:m.status,error:a}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!n.accessToken,expiresIn:n.expiresIn}),{accessToken:n.accessToken,refreshToken:n.refreshToken||a,expiresIn:n.expiresIn,...await t(b,n.accessToken,n.profileArn)}}let m=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!m.ok){let a=await m.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:m.status,error:a}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!n.accessToken,expiresIn:n.expiresIn}),{accessToken:n.accessToken,refreshToken:n.refreshToken||a,expiresIn:n.expiresIn,...await t(b,n.accessToken,n.profileArn)}},c):null}async function v(a,b){return a?h("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?h("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function x(a,b){return a?h("copilot",a,async()=>{try{let c=await fetch(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!f.token,expiresAt:f.expires_at}),{token:f.token,expiresAt:f.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function y(a,b,c="codebuddy-cn"){return a?h(c,a,async()=>{let e=d.sr[c]||{},f=new URL(e.baseUrl).host,g=await fetch(e.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":e.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":f,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:g.status,error:a}),null}let h=await g.json();return 0===h.code&&h.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!h.data.accessToken,hasNewRefreshToken:!!h.data.refreshToken,expiresIn:h.data.expiresIn}),{accessToken:h.data.accessToken,refreshToken:h.data.refreshToken||a,expiresIn:h.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:h.code,msg:h.msg}),null)},b):null}let z=3e5;function A(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function B(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:z}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b){let d=a.client_email,f=D.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(5924),c.e(7947)]).then(c.bind(c,87947));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),k=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:l,expires_in:m}=await k.json(),n=Date.now()+(m??3600)*1e3;return D.set(d,{token:l,expiresAt:n}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:l,expiresAt:n}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function F(a,b){let c=C(a.apiKey);return c?E(c,b):null}let G={"gemini-cli":(a,b)=>q(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>q(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>p(a.refreshToken,b),codex:(a,b)=>s(a.refreshToken,b),qwen:(a,b)=>r(a.refreshToken,b),iflow:(a,b)=>v(a.refreshToken,b),github:(a,b)=>w(a.refreshToken,b),kiro:(a,b)=>u(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>l(a.refreshToken,b),"grok-cli":(a,b)=>l(a.refreshToken,b),gcli:(a,b)=>l(a.refreshToken,b),"codebuddy-cn":(a,b)=>y(a.refreshToken,b,"codebuddy-cn"),"codebuddy-intl":(a,b)=>y(a.refreshToken,b,"codebuddy-intl"),gitlab:(a,b)=>m("gitlab",a.refreshToken,a,b),cline:(a,b)=>o(a.refreshToken,b),kimi:(a,b)=>n(a.refreshToken,a,b),"kimi-coding":(a,b)=>n(a.refreshToken,a,b),vertex:F,"vertex-partner":F};async function H(a,b,c){if(!b.refreshToken)return null;let d=G[a];return d?d(b,c):m(a,b.refreshToken,b,c)}async function I(a,b=3,c=null){async function d(e){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}return e+1>=b?(c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null):d(e+1)}return d(0)}},91550:(a,b,c)=>{c.d(b,{Xj:()=>j,uo:()=>k});var d=c(58013);let e=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function f(a){return"string"==typeof a?a.trim():""}function g(a){let b,c=f(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let d=b.hostname.toLowerCase();if(!e.has(d))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function h(a){return Array.isArray(a)?a.map(f).filter(Boolean).join(" "):f(a)}function i(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function j(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=f(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let e=f(b.access_token||b.accessToken),j=f(b.refresh_token||b.refreshToken),k=f(b.client_id||b.clientId),l=g(b.token_endpoint||b.tokenEndpoint),m=f(b.profile_arn||b.profileArn),n=f(b.region)||"us-east-1";(0,d.CO)(n);let o=h(b.scopes||b.scope);if(!e)throw Error("access_token is required");if(!j)throw Error("refresh_token is required");if(!k)throw Error("client_id is required");if(!o)throw Error("scopes is required");if(!m)throw Error("profile_arn is required");let p=i(e),q=b.email||p?.email||p?.preferred_username||p?.upn||p?.sub||null;return{accessToken:e,refreshToken:j,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=i(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:q,providerSpecificData:{profileArn:m,region:n,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:k,tokenEndpoint:l,scope:o}}}function k(a,b={}){let c=f(b.clientId||b.client_id),e=g(b.tokenEndpoint||b.token_endpoint),i=h(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!i)throw Error("scope is required for external_idp refresh");return b.region&&(0,d.CO)(b.region),{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:i}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:e,scope:i}}}}};
|
|
1
|
+
"use strict";exports.id=7104,exports.ids=[3946,7104],exports.modules={2607:(a,b,c)=>{c.d(b,{J:()=>l,proxyAwareFetch:()=>r});var d=c(27910),e=c(92398);let f=globalThis.fetch,g=new Map,h=new Map,i=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}function l(a={}){return{connectionProxyEnabled:!0===a.connectionProxyEnabled,connectionProxyUrl:a.connectionProxyUrl||"",connectionNoProxy:a.connectionNoProxy||"",proxyPoolId:null,vercelRelayUrl:"",strictProxy:!0===a.strictProxy}}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=k(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").flatMap(a=>{let b=a.trim().toLowerCase();return b?[b]:[]}).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function o(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a){let b=o(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(3398).then(c.t.bind(c,13398,19));g.set(b,new a({uri:b}))}return g.get(b)}async function q(a,b,e){let[f,g]=await Promise.all([Promise.resolve().then(c.t.bind(c,55591,23)),Promise.resolve().then(c.t.bind(c,91645,23))]),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function r(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=c?.connectionProxyEnabled===!0||!!c?.vercelRelayUrl||!!c?.proxyPoolId;if("antigravity"===b.provider&&!e)return f(a,b);let g=k(c?.vercelRelayUrl);if(g){let a=new URL(d),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return f(g,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),j=h?null:o(function(a){let b;if(n(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),l=h||j;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(l)try{let c=await p(l);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await m(a.hostname);if(c)return await q(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(l)try{let c=await p(l);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return f(a,b)}async function s(a,b={}){return r(a,b,null)}globalThis.fetch!==s&&(globalThis.fetch=s)},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,uT:()=>i,xq:()=>d.xq});var d=c(17863);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}function i(a){return d.vq[a]||[]}},22830:(a,b,c)=>{let d;c.d(b,{Ch:()=>j,Cn:()=>o,Co:()=>v,Ic:()=>s,K:()=>q,NA:()=>y,Wu:()=>x,buildKimiHeaders:()=>z,go:()=>i,iO:()=>w,j5:()=>t,nZ:()=>r,sX:()=>k,uR:()=>p,x0:()=>m,zv:()=>u});var e=c(21820),f=c(13946),g=c(24567);let h=f.xq["gemini-cli"]?.cliVersion,i=f.xq["gemini-cli"]?.apiClient,j=f.xq.codex?.cliVersion;function k(a="unknown"){let b;return`GeminiCLI/${h}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let l=f.xq.github?.copilot||{},m={VSCODE_VERSION:l.vscodeVersion,COPILOT_CHAT_VERSION:l.chatVersion,USER_AGENT:l.userAgent,API_VERSION:l.apiVersion};function n(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let o={ideType:9,platform:n(),pluginType:2},p="_ide",q={"User-Agent":g.Of},r={"gemini-cli":{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},antigravity:{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"}},s={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:n(),pluginType:2})},t={"Content-Type":"application/json","User-Agent":g.Of},u={ideType:9,platform:n(),pluginType:2},v="You are Claude Code, Anthropic's official CLI for Claude.",w=[{from:"You are a Claude agent, built on Anthropic's Claude Agent SDK.",to:""},{from:/opencode/gi,to:a=>"OpenCode"===a?"Antigravity":"OPENCODE"===a?"ANTIGRAVITY":"antigravity"}],x=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),y={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:f.sr.qwen?.tokenUrl,auth:f.sr.qwen?.deviceCodeUrl},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function z(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}},28765:(a,b,c)=>{c.d(b,{Vq:()=>k,fp:()=>i});var d=c(91392),e=c(17863);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a,b,c=Date.now()){if(!b)return!1;let g=h(b?.expiresAt??b?.tokenExpiresAt);if(null!==g&&g-c<(0,d.Og)(a))return!0;let j=e.sr[a]?.maxRefreshAgeMs;return!!(j&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,j))}async function j(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function k(a,b,c){return b?j(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}},39006:a=>{a.exports={rE:"0.91.30"}},46820:(a,b,c)=>{c.d(b,{AN:()=>d.AN,Ci:()=>d.Ci,Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,Ny:()=>d.Ny,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,aE:()=>d.aE,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,py:()=>d.py,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv,vC:()=>d.vC});var d=c(94164)},58013:(a,b,c)=>{c.d(b,{CO:()=>f});let d=/^[a-z0-9]+(?:-[a-z0-9]+)*-\d{1,2}$/,e=/^(?:cn|us-gov|us-iso|us-isob)-/;function f(a){if(!function(a){if("string"!=typeof a||!d.test(a))throw Error("Invalid region")}(a),e.test(a))throw Error(`Unsupported Kiro region: ${a}`);return a}},91392:(a,b,c)=>{c.d(b,{oD:()=>z,Og:()=>B,jT:()=>A,Sc:()=>C,Wm:()=>s,jR:()=>x,I9:()=>q,Ql:()=>u,$B:()=>H,pb:()=>E,qZ:()=>I});var d=c(13946),e=c(22830),f=c(2607);let g=new Map;async function h(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;g.delete(e)}let h=(async()=>{try{let a=await c();return g.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw g.delete(e),a}})();return g.set(e,{promise:h}),h}var i=c(91550),j=c(58013);let k=null;async function l(a,b){return a?h("xai",a,async()=>{try{k||(k=new(await Promise.all([c.e(4105),c.e(3711)]).then(c.bind(c,93711))).XaiService);let b=await k.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}async function m(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?h(a,b,async()=>{try{let d={grant_type:"refresh_token",refresh_token:b},g=f.clientId??c?.providerSpecificData?.clientId;void 0!==g&&(d.client_id=g);let h=f.clientSecret??c?.providerSpecificData?.clientSecret;void 0!==h&&(d.client_secret=h);let i=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)});if(!i.ok){let b=await i.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:i.status,error:b}),null}let j=await i.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!j.access_token,hasNewRefreshToken:!!j.refresh_token,expiresIn:j.expires_in}),{accessToken:j.access_token,refreshToken:j.refresh_token||b,expiresIn:j.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function n(a,b,c){let f=d.xq.kimi;return f?.refreshUrl&&f?.clientId?a?h("kimi",a,async()=>{try{let d={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...(0,e.buildKimiHeaders)(b?.providerSpecificData?.deviceId)},g=await fetch(f.refreshUrl,{method:"POST",headers:d,body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:f.clientId})});if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh token for kimi",{status:g.status,error:a}),null}let h=await g.json();return{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}}catch(a){return c?.error?.("TOKEN_REFRESH","Error refreshing token for kimi",{error:a.message}),null}},c):null:(c?.warn?.("TOKEN_REFRESH","No Kimi refresh URL/clientId configured"),null)}async function o(a,b){return a?h("cline",a,async()=>{try{let c=await fetch(d.xq.cline?.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:c.status,error:a}),null}let e=await c.json(),f=e?.data||e;if(!f?.accessToken)return null;let g=f.expiresAt?Math.max(1,Math.floor((new Date(f.expiresAt).getTime()-Date.now())/1e3)):f.expiresIn||f.expires_in||3600;return{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:g}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing Cline token: ${a.message}`),null}},b):null}async function p(a,b){return a?h("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,d){return a?h(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function r(a,b){return a?h("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?h("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(3398),c.e(7010),c.e(9974),c.e(5577),c.e(6415),c.e(5300),c.e(8786),c.e(3912),c.e(4502),c.e(4574),c.e(2557),c.e(8104),c.e(6085)]).then(c.bind(c,96975));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function u(a,b,c,e=null){return a?h("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,k=b?.clientSecret,l=b?.region;if("external_idp"===g){let d;try{d=(0,i.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let g=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body},e);if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:g.status,error:a}),null}let h=await g.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:d.providerSpecificData}}if(h&&k){let d="idc"===g;d&&l&&(0,j.CO)(l);let i=d&&l?`https://oidc.${l}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",m=await (0,f.proxyAwareFetch)(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:k,refreshToken:a,grantType:"refresh_token"})},e);if(!m.ok){let a=await m.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:m.status,error:a}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!n.accessToken,expiresIn:n.expiresIn}),{accessToken:n.accessToken,refreshToken:n.refreshToken||a,expiresIn:n.expiresIn,...await t(b,n.accessToken,n.profileArn)}}let m=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!m.ok){let a=await m.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:m.status,error:a}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!n.accessToken,expiresIn:n.expiresIn}),{accessToken:n.accessToken,refreshToken:n.refreshToken||a,expiresIn:n.expiresIn,...await t(b,n.accessToken,n.profileArn)}},c):null}async function v(a,b){return a?h("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?h("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function x(a,b){return a?h("copilot",a,async()=>{try{let c=await fetch(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!f.token,expiresAt:f.expires_at}),{token:f.token,expiresAt:f.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function y(a,b,c="codebuddy-cn"){return a?h(c,a,async()=>{let e=d.sr[c]||{},f=new URL(e.baseUrl).host,g=await fetch(e.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":e.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":f,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:g.status,error:a}),null}let h=await g.json();return 0===h.code&&h.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!h.data.accessToken,hasNewRefreshToken:!!h.data.refreshToken,expiresIn:h.data.expiresIn}),{accessToken:h.data.accessToken,refreshToken:h.data.refreshToken||a,expiresIn:h.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:h.code,msg:h.msg}),null)},b):null}let z=3e5;function A(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function B(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:z}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b){let d=a.client_email,f=D.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(5924),c.e(7947)]).then(c.bind(c,87947));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),k=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:l,expires_in:m}=await k.json(),n=Date.now()+(m??3600)*1e3;return D.set(d,{token:l,expiresAt:n}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:l,expiresAt:n}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function F(a,b){let c=C(a.apiKey);return c?E(c,b):null}let G={"gemini-cli":(a,b)=>q(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>q(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>p(a.refreshToken,b),codex:(a,b)=>s(a.refreshToken,b),qwen:(a,b)=>r(a.refreshToken,b),iflow:(a,b)=>v(a.refreshToken,b),github:(a,b)=>w(a.refreshToken,b),kiro:(a,b)=>u(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>l(a.refreshToken,b),"grok-cli":(a,b)=>l(a.refreshToken,b),gcli:(a,b)=>l(a.refreshToken,b),"codebuddy-cn":(a,b)=>y(a.refreshToken,b,"codebuddy-cn"),"codebuddy-intl":(a,b)=>y(a.refreshToken,b,"codebuddy-intl"),gitlab:(a,b)=>m("gitlab",a.refreshToken,a,b),cline:(a,b)=>o(a.refreshToken,b),clinepass:(a,b)=>o(a.refreshToken,b),kimi:(a,b)=>n(a.refreshToken,a,b),"kimi-coding":(a,b)=>n(a.refreshToken,a,b),vertex:F,"vertex-partner":F};async function H(a,b,c){if(!b.refreshToken)return null;let d=G[a];return d?d(b,c):m(a,b.refreshToken,b,c)}async function I(a,b=3,c=null){async function d(e){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}return e+1>=b?(c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null):d(e+1)}return d(0)}},91550:(a,b,c)=>{c.d(b,{Xj:()=>j,uo:()=>k});var d=c(58013);let e=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function f(a){return"string"==typeof a?a.trim():""}function g(a){let b,c=f(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let d=b.hostname.toLowerCase();if(!e.has(d))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function h(a){return Array.isArray(a)?a.map(f).filter(Boolean).join(" "):f(a)}function i(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function j(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=f(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let e=f(b.access_token||b.accessToken),j=f(b.refresh_token||b.refreshToken),k=f(b.client_id||b.clientId),l=g(b.token_endpoint||b.tokenEndpoint),m=f(b.profile_arn||b.profileArn),n=f(b.region)||"us-east-1";(0,d.CO)(n);let o=h(b.scopes||b.scope);if(!e)throw Error("access_token is required");if(!j)throw Error("refresh_token is required");if(!k)throw Error("client_id is required");if(!o)throw Error("scopes is required");if(!m)throw Error("profile_arn is required");let p=i(e),q=b.email||p?.email||p?.preferred_username||p?.upn||p?.sub||null;return{accessToken:e,refreshToken:j,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=i(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:q,providerSpecificData:{profileArn:m,region:n,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:k,tokenEndpoint:l,scope:o}}}function k(a,b={}){let c=f(b.clientId||b.client_id),e=g(b.tokenEndpoint||b.token_endpoint),i=h(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!i)throw Error("scope is required for external_idp refresh");return b.region&&(0,d.CO)(b.region),{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:i}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:e,scope:i}}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7502,exports.ids=[7502],exports.modules={57502:(a,b,c)=>{c.r(b),c.d(b,{default:()=>g});var d=c(66238),e=c(71183),f=c(
|
|
1
|
+
"use strict";exports.id=7502,exports.ids=[7502],exports.modules={57502:(a,b,c)=>{c.r(b),c.d(b,{default:()=>g});var d=c(66238),e=c(71183),f=c(76737);function g({isOpen:a,onSuccess:b,onClose:c}){let[h,i]=(0,e.useState)(""),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!1),p=(0,e.useRef)(0),q=async()=>{if(!h.trim())return void m("Please paste your cookie");let c=++p.current;k(!0),m(null);try{let d=await fetch("/api/oauth/iflow/cookie",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cookie:h.trim()})}),e=await d.json();if(!d.ok)throw Error(e.error||"Authentication failed");if(c!==p.current||!a)return;o(!0),setTimeout(()=>{c===p.current&&a&&(b?.(),r())},1500)}catch(b){c===p.current&&a&&m(b.message)}finally{c===p.current&&k(!1)}},r=()=>{p.current+=1,i(""),m(null),o(!1),c?.()};return(0,d.jsx)(f.Modal,{isOpen:a,onClose:r,title:"iFlow Cookie Authentication",children:(0,d.jsx)("div",{className:"space-y-4",children:n?(0,d.jsxs)("div",{className:"text-center py-8",children:[(0,d.jsx)("div",{className:"text-6xl mb-4",children:"✅"}),(0,d.jsx)("p",{className:"text-lg font-medium text-text-primary",children:"Authentication Successful!"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:"Fresh API key obtained"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["To get a fresh API key, paste your browser cookie from"," ",(0,d.jsx)("a",{href:"https://platform.iflow.cn",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"platform.iflow.cn"})]}),(0,d.jsxs)("div",{className:"bg-surface-secondary p-3 rounded-lg text-xs space-y-2",children:[(0,d.jsx)("p",{className:"font-medium text-text-primary",children:"How to get cookie:"}),(0,d.jsxs)("ol",{className:"list-decimal list-inside space-y-1 text-text-muted",children:[(0,d.jsx)("li",{children:"Open platform.iflow.cn in your browser"}),(0,d.jsx)("li",{children:"Login to your account"}),(0,d.jsx)("li",{children:"Open DevTools (F12) → Application/Storage → Cookies"}),(0,d.jsx)("li",{children:"Copy the entire cookie string (must include BXAuth)"}),(0,d.jsx)("li",{children:"Paste it below"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"iflow-cookie-string",className:"block text-sm font-medium text-text-primary",children:"Cookie String"}),(0,d.jsx)("textarea",{id:"iflow-cookie-string",value:h,onChange:a=>i(a.target.value),placeholder:"BXAuth=xxx; ...",className:"w-full px-3 py-2 bg-surface-secondary border border-border rounded-lg text-sm text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-primary resize-none",rows:4,disabled:j})]}),l&&(0,d.jsx)("div",{className:"p-3 bg-error/10 border border-error/20 rounded-lg",children:(0,d.jsx)("p",{className:"text-sm text-error",children:l})}),(0,d.jsxs)("div",{className:"flex gap-3 pt-2",children:[(0,d.jsx)(f.Button,{variant:"secondary",onClick:r,disabled:j,fullWidth:!0,children:"Cancel"}),(0,d.jsx)(f.Button,{onClick:q,loading:j,fullWidth:!0,children:"Authenticate"})]})]})})})}}};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";exports.id=7656,exports.ids=[7656],exports.modules={57656:(a,b,c)=>{c.d(b,{dM:()=>d});let d={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.webp",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",fableModel:"ANTHROPIC_DEFAULT_FABLE_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","fable","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"fable",name:"Claude Fable",alias:"fable",envKey:"ANTHROPIC_DEFAULT_FABLE_MODEL",defaultValue:"cc/claude-fable-5"},{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-4-8"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-5"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},openclaw:{id:"openclaw",name:"Open Claw",image:"/providers/openclaw.webp",color:"#FF6B35",description:"Open Claw AI Assistant",configType:"custom"},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.webp",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.webp",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},cowork:{id:"cowork",name:"Claude Cowork",image:"/providers/claude.webp",color:"#D97757",description:"Claude Desktop Cowork (third-party inference)",configType:"custom"},hermes:{id:"hermes",name:"Hermes Agent",image:"/providers/hermes.webp",color:"#8B5CF6",description:"Nous Research self-improving AI agent",configType:"custom"},droid:{id:"droid",name:"Factory Droid",image:"/providers/droid.webp",color:"#00D4FF",description:"Factory Droid AI Assistant",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.webp",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]},cline:{id:"cline",name:"Cline",image:"/providers/cline.webp",color:"#00D1B2",description:"Cline AI Coding Assistant",configType:"custom"},kilo:{id:"kilo",name:"Kilo Code",image:"/providers/kilocode.webp",color:"#FF6B6B",description:"Kilo Code AI Assistant",configType:"custom"},roo:{id:"roo",name:"Roo",image:"/providers/roo.webp",color:"#FF6B6B",description:"Roo AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Settings",desc:"Go to Roo Settings panel"},{step:2,title:"Select Provider",desc:"Choose API Provider → Ollama"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Select Model",type:"modelSelector"}]},continue:{id:"continue",name:"Continue",image:"/providers/continue.webp",color:"#7C3AED",description:"Continue AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Config",desc:"Open Continue configuration file"},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Select Model",type:"modelSelector"},{step:4,title:"Add Model Config",desc:"Add the following configuration to your models array:"}],codeBlock:{language:"json",code:`{
|
|
2
|
+
"apiBase": "{{baseUrl}}",
|
|
3
|
+
"title": "{{model}}",
|
|
4
|
+
"model": "{{model}}",
|
|
5
|
+
"provider": "openai",
|
|
6
|
+
"apiKey": "{{apiKey}}"
|
|
7
|
+
}`}},amp:{id:"amp",name:"Amp CLI",image:"/providers/amp.webp",color:"#F97316",description:"Sourcegraph Amp coding assistant CLI",docsUrl:"/docs?section=cli-tools&tool=amp",configType:"guide",defaultCommand:"amp",modelAliases:["g25p","g25f","cs45","g54"],notes:[{type:"info",text:"Use 9Router model aliases to keep Amp shorthand mappings stable across provider updates."},{type:"warning",text:"Suggested shorthand examples: g25p → gemini/gemini-2.5-pro, g25f → gemini/gemini-2.5-flash, cs45 → cc/claude-sonnet-4-5-20250929."}],guideSteps:[{step:1,title:"Install Amp",desc:"Install the Amp CLI using the package manager supported by your environment."},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"Select Model",type:"modelSelector"},{step:5,title:"Add Shorthands",desc:"Map Amp shorthand names such as g25p or cs45 to 9Router aliases in your local config."}],codeBlock:{language:"bash",code:`export OPENAI_API_KEY="{{apiKey}}"
|
|
8
|
+
export OPENAI_BASE_URL="{{baseUrl}}"
|
|
9
|
+
amp --model "{{model}}"
|
|
10
|
+
# Example shorthand aliases you can map locally:
|
|
11
|
+
# g25p -> gemini/gemini-2.5-pro
|
|
12
|
+
# cs45 -> cc/claude-sonnet-4-5-20250929`}},qwen:{id:"qwen",name:"Qwen Code",image:"/providers/qwen.webp",color:"#10B981",description:"Alibaba Qwen Code CLI — supports OpenAI, Anthropic & Gemini providers via 9Router",docsUrl:"https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",configType:"guide",defaultCommand:"qwen",notes:[{type:"info",text:"Qwen Code supports multiple provider types (openai, anthropic, gemini) via modelProviders in settings.json. 9Router works as an OpenAI-compatible endpoint."},{type:"info",text:"Any model available in 9Router can be used — not just Qwen models. Select from Qwen, Claude, Gemini, GPT, and more."},{type:"warning",text:"Config path: Linux/macOS ~/.qwen/settings.json • Windows %USERPROFILE%\\.qwen\\settings.json"},{type:"error",text:"Qwen OAuth free tier was discontinued on 2026-04-15. Use 9Router with alicode/openrouter/anthropic/gemini providers instead."}],modelAliases:["coder-model","qwen3-coder-plus","qwen3-coder-flash","vision-model","claude-sonnet-4-6","claude-opus-4-6-thinking","gemini-3-flash","gemini-3.1-pro-high"],defaultModels:[{id:"coder-model",name:"Coder Model (Qwen 3.6 Plus)",alias:"coder-model",envKey:"OPENAI_MODEL",defaultValue:"coder-model",isTopLevel:!0},{id:"qwen3-coder-plus",name:"Qwen 3 Coder Plus",alias:"qwen3-coder-plus",envKey:"OPENAI_MODEL",defaultValue:"qwen3-coder-plus"},{id:"qwen3-coder-flash",name:"Qwen 3 Coder Flash",alias:"qwen3-coder-flash",envKey:"OPENAI_MODEL",defaultValue:"qwen3-coder-flash"},{id:"vision-model",name:"Vision Model (Multimodal)",alias:"vision-model",envKey:"OPENAI_MODEL",defaultValue:"vision-model"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",alias:"claude-sonnet-4-6",envKey:"OPENAI_MODEL",defaultValue:"claude-sonnet-4-6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",alias:"claude-opus-4-6-thinking",envKey:"OPENAI_MODEL",defaultValue:"claude-opus-4-6-thinking"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",alias:"gemini-3.1-pro-high",envKey:"OPENAI_MODEL",defaultValue:"gemini-3.1-pro-high"},{id:"gemini-3-flash",name:"Gemini 3 Flash",alias:"gemini-3-flash",envKey:"OPENAI_MODEL",defaultValue:"gemini-3-flash"}],guideSteps:[{step:1,title:"Install Qwen Code",desc:"npm install -g @qwen-code/qwen-code"},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"Select Model",type:"modelSelector"},{step:5,title:"Save Config",desc:"Copy the JSON below to your ~/.qwen/settings.json file."}],codeBlock:{language:"json",code:`{
|
|
13
|
+
"security": {
|
|
14
|
+
"auth": {
|
|
15
|
+
"selectedType": "openai",
|
|
16
|
+
"apiKey": "{{apiKey}}",
|
|
17
|
+
"baseUrl": "{{baseUrl}}"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"model": {
|
|
21
|
+
"name": "{{model}}"
|
|
22
|
+
}
|
|
23
|
+
}`}},"deepseek-tui":{id:"deepseek-tui",name:"DeepSeek TUI",image:"/providers/deepseek-tui.webp",color:"#4D6BFE",description:"DeepSeek Terminal Coding Agent (Rust TUI)",docsUrl:"https://github.com/DeepSeek-TUI/DeepSeek-TUI",configType:"custom",defaultCommand:"deepseek",modelAliases:["deepseek-v4-pro","deepseek-v4-flash","deepseek-chat","deepseek-reasoner"],defaultModels:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",alias:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",alias:"deepseek-v4-flash"},{id:"deepseek-chat",name:"DeepSeek V3 Chat",alias:"deepseek-chat"}],notes:[{type:"info",text:"DeepSeek TUI uses ~/.deepseek/config.toml for configuration. 9Router will update the provider to 'openai' mode with your base_url, api_key, and model."},{type:"warning",text:"Config path: Linux/macOS ~/.deepseek/config.toml • Windows %USERPROFILE%\\.deepseek\\config.toml"}]},jcode:{id:"jcode",name:"jcode",image:"/providers/jcode.webp",color:"#FF6B35",description:"High-performance Rust-based coding agent harness",configType:"custom",docsUrl:"https://github.com/1jehuang/jcode",notes:[{type:"info",text:"jcode is a Rust-based coding agent with semantic memory, multi-agent swarms, and extreme performance (27.8 MB RAM, 14ms boot)."},{type:"info",text:"Configure 9router as an OpenAI-compatible provider to route all jcode requests through 9router's optimization layer."},{type:"warning",text:"Requires jcode installed. Install via: curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash"}],defaultModels:[{id:"claude-opus-4-7",name:"Claude Opus 4.7",alias:"opus",defaultValue:"cc/claude-opus-4-7"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",alias:"sonnet",defaultValue:"cc/claude-sonnet-4-6"},{id:"gpt-5.5",name:"GPT 5.5",alias:"gpt5",defaultValue:"cx/gpt-5.5"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",alias:"gemini",defaultValue:"gemini/gemini-3.1-pro-preview"}]},"grok-build":{id:"grok-build",name:"Grok Build",image:"/providers/grok-cli.png",color:"#1DA1F2",description:"xAI Grok Build TUI coding agent",configType:"custom",docsUrl:"https://x.ai/cli",defaultCommand:"grok",notes:[{type:"info",text:"Grok Build uses ~/.grok/config.toml. 9Router writes a [model.9router] custom model and sets it as the default."},{type:"info",text:"After Apply, run grok (or /model 9router) to use the routed model. Switch back anytime with /model grok-build."},{type:"warning",text:"Config path: Linux/macOS ~/.grok/config.toml • Windows %USERPROFILE%\\.grok\\config.toml"}]},devin:{id:"devin",name:"Devin CLI",image:"/providers/devin-cli.png",color:"#6366F1",description:"Cognition Devin CLI — local binary called by the Devin CLI provider via ACP/stdio",configType:"guide",installUrl:"https://cli.devin.ai",notes:[{type:"info",text:"This is a local dependency, not a routed CLI. The Devin CLI provider spawns `devin acp --agent-type summarizer` and relays its output."},{type:"warning",text:"Install the Devin CLI and run `devin auth login` — without it, the provider returns a spawn error on first request."}],guideSteps:[{step:1,title:"Install Devin CLI",desc:"Install via the official installer at cli.devin.ai.",docsUrl:"https://cli.devin.ai"},{step:2,title:"Authenticate",desc:"Log in once so the binary stores its own credentials."},{step:3,title:"Use the provider",desc:"Pick any Devin CLI model under the Providers tab — no API key field needed."}],codeBlock:{language:"bash",code:`# Install Devin CLI (see https://cli.devin.ai for options)
|
|
24
|
+
devin auth login
|
|
25
|
+
|
|
26
|
+
# Verify detection (optional)
|
|
27
|
+
devin --version`}},pi:{id:"pi",name:"Pi (pi-coding-agent)",image:"/providers/pi.svg",color:"#6366F1",description:"Pi coding agent — minimal, extensible agent harness (pi.dev)",configType:"custom",docsUrl:"https://pi.dev",notes:[{type:"info",text:"Pi uses ~/.pi/agent/models.json. 9Router is configured under providers.9router as an OpenAI-compatible endpoint."}]},omp:{id:"omp",name:"Oh My Pi",image:"/providers/omp.png",color:"#EC4899",description:"Oh My Pi terminal AI agent with auto-discovery support",configType:"custom",docsUrl:"https://github.com/can1357/oh-my-pi",notes:[{type:"info",text:"Oh My Pi uses ~/.omp/agent/models.yml and agent.db. 9Router is configured with proxy discovery so all models appear automatically under /model."}]},crush:{id:"crush",name:"Crush",image:"/providers/crush.png",color:"#FB923C",description:"Charm Crush terminal AI coding agent",configType:"custom",docsUrl:"https://github.com/charmbracelet/crush",notes:[{type:"info",text:"Crush uses ~/.config/crush/crush.json. 9Router registers as an openai-compat provider."}]},forge:{id:"forge",name:"ForgeCode",image:"/providers/forge.png",color:"#EAB308",description:"Antinomy HQ ForgeCode agent harness",configType:"custom",docsUrl:"https://github.com/antinomyhq/forge",notes:[{type:"info",text:"ForgeCode uses ~/.forge/config.toml. 9Router updates the [openai] section with your baseUrl, apiKey, and model."}]},smelt:{id:"smelt",name:"Smelt",image:"/providers/smelt.svg",color:"#EF4444",description:"Smelt terminal AI coding assistant",configType:"custom",docsUrl:"https://github.com/leonardcser/smelt",notes:[{type:"info",text:"Smelt uses ~/.smelt/config.json for OpenAI-compatible endpoint configuration."}]},codewhale:{id:"codewhale",name:"CodeWhale",image:"/providers/codewhale.svg",color:"#4F46E5",description:"CodeWhale terminal coding agent (successor to DeepSeek TUI)",configType:"custom",docsUrl:"https://github.com/Hmbown/CodeWhale",notes:[{type:"info",text:"CodeWhale uses ~/.codewhale/config.toml. 9Router configures the [openai] provider with your base_url, api_key, and model."}]}}}};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";exports.id=7693,exports.ids=[7693],exports.modules={37693:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73468),i=c(78785);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"fix-empty-allowed-lists",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")&&a.exec("UPDATE apiKeys SET allowedProviders = NULL WHERE allowedProviders = '[]'"),c.includes("allowedCombos")&&a.exec("UPDATE apiKeys SET allowedCombos = NULL WHERE allowedCombos = '[]'"),c.includes("allowedKinds")&&a.exec("UPDATE apiKeys SET allowedKinds = NULL WHERE allowedKinds = '[]'")}},{version:3,name:"add-allowed-lists-columns",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedProviders TEXT"),c.includes("allowedCombos")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedCombos TEXT"),c.includes("allowedKinds")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedKinds TEXT")}},{version:4,name:"add-request-details-apikey",up(a){let b=new Set(a.all("PRAGMA table_info(requestDetails)").map(a=>a.name));b.has("apiKey")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKey TEXT"),b.has("apiKeyName")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKeyName TEXT")}},{version:7,name:"add-combo-context-length",up(a){a.all("PRAGMA table_info(combos)").some(a=>"context_length"===a.name)||a.exec("ALTER TABLE combos ADD COLUMN context_length INTEGER")}},{version:8,name:"add-proxy-pool-fitness",up(a){let b=i.CG.proxyPoolFitness;for(let c of(a.exec((0,i.zE)("proxyPoolFitness",b)),b.indexes||[]))a.exec(c)}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}let o=["requestDetails"];function p(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(3))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(90118);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);q(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt(k(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=p(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(o),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),q(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}l(a,"backupSchemaVersion",i.f$);let d=e().existsSync(s),f=w(h.Or.main),m=w(h.Or.usage),x=w(h.Or.disabled),y=w(h.Or.details);if(b&&(f||m||x||y)&&!d){let b=Date.now(),c=p("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, context_length, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.context_length??null,b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m){for(let b of m.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,r.s)(c),(0,r.s)({})])}for(let[b,c]of Object.entries(m.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,r.s)(c)]);"number"==typeof m.totalRequestsLifetime&&l(a,"totalRequestsLifetime",m.totalRequestsLifetime)}if(x&&"object"==typeof x.disabled)for(let[b,c]of Object.entries(x.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);if(y&&Array.isArray(y.records))for(let b of y.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,r.s)(b)]);l(a,"appVersion",n()),l(a,"backupSchemaVersion",i.f$),l(a,"migratedAt",new Date().toISOString())})}catch(b){if(t.delete(a),b instanceof u)return void console.error(`[DB][migrate] aborted: ${b.message} | legacy JSON kept | backup: ${c}`);throw b}try{e().writeFileSync(s,new Date().toISOString())}catch{}t.add(a),q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let z=n();k(a,"appVersion",null)!==z&&l(a,"appVersion",z),t.add(a)}},78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
|
|
1
|
+
"use strict";exports.id=7693,exports.ids=[7693],exports.modules={37693:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73468),i=c(78785);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"fix-empty-allowed-lists",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")&&a.exec("UPDATE apiKeys SET allowedProviders = NULL WHERE allowedProviders = '[]'"),c.includes("allowedCombos")&&a.exec("UPDATE apiKeys SET allowedCombos = NULL WHERE allowedCombos = '[]'"),c.includes("allowedKinds")&&a.exec("UPDATE apiKeys SET allowedKinds = NULL WHERE allowedKinds = '[]'")}},{version:3,name:"add-allowed-lists-columns",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedProviders TEXT"),c.includes("allowedCombos")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedCombos TEXT"),c.includes("allowedKinds")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedKinds TEXT")}},{version:4,name:"add-request-details-apikey",up(a){let b=new Set(a.all("PRAGMA table_info(requestDetails)").map(a=>a.name));b.has("apiKey")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKey TEXT"),b.has("apiKeyName")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKeyName TEXT")}},{version:7,name:"add-combo-context-length",up(a){a.all("PRAGMA table_info(combos)").some(a=>"context_length"===a.name)||a.exec("ALTER TABLE combos ADD COLUMN context_length INTEGER")}},{version:8,name:"add-proxy-pool-fitness",up(a){let b=i.CG.proxyPoolFitness;for(let c of(a.exec((0,i.zE)("proxyPoolFitness",b)),b.indexes||[]))a.exec(c)}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}let o=["requestDetails"];function p(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(1))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(90118);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);q(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt(k(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=p(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(o),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),q(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}l(a,"backupSchemaVersion",i.f$);let d=e().existsSync(s),f=w(h.Or.main),m=w(h.Or.usage),x=w(h.Or.disabled),y=w(h.Or.details);if(b&&(f||m||x||y)&&!d){let b=Date.now(),c=p("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, context_length, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.context_length??null,b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m){for(let b of m.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,r.s)(c),(0,r.s)({})])}for(let[b,c]of Object.entries(m.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,r.s)(c)]);"number"==typeof m.totalRequestsLifetime&&l(a,"totalRequestsLifetime",m.totalRequestsLifetime)}if(x&&"object"==typeof x.disabled)for(let[b,c]of Object.entries(x.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);if(y&&Array.isArray(y.records))for(let b of y.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,r.s)(b)]);l(a,"appVersion",n()),l(a,"backupSchemaVersion",i.f$),l(a,"migratedAt",new Date().toISOString())})}catch(b){if(t.delete(a),b instanceof u)return void console.error(`[DB][migrate] aborted: ${b.message} | legacy JSON kept | backup: ${c}`);throw b}try{e().writeFileSync(s,new Date().toISOString())}catch{}t.add(a),q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let z=n();k(a,"appVersion",null)!==z&&l(a,"appVersion",z),t.add(a)}},78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
|
|
2
2
|
PRAGMA journal_mode = WAL;
|
|
3
|
-
PRAGMA synchronous = NORMAL;
|
|
3
|
+
PRAGMA synchronous = ${process.env.SQLITE_SYNCHRONOUS||"NORMAL"};
|
|
4
4
|
PRAGMA temp_store = MEMORY;
|
|
5
5
|
PRAGMA mmap_size = 30000000;
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=7842,exports.ids=[7842],exports.modules={23095:(a,b,c)=>{c.d(b,{Xh:()=>g,js:()=>i});var d=c(60124);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function h(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}async function i(a,b){let c=g(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=h(c.model,d)||h(c.model,f);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return j.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let j=[[/^codex-auto-review$/,"codex"],[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},39813:(a,b,c)=>{c.d(b,{g:()=>F,s:()=>G});var d=c(14836),e=c(94164),f=c(66781),g=c(47950),h=c(15261),i=c(92398),j=c(91392),k=c(17863);let l=new Set(["generations"]);function m(a,b){return{Accept:"application/json",...a.headers||{},...b?{Authorization:`Bearer ${b}`}:{}}}let n=/^[A-Za-z0-9._-]+$/,o=/^projects\/([^/]+)\/locations\/([^/]+)\/publishers\/([^/]+)\/models\/([^/]+)\/operations\/([^/]+)$/;function p(a){return"string"==typeof a&&n.test(a)}async function q(a,b){let c=(0,j.Sc)(a?.apiKey),d=c?.project_id||a?.projectId||a?.providerSpecificData?.projectId,e=a?.providerSpecificData?.location||"us-central1";if(!d)return{error:"Vertex video requires a project_id — use Service Account JSON or set providerSpecificData.projectId"};if(!p(d)||!p(e))return{error:"Vertex video requires a valid project_id and location"};let f=a?.accessToken;if(c){let a=await (0,j.pb)(c,b);if(!a?.accessToken)return{error:"Vertex video: failed to mint access token from service account JSON"};f=a.accessToken}return f?{token:f,projectId:d,location:e}:{error:"Vertex video requires Service Account JSON or an OAuth access token (raw API keys are not supported)"}}let r={openrouter:{buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,token:f}){let g=a.baseUrl.replace(/\/$/,"");return c?{method:"GET",url:`${g}/${encodeURIComponent(c)}`,headers:m(a,f)}:l.has(b)?e&&!e.includes("application/json")?{error:"OpenRouter video requires an application/json body"}:{method:"POST",url:g,headers:{...m(a,f),"Content-Type":"application/json"},body:d}:{error:`OpenRouter video supports 'generations' only (got '${b}')`}}},vertex:{async buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,credentials:f,log:g}){let h;if(e&&!e.includes("application/json"))return{error:"Vertex video requires an application/json body"};let i=await q(f,g);if(i.error)return{error:i.error};let{token:j,projectId:k,location:l}=i,m=(a.baseUrl||"https://aiplatform.googleapis.com").replace(/\/$/,""),n={Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${j}`};if(c){let a=function(a){let b,c=String(a??"");if(!c||c.length>1024||!/^[A-Za-z0-9_-]+$/.test(c))return null;let d=Buffer.from(c,"base64url").toString("utf8");return Buffer.from(d,"utf8").toString("base64url")!==c?null:(b=d.match(o))&&b.slice(1).every(p)?d:null}(c);return a?{method:"POST",url:`${m}/v1/${a.slice(0,a.indexOf("/operations/"))}:fetchPredictOperation`,headers:n,body:JSON.stringify({operationName:a})}:{error:"Invalid Vertex video job id"}}if("generations"!==b)return{error:`Vertex video supports 'generations' only (got '${b}')`};try{h=JSON.parse("string"==typeof d?d:d.toString("utf8"))}catch{return{error:"Invalid JSON body"}}if(!h.model)return{error:"Vertex video requires a model (e.g. vertex/veo-3.1-generate-preview)"};if(!p(h.model))return{error:"Invalid Vertex video model id"};if(!h.prompt&&!h.image&&!h.image_url)return{error:"Vertex video requires a prompt or an image"};let r=function(a){let b={prompt:a.prompt},c=a.image??a.image_url;if(c&&"object"==typeof c)b.image=c;else if("string"==typeof c){let a=c.match(/^data:([^;]+);base64,(.*)$/s);if(a)b.image={bytesBase64Encoded:a[2],mimeType:a[1]};else{if(!c.startsWith("gs://"))return{error:"Vertex video image must be a data URL or gs:// URI"};b.image={gcsUri:c}}}a.video&&"object"==typeof a.video&&(b.video=a.video);let d={};return null!=a.n&&(d.sampleCount=Number(a.n)),null!=a.duration&&(d.durationSeconds=Number(a.duration)),a.aspect_ratio&&(d.aspectRatio=a.aspect_ratio),a.resolution&&(d.resolution=a.resolution),null!=a.seed&&(d.seed=a.seed),a.negative_prompt&&(d.negativePrompt=a.negative_prompt),a.storage_uri&&(d.storageUri=a.storage_uri),null!=a.generate_audio&&(d.generateAudio=!!a.generate_audio),{instances:[b],...Object.keys(d).length?{parameters:d}:{}}}(h);return r.error?r:{method:"POST",url:`${m}/v1/projects/${k}/locations/${l}/publishers/google/models/${h.model}:predictLongRunning`,headers:n,body:JSON.stringify(r)}},transformResponse:function(a){let b;if(!a?.name)return a;let c=(b=a.name,Buffer.from(b,"utf8").toString("base64url"));if(a.error)return{id:c,request_id:c,status:"failed",error:a.error};if(!a.done)return{id:c,request_id:c,status:"pending"};let d=(a.response?.videos||a.response?.generateVideoResponse?.generatedSamples||[]).map(a=>({url:a.gcsUri||a.video?.uri||a.uri||null,b64_json:a.bytesBase64Encoded||a.video?.bytesBase64Encoded||null,mime_type:a.mimeType||a.video?.mimeType||"video/mp4"}));return{id:c,request_id:c,status:"completed",video:d[0]||null,videos:d}}}},s=Number(process.env.VIDEO_FETCH_TIMEOUT_MS||12e4),t=new Set(["generations","edits","extensions"]);function u(a){return k.B$[a]?.videoConfig||null}function v(a,b=null){if(!a)return a;let c=String(a).replace(/Bearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]");for(let a of["accessToken","refreshToken","apiKey"]){let d=b?.[a];"string"==typeof d&&d.length>=8&&(c=c.split(d).join("[redacted]"))}return c}async function w({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:g,signal:k,timeoutMs:l=s,log:m,onCredentialsRefreshed:n}){let o,p,q=u(a);if(!q)return(0,h.A1)(i.gx.BAD_REQUEST,`Provider '${a}' does not support video generation`);if(!c&&!t.has(b))return(0,h.A1)(i.gx.BAD_REQUEST,`Unknown video action: ${b}`);let x=r[a]||null,y=(p="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(l):null,k&&p&&"function"==typeof AbortSignal.any?AbortSignal.any([k,p]):k||p||void 0),z=async()=>{let a,h,i=x?await x.buildRequest({config:q,action:b,requestId:c,rawBody:d,contentType:e,idempotencyKey:f,credentials:g,log:m,token:g?.accessToken||g?.apiKey}):{method:a=c?"GET":"POST",url:(h=q.baseUrl.replace(/\/$/,""),c?`${h}/${encodeURIComponent(c)}`:`${h}/${b}`),headers:function({token:a,contentType:b,idempotencyKey:c}){let d={Accept:"application/json"};return a&&(d.Authorization=`Bearer ${a}`),b&&(d["Content-Type"]=b),c&&(d["Idempotency-Key"]=c),d}({token:g?.accessToken||g?.apiKey,contentType:"POST"===a?e:null,idempotencyKey:"POST"===a?f:null}),body:"POST"===a?d:void 0};return i.error?{planError:i.error}:{response:await fetch(i.url,{method:i.method,headers:i.headers,body:i.body,signal:y})}},A=c?"GET":"POST";try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,h.A1)(i.gx.REQUEST_TIMEOUT,`[${a}] video ${A} aborted: ${b.message}`);return(0,h.A1)(i.gx.BAD_GATEWAY,v(`[${a}] video upstream fetch failed: ${b.message}`,g))}if((o.status===i.gx.UNAUTHORIZED||o.status===i.gx.FORBIDDEN)&&g?.refreshToken){let b=null;try{b=await (0,j.$B)(a,g,m)}catch(b){m?.warn?.("TOKEN",`${a} | video refresh error: ${v(b.message,g)}`)}if(b?.accessToken){m?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${A}`),Object.assign(g,b),n&&await n(b);try{await o.body?.cancel?.()}catch{}try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){return(0,h.A1)(i.gx.BAD_GATEWAY,v(`[${a}] video retry after refresh failed: ${b.message}`,g))}}else m?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let B=await o.text().catch(()=>"");if(!o.ok){let b=v(B||`HTTP ${o.status}`,g);return(0,h.A1)(o.status,`[${a}] ${b.slice(0,2e3)}`)}let C=B,D=o.headers.get("content-type")||"application/json";if(x?.transformResponse)try{C=JSON.stringify(x.transformResponse(JSON.parse(B))),D="application/json"}catch{}return{success:!0,response:new Response(C,{status:o.status,headers:{"Content-Type":D,"Access-Control-Allow-Origin":"*"}})}}var x=c(83950),y=c(90293);async function z(a,b){if(!b)return{error:(0,h.yj)(i.gx.BAD_REQUEST,"Missing x-connection-id for video polling")};let c=await (0,e.Mc)(b).catch(()=>null);if(!c?.isActive||!c.provider||!u(c.provider))return{error:(0,h.yj)(i.gx.NOT_FOUND,"Video connection is unavailable")};let d=new URL(a.url).searchParams.get("provider");return d&&d!==c.provider&&d!==u(c.provider)?.provider?{error:(0,h.yj)(i.gx.BAD_REQUEST,"Video provider does not match x-connection-id")}:{provider:c.provider}}let A=new Set([i.gx.UNAUTHORIZED,i.gx.FORBIDDEN,i.gx.RATE_LIMITED]);async function B(a){let b=await (0,e.mt)();if(await (0,d.Ov)(a)||!b.requireApiKey)return{apiKeyInfo:null};let c=(0,d.Tr)(a);if(!c)return{error:(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key")};let f=await (0,d.kI)(c);return f?{apiKeyInfo:f}:{error:(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}}async function C(a){let b=a.headers.get("content-type")||"";if(b.includes("application/json")){let c,d=await a.text();try{c=JSON.parse(d)}catch{return{error:(0,h.yj)(i.gx.BAD_REQUEST,"Invalid JSON body")}}return{raw:d,parsed:c,contentType:b}}return{raw:Buffer.from(await a.arrayBuffer()),parsed:null,contentType:b}}async function D(a){if(!a?.model)return{provider:"xai",model:null};let b=String(a.model),c=await (0,f.mA)(b);return c.provider?u(c.provider)?{provider:c.provider,model:c.model}:b.includes("/")?{error:(0,h.yj)(i.gx.BAD_REQUEST,`Provider '${c.provider}' does not support video generation`)}:{provider:"xai",model:b}:{error:(0,h.yj)(i.gx.BAD_REQUEST,"Combos are not supported for video generation")}}function E(a,b){if(!b)return a;let c=new Headers(a.headers);return c.set("x-9router-connection-id",String(b)),new Response(a.body,{status:a.status,headers:c})}async function F(a,b){let c=await B(a);if(c.error)return c.error;let e=await C(a);if(e.error)return e.error;let f=await D(e.parsed);if(f.error)return f.error;let{provider:j,model:k}=f;if(!(0,d.L$)(c.apiKeyInfo,"video"))return(0,h.yj)(i.gx.FORBIDDEN,"Video generation requests are not allowed for this API key");if(!await (0,d.kt)(c.apiKeyInfo,j))return(0,h.yj)(i.gx.FORBIDDEN,`Provider "${j}" is not allowed for this API key`);if(k&&!await (0,g.Uw)(`${j}/${k}`,c.apiKeyInfo))return(0,h.yj)(i.gx.NOT_FOUND,`Model "${j}/${k}" is not available. Only models listed in /v1/models can be used.`);let l=e.raw;e.parsed&&k&&e.parsed.model!==k&&(l=JSON.stringify({...e.parsed,model:k}));let m=a.headers.get("x-connection-id")||null,n=a.headers.get("idempotency-key")||null,o=new Set,p=null,q=null;for(;;){let c=await (0,d.c1)(j,o,k,{preferredConnectionId:m});if(!c||c.allRateLimited){if(c?.allRateLimited){let a=p||c.lastError||"Unavailable",b=q||Number(c.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(b,`[${j}/${k||"video"}] ${a}`,c.retryAfter,c.retryAfterHuman)}if(0===o.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${j}`);return(0,h.yj)(q||i.gx.SERVICE_UNAVAILABLE,p||"All accounts unavailable")}let f=await (0,x.eU)(j,c),g=await w({provider:j,action:b,rawBody:l,contentType:e.contentType||null,idempotencyKey:n,credentials:f,signal:a.signal,log:y,onCredentialsRefreshed:async a=>{await (0,x.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,k),y.info("VIDEO",`${j.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),E(g.response,c.connectionId);let{shouldFallback:r}=await (0,d.vk)(c.connectionId,g.status,v(g.error,f),j,k);if(r&&A.has(g.status)){o.add(c.connectionId),p=g.error,q=g.status;continue}return g.response}}async function G(a,b){let c=await B(a);if(c.error)return c.error;if(!(0,d.L$)(c.apiKeyInfo,"video"))return(0,h.yj)(i.gx.FORBIDDEN,"Video generation requests are not allowed for this API key");if(!b)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing video request id");let e=a.headers.get("x-connection-id")||null,f=await z(a,e);if(f.error)return f.error;let{provider:g}=f;if(!await (0,d.kt)(c.apiKeyInfo,g))return(0,h.yj)(i.gx.FORBIDDEN,`Provider "${g}" is not allowed for this API key`);let j=await (0,d.c1)(g,null,null,{preferredConnectionId:e,strictPreferredConnection:!0});if(!j||j.allRateLimited)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${g}`);if(j.connectionId!==e)return(0,h.yj)(i.gx.NOT_FOUND,"Video connection is unavailable");let k=await (0,x.eU)(g,j),l=await w({provider:g,requestId:b,credentials:k,signal:a.signal,log:y,onCredentialsRefreshed:async a=>{await (0,x.vN)(j.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return l.success?(await (0,d.Pt)(j.connectionId,j,null),E(l.response,j.connectionId)):(await (0,d.vk)(j.connectionId,l.status,v(l.error,k),g,null),l.response)}},56726:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.toLowerCase().startsWith("workos:")?b:/^eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/.test(b)?`workos:${b}`:b:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`VansRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"vansrouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(60124);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b;if(a.startsWith("combo/")){let b=a.slice(6);if(await (0,d.Dj)(b))return{provider:null,model:b}}let c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){let b=a;if(a.startsWith("combo/"))b=a.slice(6);else if(a.includes("/"))return null;let c=await (0,d.Dj)(b);return c&&c.models&&c.models.length>0?c.models:null}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7863,exports.ids=[7863],exports.modules={17863:(a,b,c)=>{c.d(b,{xq:()=>o,B$:()=>r,vq:()=>p,sr:()=>q});var d=c(
|
|
1
|
+
"use strict";exports.id=7863,exports.ids=[7863],exports.modules={17863:(a,b,c)=>{c.d(b,{xq:()=>o,B$:()=>r,vq:()=>p,sr:()=>q});var d=c(60124),e=c(82457),f=c(57959);let g={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},h=(...a)=>a.map(a=>({...g[a],type:"tts"})),i=h("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),j=h("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),k=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),l={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":j,"tts-1":i,"tts-1-hd":i},allVoices:j},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":j,"openai/tts-1":i,"openai/tts-1-hd":i},allVoices:j},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":k,"gemini-2.5-flash-preview-tts":k,"gemini-2.5-pro-preview-tts":k},allVoices:k},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":["mimo_default","冰糖","茉莉","苏打","白桦","Mia","Chloe","Milo","Dean"].map(a=>({id:a,name:a,type:"tts"}))}}},m=["clientId","clientSecret","tokenUrl","refreshUrl"],n=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"]),o={},p={},q={},r={};for(let a of d.default){a.transport&&(o[a.id]=function(a,b){let c={...a};if(c.format||(c.format=e.hV.format),b)for(let a of m)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(o[a.id].transports=a.transports)),void 0!==a.models&&(p[a.alias||a.id]=a.models.map(f.pk)),a.oauth&&(q[a.id]=a.oauth);let b={};for(let c of n)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(r[a.id]=b)}Object.assign(p,function(){let a={};for(let[b,c]of Object.entries(l))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=l.openai.allVoices,a["openrouter-tts-voices"]=l.openrouter.allVoices,a}())},57959:(a,b,c)=>{function d(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}c.d(b,{g5:()=>h,ec:()=>j,gr:()=>i,pk:()=>g,Kq:()=>f});let e=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${d(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${d(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${d(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${d(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${d(a[1])}`]];function f(a){return"string"!=typeof a?a:a.replace(/(\d)-(\d)/g,"$1.$2")}function g(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of e){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}function h(a){return a?.strip||[]}function i(a){return a?.targetFormat||null}function j(a){return a?.supportedFormats||null}},82457:(a,b,c)=>{c.d(b,{X3:()=>g,hV:()=>e});var d=c(92398);let e={baseUrl:"",format:"openai",headers:{},auth:{header:"Authorization",scheme:"bearer",source:["accessToken","apiKey"]},forceStream:!1,urlSuffix:"",quirks:{},passthroughModels:!1,retry:d.cI,timeoutMs:d.pH,executor:"default"},f="/models";function g(a){return a?.baseUrl?a.validateUrl?a.validateUrl:a.baseUrl.replace(/\/(chat\/completions|messages|chatbot)$/,"")+f:null}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=7901,exports.ids=[1253,3946,7901],exports.modules={13946:(a,b,c)=>{"use strict";c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,uT:()=>i,xq:()=>d.xq});var d=c(17863);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}function i(a){return d.vq[a]||[]}},39006:a=>{"use strict";a.exports={rE:"0.91.30"}},65285:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(70690),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(88590);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},67259:(a,b,c)=>{"use strict";c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(85577);Object.entries(c(91253).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},69984:(a,b,c)=>{"use strict";let d;c.d(b,{P:()=>m});var e=c(94164),f=c(91253),g=c(79603),h=c(65285),i=c(98757);let j=Number.isFinite(d=Number(process.env.MODEL_TEST_TIMEOUT_MS))&&d>0?d:3e4;async function k(){let a=null;try{let b=await (0,e.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,h.Xj)("9r-cli-auth"),b}async function l(a,b,c=`http://127.0.0.1:${process.env.PORT||g.h0.appPort}`){let d=await k(),e=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(j)}),f=Date.now()-e,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:f,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:f,error:null,status:b.status}:{ok:!1,latencyMs:f,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(j)}),f=Date.now()-e,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:f,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:f,error:null,status:b.status}:{ok:!1,latencyMs:f,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,f,g,h,i=new FormData,k=(g=new DataView(f=new ArrayBuffer(44+(b=2*Math.max(1,Math.floor(4e3))))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([f],{type:"audio/wav"}));i.append("file",k,"test.wav"),i.append("model",a);let l=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(j)}),m=Date.now()-e,n=await l.text().catch(()=>""),o=null;try{o=n?JSON.parse(n):null}catch{}if(!l.ok){let a=o?.error?.message||o?.msg||o?.message||o?.error||n;return{ok:!1,latencyMs:m,error:`HTTP ${l.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:l.status}}return("string"==typeof o?.text?o.text:"").trim()?{ok:!0,latencyMs:m,error:null,status:l.status}:{ok:!1,latencyMs:m,status:l.status,error:"Provider returned no transcription text for this model"}}let h=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:1024,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(j)}),m=Date.now()-e,n=await h.text().catch(()=>""),o=null;try{o=n?JSON.parse(n):null}catch{}let p=(0,f.rs)(String(a).split("/")[0]),q=(0,i.K)(o,p);if(o=q.body,q.error){let a="string"==typeof q.error?q.error:q.error.message||JSON.stringify(q.error);return{ok:!1,latencyMs:m,error:`Provider error: ${a}`,status:q.error?.status||q.error?.statusCode||h.status||200}}if(!h.ok){let a=o?.error?.message||o?.msg||o?.message||o?.error||n;return{ok:!1,latencyMs:m,error:`HTTP ${h.status}${a?`: ${String(a).slice(0,500)}`:""}`,status:h.status}}let r=o?.status,s=o?.msg||o?.message;if(null!=r&&"200"!==String(r)&&"0"!==String(r)&&s)return{ok:!1,latencyMs:m,status:h.status,error:`Provider status ${r}: ${String(s).slice(0,240)}`};if(o?.error){let a=o?.error?.message||o?.error||"Provider returned an error";return{ok:!1,latencyMs:m,status:h.status,error:String(a).slice(0,240)}}let t=Array.isArray(o?.choices)&&o.choices.length>0,u=o?.choices?.[0]||{},v=u.message?.reasoning||u.message?.reasoning_content||u.message?.thinking||u.message?.thinking_content;return t&&"length"===u.finish_reason&&!String(u.message?.content||"").trim()&&v?{ok:!0,latencyMs:m,error:null,status:h.status,note:"reasoning-only response (length-limited)"}:t?{ok:!0,latencyMs:m,error:null,status:h.status}:{ok:!1,latencyMs:m,status:h.status,error:"Provider returned no completion choices for this model"}}async function m(a,b,c){let d=Date.now();try{return await l(a,b,c)}catch(e){let a=Date.now()-d,b=e?.name||"",c=e?.message||"";if("TimeoutError"===b||/abort|timed?\s*out/i.test(c)){let b=Math.round(j/1e3);return{ok:!1,latencyMs:a,error:`Test timed out after ${b}s — provider too slow or unreachable. The model may not exist on this provider, or the route (proxy pool / relay) is slow. Increase MODEL_TEST_TIMEOUT_MS to allow more time.`}}return{ok:!1,latencyMs:a,error:c||"Test failed"}}}},70690:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},79603:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(91253),f=c(67259);d.rE;let g={npmPackageName:"vansrouter",installCmd:"npm i -g vansrouter",installCmdLatest:"npm i -g vansrouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},91253:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(60124);let e=a=>"RISK_NOTICE"===a.deprecationNotice?{...a,deprecationNotice:"⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk."}:a;Object.fromEntries(d.default.filter(a=>a.display).map(a=>[a.id,e(a.display)]));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds","credentialFallback"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);return{...e(a.display||{}),id:a.id,alias:a.uiAlias||a.alias,...a.aliases?{aliases:a.aliases}:{},...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a||b.aliases?.includes(a))return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>{for(let c of(a[b.alias]=b.id,b.aliases||[]))a[c]=b.id;return a},{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},94164:(a,b,c)=>{"use strict";c.d(b,{AN:()=>d.AN,CG:()=>d.CG,Ci:()=>d.Ci,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,Ny:()=>d.Ny,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XH:()=>d.XH,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,aE:()=>d.aE,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,py:()=>d.py,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,vC:()=>d.vC,wA:()=>d.wA,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(38599)},98757:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(17863);function e(a,b){return!(!d.xq[b]?.quirks?.clineEnvelope||!a||"object"!=typeof a||Array.isArray(a))&&"success"in a?!1===a.success?{body:null,error:{message:"string"==typeof a.error?a.error:a.error?.message||a.message||"Upstream error",status:a.statusCode||null}}:!0===a.success&&"data"in a&&null!==a.data&&"object"==typeof a.data?{body:a.data,error:null}:{body:a,error:null}:{body:a,error:null}}}};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";exports.id=7938,exports.ids=[7938],exports.modules={26985:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
|
|
2
2
|
PRAGMA journal_mode = WAL;
|
|
3
|
-
PRAGMA synchronous = NORMAL;
|
|
3
|
+
PRAGMA synchronous = ${process.env.SQLITE_SYNCHRONOUS||"NORMAL"};
|
|
4
4
|
PRAGMA temp_store = MEMORY;
|
|
5
5
|
PRAGMA mmap_size = 30000000;
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},proxyPoolFitness:{columns:{poolId:"TEXT NOT NULL",scope:"TEXT NOT NULL",until:"INTEGER NOT NULL",reason:"TEXT",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (poolId, scope)",indexes:["CREATE INDEX IF NOT EXISTS idx_ppf_pool ON proxyPoolFitness(poolId)","CREATE INDEX IF NOT EXISTS idx_ppf_scope ON proxyPoolFitness(scope)","CREATE INDEX IF NOT EXISTS idx_ppf_until ON proxyPoolFitness(until)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}
|
|
9
|
+
`,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},proxyPoolFitness:{columns:{poolId:"TEXT NOT NULL",scope:"TEXT NOT NULL",until:"INTEGER NOT NULL",reason:"TEXT",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (poolId, scope)",indexes:["CREATE INDEX IF NOT EXISTS idx_ppf_pool ON proxyPoolFitness(poolId)","CREATE INDEX IF NOT EXISTS idx_ppf_scope ON proxyPoolFitness(scope)","CREATE INDEX IF NOT EXISTS idx_ppf_until ON proxyPoolFitness(until)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);"function"==typeof g.unref&&g.unref();let h=()=>l(),i=()=>{h(),process.exit(0)},j=()=>{h(),process.exit(0)},k=!1;function l(){if(!k){k=!0,process.removeListener("beforeExit",h),process.removeListener("SIGINT",i),process.removeListener("SIGTERM",j);try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}}return process.once("beforeExit",h),process.once("SIGINT",i),process.once("SIGTERM",j),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(...b),get:(a,b=[])=>d(a).get(...b),all:(a,b=[])=>d(a).all(...b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),l()},raw:b}}}};
|