busbar-ai 1.0.13 → 1.0.14
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 +1 -0
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +1 -1
- package/app/.next-cli-build/routes-manifest.json +6 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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-pools/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- 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/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
- 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/saml/acs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/test/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 +3 -3
- 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 -1
- 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 +1 -1
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -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 -1
- 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 -1
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- 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 +2 -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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
- 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-profiles/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- 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 +1 -1
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
- 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 +2 -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 -2
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
- 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 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
- 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/dashboard/playground/[...operation]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/playground/[...operation]/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 +1 -1
- 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/capabilities/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/capabilities/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/models/test-batch/route.js +2 -2
- package/app/.next-cli-build/server/app/api/models/test-batch/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 +1 -1
- 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/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/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 +1 -1
- 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]/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]/overrides/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/overrides/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/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/refresh-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/refresh-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 +1 -1
- 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/providers/web-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/web-login/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 +2 -2
- 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 +2 -2
- 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/netlify-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/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 +1 -1
- 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 +2 -2
- 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/system/update/route.js +1 -0
- package/app/.next-cli-build/server/app/api/system/update/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/system/update/route_client-reference-manifest.js +1 -0
- 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 +2 -2
- 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]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/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/errors/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/errors/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/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 +1 -1
- 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 +1 -1
- 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/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/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/systemone/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/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 +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +3 -3
- 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/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- 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/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +1 -0
- package/app/.next-cli-build/server/chunks/1133.js +1 -1
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/2238.js +1 -1
- package/app/.next-cli-build/server/chunks/2318.js +1 -1
- package/app/.next-cli-build/server/chunks/2500.js +2 -2
- package/app/.next-cli-build/server/chunks/2764.js +1 -1
- package/app/.next-cli-build/server/chunks/2941.js +1 -1
- package/app/.next-cli-build/server/chunks/321.js +9 -0
- package/app/.next-cli-build/server/chunks/3697.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/436.js +1 -1
- package/app/.next-cli-build/server/chunks/4730.js +1 -1
- package/app/.next-cli-build/server/chunks/5020.js +1 -0
- package/app/.next-cli-build/server/chunks/5436.js +1 -1
- package/app/.next-cli-build/server/chunks/5780.js +1 -0
- package/app/.next-cli-build/server/chunks/6051.js +1 -1
- package/app/.next-cli-build/server/chunks/6053.js +1 -1
- package/app/.next-cli-build/server/chunks/6187.js +3 -3
- package/app/.next-cli-build/server/chunks/6457.js +2 -2
- package/app/.next-cli-build/server/chunks/6492.js +16 -16
- package/app/.next-cli-build/server/chunks/6581.js +1 -1
- package/app/.next-cli-build/server/chunks/6875.js +1 -1
- package/app/.next-cli-build/server/chunks/6877.js +1 -1
- package/app/.next-cli-build/server/chunks/7128.js +1 -1
- package/app/.next-cli-build/server/chunks/716.js +1 -1
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7739.js +1 -1
- package/app/.next-cli-build/server/chunks/7911.js +1 -1
- package/app/.next-cli-build/server/chunks/7995.js +11 -11
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8432.js +1 -1
- package/app/.next-cli-build/server/chunks/874.js +1 -1
- package/app/.next-cli-build/server/chunks/8749.js +3 -3
- package/app/.next-cli-build/server/chunks/8890.js +1 -1
- package/app/.next-cli-build/server/chunks/9046.js +1 -1
- package/app/.next-cli-build/server/chunks/915.js +2 -2
- package/app/.next-cli-build/server/chunks/9489.js +2 -2
- package/app/.next-cli-build/server/chunks/9874.js +2 -2
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +5 -5
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- 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/static/TUKy5M6SqJIhjIUHLAo8v/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/{1321-21cc532e1d667f81.js → 1321-7dbe46399fe183f5.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-b21b67293ff58471.js → 5497-bef5deff30ddb1c2.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-f6065ef62d717b48.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/{page-ceaa30e4c3f50138.js → page-40aa432267b05750.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-ceaa30e4c3f50138.js → route-40aa432267b05750.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-ceaa30e4c3f50138.js → route-40aa432267b05750.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-ceaa30e4c3f50138.js → route-40aa432267b05750.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/playground/[...operation]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/capabilities/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test-batch/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/refresh-models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/web-login/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/system/update/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/errors/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-40aa432267b05750.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-40aa432267b05750.js +1 -0
- package/app/package.json +79 -79
- package/app/src/lib/updater/updater.js +14 -5
- package/app/src/mitm/server.js +29 -29
- package/package.json +60 -60
- package/src/cli/utils/port.js +52 -43
- package/app/.next-cli-build/server/chunks/7950.js +0 -1
- package/app/.next-cli-build/server/chunks/983.js +0 -9
- package/app/.next-cli-build/static/DNdz9z5UmNIAsJTTWDdCN/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0a34d8ae3389292e.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/playground/[...operation]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/capabilities/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test-batch/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/refresh-models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/web-login/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/errors/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-ceaa30e4c3f50138.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-ceaa30e4c3f50138.js +0 -1
- /package/app/.next-cli-build/static/{DNdz9z5UmNIAsJTTWDdCN → TUKy5M6SqJIhjIUHLAo8v}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "busbar-ai",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Fast, zero-bloat local LLM gateway and multiplexer for 290+ providers",
|
|
5
|
-
"author": {"name": "Tejas Lamba", "url": "https://tejas.is-a.dev/"},
|
|
6
|
-
"homepage": "https://github.com/TejasLamba2006/busbar#readme",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/TejasLamba2006/busbar.git"
|
|
10
|
-
},
|
|
11
|
-
"bin": {
|
|
12
|
-
"busbar": "./cli.js",
|
|
13
|
-
"busbar-ai": "./cli.js"
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"cli.js",
|
|
17
|
-
"src",
|
|
18
|
-
"hooks",
|
|
19
|
-
"app",
|
|
20
|
-
"README.md",
|
|
21
|
-
"LICENSE"
|
|
22
|
-
],
|
|
23
|
-
"scripts": {
|
|
24
|
-
"dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js",
|
|
25
|
-
"build": "node scripts/build-cli.js",
|
|
26
|
-
"build:tray-arm64": "node scripts/buildTrayArm64.js",
|
|
27
|
-
"pack:cli": "npm run build && npm pack --pack-destination ..",
|
|
28
|
-
"publish:cli": "npm run build && npm publish",
|
|
29
|
-
"postinstall": "node hooks/postinstall.js",
|
|
30
|
-
"prepublishOnly": "npm run build"
|
|
31
|
-
},
|
|
32
|
-
"dependencies": {
|
|
33
|
-
"enquirer": "^2.4.1",
|
|
34
|
-
"node-forge": "^1.3.3",
|
|
35
|
-
"node-machine-id": "^1.1.12",
|
|
36
|
-
"react": "19.2.1",
|
|
37
|
-
"react-dom": "19.2.1",
|
|
38
|
-
"confbox": "^0.2.4"
|
|
39
|
-
},
|
|
40
|
-
"comment_sqlite": "sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.",
|
|
41
|
-
"comment_systray": "systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails to load on modern macOS dyld. Neither package ships an arm64 macOS binary, so on Apple Silicon hooks/trayRuntime.js overlays our own arm64 build from the tray-binaries GitHub release; without it the tray requires Rosetta 2.",
|
|
42
|
-
"comment_tray_arm64": "tray_darwin_arm64 is built by scripts/buildTrayArm64.js (npm run build:tray-arm64) from felixhao28/systray-portable — the same source systray2's binary comes from — and uploaded to the pinned 'tray-binaries' GitHub release. Its sha256 is pinned as ARM64_TRAY_SHA256 in hooks/trayRuntime.js and verified after every download; rebuild and update both together. .github/workflows/tray-binaries.yml builds the same artifact in CI but refuses to publish when the sha diverges from the pin.",
|
|
43
|
-
"engines": {
|
|
44
|
-
"node": ">=18.0.0"
|
|
45
|
-
},
|
|
46
|
-
"keywords": [
|
|
47
|
-
"busbar",
|
|
48
|
-
"llm",
|
|
49
|
-
"gateway",
|
|
50
|
-
"proxy",
|
|
51
|
-
"openai",
|
|
52
|
-
"anthropic",
|
|
53
|
-
"gemini"
|
|
54
|
-
],
|
|
55
|
-
"license": "MIT",
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"esbuild": "^0.25.12",
|
|
58
|
-
"nodemon": "^3.1.14"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "busbar-ai",
|
|
3
|
+
"version": "1.0.14",
|
|
4
|
+
"description": "Fast, zero-bloat local LLM gateway and multiplexer for 290+ providers",
|
|
5
|
+
"author": {"name": "Tejas Lamba", "url": "https://tejas.is-a.dev/"},
|
|
6
|
+
"homepage": "https://github.com/TejasLamba2006/busbar#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/TejasLamba2006/busbar.git"
|
|
10
|
+
},
|
|
11
|
+
"bin": {
|
|
12
|
+
"busbar": "./cli.js",
|
|
13
|
+
"busbar-ai": "./cli.js"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"cli.js",
|
|
17
|
+
"src",
|
|
18
|
+
"hooks",
|
|
19
|
+
"app",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js",
|
|
25
|
+
"build": "node scripts/build-cli.js",
|
|
26
|
+
"build:tray-arm64": "node scripts/buildTrayArm64.js",
|
|
27
|
+
"pack:cli": "npm run build && npm pack --pack-destination ..",
|
|
28
|
+
"publish:cli": "npm run build && npm publish",
|
|
29
|
+
"postinstall": "node hooks/postinstall.js",
|
|
30
|
+
"prepublishOnly": "npm run build"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"enquirer": "^2.4.1",
|
|
34
|
+
"node-forge": "^1.3.3",
|
|
35
|
+
"node-machine-id": "^1.1.12",
|
|
36
|
+
"react": "19.2.1",
|
|
37
|
+
"react-dom": "19.2.1",
|
|
38
|
+
"confbox": "^0.2.4"
|
|
39
|
+
},
|
|
40
|
+
"comment_sqlite": "sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.",
|
|
41
|
+
"comment_systray": "systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails to load on modern macOS dyld. Neither package ships an arm64 macOS binary, so on Apple Silicon hooks/trayRuntime.js overlays our own arm64 build from the tray-binaries GitHub release; without it the tray requires Rosetta 2.",
|
|
42
|
+
"comment_tray_arm64": "tray_darwin_arm64 is built by scripts/buildTrayArm64.js (npm run build:tray-arm64) from felixhao28/systray-portable — the same source systray2's binary comes from — and uploaded to the pinned 'tray-binaries' GitHub release. Its sha256 is pinned as ARM64_TRAY_SHA256 in hooks/trayRuntime.js and verified after every download; rebuild and update both together. .github/workflows/tray-binaries.yml builds the same artifact in CI but refuses to publish when the sha diverges from the pin.",
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18.0.0"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"busbar",
|
|
48
|
+
"llm",
|
|
49
|
+
"gateway",
|
|
50
|
+
"proxy",
|
|
51
|
+
"openai",
|
|
52
|
+
"anthropic",
|
|
53
|
+
"gemini"
|
|
54
|
+
],
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"esbuild": "^0.25.12",
|
|
58
|
+
"nodemon": "^3.1.14"
|
|
59
|
+
}
|
|
60
|
+
}
|
package/src/cli/utils/port.js
CHANGED
|
@@ -1,43 +1,52 @@
|
|
|
1
|
-
const fs = require("fs");
|
|
2
|
-
const path = require("path");
|
|
3
|
-
const os = require("os");
|
|
4
|
-
|
|
5
|
-
const DEFAULT_PORT = 20128;
|
|
6
|
-
|
|
7
|
-
const isValidPort = (n) => Number.isInteger(n) && n >= 1 && n <= 65535;
|
|
8
|
-
|
|
9
|
-
// Mirrors src/lib/dataDir.js default resolution (DATA_DIR env, else per-OS app dir).
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (isValidPort(
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const path = require("path");
|
|
3
|
+
const os = require("os");
|
|
4
|
+
|
|
5
|
+
const DEFAULT_PORT = 20128;
|
|
6
|
+
|
|
7
|
+
const isValidPort = (n) => Number.isInteger(n) && n >= 1 && n <= 65535;
|
|
8
|
+
|
|
9
|
+
// Mirrors src/lib/dataDir.js default resolution (DATA_DIR env, else per-OS app dir).
|
|
10
|
+
function defaultDir() {
|
|
11
|
+
const win = process.platform === "win32";
|
|
12
|
+
const base = win ? (process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming")) : os.homedir();
|
|
13
|
+
const primary = path.join(base, win ? "busbar" : ".busbar");
|
|
14
|
+
const legacy = path.join(base, win ? "9router" : ".9router");
|
|
15
|
+
// Auto-migrate legacy 9router data once; fall back to legacy if copy fails.
|
|
16
|
+
if (!fs.existsSync(path.join(primary, "db", "data.sqlite")) && fs.existsSync(legacy)) {
|
|
17
|
+
try { fs.cpSync(legacy, primary, { recursive: true, force: false }); } catch { return legacy; }
|
|
18
|
+
}
|
|
19
|
+
return primary;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getDataDir(env = process.env) {
|
|
23
|
+
if (env.DATA_DIR) return env.DATA_DIR;
|
|
24
|
+
return defaultDir();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const portFile = (env) => path.join(getDataDir(env), "port.json");
|
|
28
|
+
|
|
29
|
+
function readSavedPort(env = process.env) {
|
|
30
|
+
try {
|
|
31
|
+
const n = Number(JSON.parse(fs.readFileSync(portFile(env), "utf8")).port);
|
|
32
|
+
return isValidPort(n) ? n : null;
|
|
33
|
+
} catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function savePort(port, env = process.env) {
|
|
39
|
+
if (!isValidPort(port)) throw new Error("Invalid port");
|
|
40
|
+
fs.mkdirSync(getDataDir(env), { recursive: true });
|
|
41
|
+
fs.writeFileSync(portFile(env), JSON.stringify({ port }));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Priority: --port flag > PORT env > port.json > 20128
|
|
45
|
+
function resolvePort({ flagPort, env = process.env } = {}) {
|
|
46
|
+
if (isValidPort(flagPort)) return flagPort;
|
|
47
|
+
const envPort = Number(env.PORT);
|
|
48
|
+
if (isValidPort(envPort)) return envPort;
|
|
49
|
+
return readSavedPort(env) || DEFAULT_PORT;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
module.exports = { DEFAULT_PORT, isValidPort, getDataDir, readSavedPort, savePort, resolvePort };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=7950,exports.ids=[7950],exports.modules={5632:(a,b,c)=>{c.d(b,{Qx:()=>h,gx:()=>j,rq:()=>i});let d="0.6.1",e=null,f=null;async function g(a,b=null){return!a&&e&&Date.now()-e.at<18e5?e:f||(f=(async()=>{try{let a=await fetch("https://api.freepi.ai/client-version",{headers:{Accept:"application/json",...b?{Authorization:`Bearer ${b}`}:{}}});if(!a.ok)throw Error(`HTTP ${a.status}`);let c=await a.json();e={at:Date.now(),version:c.latest||c.min||d,models:Array.isArray(c.models)?c.models:[]}}catch{e={at:Date.now(),version:e?.version||d,models:e?.models||[]}}finally{f=null}return e})())}function h(){return e?.version||d}async function i(a=!1,b=null){return(await g(a,b)).version}async function j(a=null){let{models:b}=await g(!1,a);return b.length?{models:b.map(a=>({id:a.id,name:(a.name||a.id).split(" \xb7 ")[0]}))}:null}},37014:(a,b,c)=>{c.d(b,{E2:()=>B,Mm:()=>w,ei:()=>A,g:()=>z,rr:()=>u,yo:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(53859);let k="https://www.codebuff.com",l=i().join(j.n,"freebuff-device-key.json"),m=null,n=null,o=null,p=a=>Buffer.from(a).toString("base64url"),q=a=>e().createHash("sha256").update(a).digest("hex"),r=a=>`${k} token:${q(a).slice(0,32)}`;function s(){try{g().mkdirSync(i().dirname(l),{recursive:!0}),g().writeFileSync(l,JSON.stringify(m),{mode:384})}catch{}}function t(){if(m)return m;try{let a=JSON.parse(g().readFileSync(l,"utf8"));a?.version===1&&a.publicKey&&a.privateKey&&(m={...a,registrations:a.registrations||{}})}catch{}if(!m){let{publicKey:a,privateKey:b}=e().generateKeyPairSync("ed25519");m={version:1,publicKey:p(a.export({type:"spki",format:"der"}).subarray(-32)),privateKey:p(b.export({type:"pkcs8",format:"der"})),registrations:{}},s()}return m}async function u(a){try{let b=t(),c=r(a);if(b.registrations[c])return b.registrations[c];let d=await fetch(`${k}/api/v1/freebuff/device-keys`,{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify({publicKey:b.publicKey,client:"cli"}),signal:AbortSignal.timeout(1e4)});if(!d.ok)return null;let e=(await d.json().catch(()=>null))?.keyId;if("string"!=typeof e||!e)return null;return b.registrations[c]=e,s(),e}catch{return null}}function v(a){m&&(delete m.registrations[r(a)],s())}function w(a,{method:b,url:c,body:d="",fetchId:f=""},g=Date.now()){try{let h=t(),i=h.registrations[r(a)];if(!i)return{};let j=["freebuff-device-v1",b.toUpperCase(),new URL(c).pathname,String(g),q(d||""),f||""].join("\n"),k=e().createPrivateKey({key:Buffer.from(h.privateKey,"base64url"),format:"der",type:"pkcs8"});return{"x-freebuff-device-key":i,"x-freebuff-device-ts":String(g),"x-freebuff-device-sig":p(e().sign(null,Buffer.from(j),k))}}catch{return{}}}let x=a=>String(a).toLowerCase().replace(/[^a-z0-9.]+/g,"-").replace(/^-+|-+$/g,"");async function y(a,b=!1){return!b&&n&&Date.now()-n.at<18e5?n:o||(o=(async()=>{let b=n;try{let b=`${k}/api/v1/freebuff/models`;await u(a);let c=await fetch(b,{headers:{Authorization:`Bearer ${a}`,"x-freebuff-catalog-protocol":"1","x-freebuff-client":"cli",...w(a,{method:"GET",url:b})},signal:AbortSignal.timeout(1e4)});if(!c.ok)throw Error(`HTTP ${c.status}`);let d=await c.json();if(d?.protocol!==1||!Array.isArray(d.rows))throw Error("not a catalog");let e=d.issuedAt??Date.now(),f=new Set,g=[];for(let a of d.rows){if(!a.handle||!a.displayName)continue;let b=x(a.displayName);f.has(b)&&(b+=`-${String(a.key||"").replace(/^m-/,"").slice(0,4)}`),f.add(b);let c="locked"===a.access||void 0!==a.opensAt&&a.opensAt>e;g.push({id:b,name:a.displayName,handle:a.handle,locked:c,digests:a.legacyDigests||[]})}n={at:Date.now(),rows:g,fetchId:d.fetchId||""}}catch{n={at:Date.now(),rows:b?.rows||[],fetchId:b?.fetchId||""}}finally{o=null}return n})())}async function z(a){if(!a)return null;let{rows:b}=await y(a),c=b.filter(a=>!a.locked).map(a=>({id:a.id,name:a.name}));return c.length?{models:c}:null}async function A(a,b){let c=a=>{let c=function(a){let b=`freebuff-legacy-model:${a}`,c=0x811c9dc5,d=0x5ad1e806;for(let a=0;a<b.length;a++){let e=b.charCodeAt(a);c=Math.imul(c^e,0x1000193)>>>0,d=Math.imul(d^e,0x5bd1e995)>>>0}return c.toString(16).padStart(8,"0")+d.toString(16).padStart(8,"0")}(b);return a.rows.find(a=>a.id===b)||a.rows.find(a=>a.digests.includes(c))},d=await y(a),e=c(d);return e||(e=c(d=await y(a,!0))),e&&!e.locked?{handle:e.handle,fetchId:d.fetchId,name:e.name}:null}function B(){n=null}},37950:(a,b,c)=>{c.d(b,{startLiveCatalogRefresh:()=>M});var d=c(92216),e=c(58609),f=c(63995),g=c(98620),h=c(27874),i=c(98322),j=c(10506),k=c(75692),l=c(46956),m=c(48991),n=c(91628);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.F)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(74967),s=c(66216),t=c(5632),u=c(37014),v=c(57317),w=c(98151),x=c(42926),y=c(86374);let z=(0,e.U)("modelCatalog"),A=Number(process.env.LIVE_CATALOG_REFRESH_MS||6e5),B=new Map,C=null;function D(a,b){return(0,k.EV)({provider:b,accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}}).then(a=>{let b=(0,k.So)(a);return b.length?{models:b.map(a=>({id:a.id,name:a.name}))}:null})}let E={freepi:async()=>(0,t.gx)(),freebuff:async a=>(0,u.g)(a.accessToken||a.apiKey),kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>D(a,"qoder"),"qoder-cn":async a=>D(a,"qoder-cn"),kimchi:async a=>{let b=await (0,j.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=await (0,r.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"grok-cli":async a=>{let b=await (0,y.B)(a.providerSpecificData||{}),c=await (0,s.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},cursor:async a=>{let b=await (0,v.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},zed:async a=>{let b=await (0,w.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.filter(a=>!a.isDisabled).map(a=>({id:a.id,name:a.name,capabilities:a.supportsTools?{tools:!0}:void 0}))}:null}};function F(a,b){return`${a}:${b?.id??"noauth"}`}async function G(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,f.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,f.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var e;let a=await fetch(c,{method:"GET",headers:{...d,"x-9r-internal-models-fetch":"1"},cache:"no-store",signal:AbortSignal.timeout(8e3)});if(!a.ok)return[];let b=(e=await a.json(),Array.isArray(e)?e:e?.data||e?.models||e?.results||[]);return Array.from(new Set(b.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function H(a,b){if(!E[a])return null;let c=b?.providerSpecificData?.enabledModels;return Array.isArray(c)&&c.length>0?null:E[a]}function I(a,b){if(!(0,f.mq)(a)&&!(0,f.gb)(a))return!1;let c=b?.providerSpecificData?.enabledModels;if(Array.isArray(c)&&c.length>0)return!1;let d=g.Xg[a]||a;return 0===(h.vq[d]||[]).length}function J(a,b){Promise.resolve().then(()=>z.set(a,{...b,savedAt:Date.now()})).catch(()=>{})}async function K(a,b){let c={providerId:b,connId:a?.id??"noauth"},d=F(b,a),e=H(b,a);if(e)try{let b=await e(a);if(b?.models?.length)return c.models=b.models,J(`live:${d}`,{models:b.models}),c}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}if(I(b,a)){let b=await G(a);b.length>0&&(c.ids=b,J(`compat:${d}`,{ids:b}))}return c}async function L({reason:a="scheduled"}={}){let b;try{b=(await (0,d.getProviderConnections)()).filter(a=>a?.isActive!==!1)}catch{return null}let c=new Set,e=[];for(let a of b){let b=a?.provider;b&&(H(b,a)||I(b,a))&&(c.add(F(b,a)),e.push(K(a,b).then(c=>{B.set(F(b,a),c)})))}for(let a of[...B.keys()])c.has(a)||B.delete(a);if(0===e.length)return Date.now(),{providers:0,resolved:0};await Promise.all(e),Date.now();let f=e.length-[...B.values()].filter(a=>!a.models?.length&&!a.ids?.length).length;return console.log(`[liveCatalog] ${a}: ${f}/${e.length} provider catalogs resolved`),{providers:e.length,resolved:f}}function M(){if(C||"off"===String(process.env.LIVE_CATALOG_REFRESH||"").toLowerCase())return;let a=b=>{C=setTimeout(async()=>{await L({reason:"scheduled"}).catch(()=>{}),a(A)},b),C.unref?.()};a(1500)}},98620:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg});var d=c(27874);new Set(Object.entries(c(63995).Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a)),Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),Object.freeze(["gemini-live"])}};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=983,exports.ids=[983],exports.modules={7044:(a,b,c)=>{c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(63960),e=c(52825),f=c(50743);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
|
|
2
|
-
VALUES(?, ?, ?, ?, ?, ?)
|
|
3
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
4
|
-
type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,serviceKinds:a.serviceKinds,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]),b.run("DELETE FROM kv WHERE scope = 'customModels' AND key LIKE ?",[`${a}|%`]))}),c}},8677:(a,b,c)=>{function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(52825)},16054:(a,b,c)=>{c.d(b,{createPricingResolver:()=>g}),c(52825);var d=c(50743),e=c(58609);async function f(){let[a,b]=await Promise.all([c.e(6051).then(c.bind(c,58432)),Promise.resolve().then(c.bind(c,40539))]);return{getCatalogPricing:a.getCatalogPricing,resolveConst:b.getPricingForModel,isFreeModel:b.isFreeModel}}async function g(){let a=await f();return(b,c,e)=>{let f=function(a,b){if(!b)return b;let c=a.get("SELECT id FROM providerNodes WHERE id = ? OR json_extract(data, '$.prefix') = ? LIMIT 1",[b,b]);return c?.id||b}(b,c),g=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[f])||(f!==c?b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]):null),h=g?{[f]:(0,d.q)(g.value,{})||{}}:{};return function(a,b,c,d){var e;if(!d)return null;let{getCatalogPricing:f,resolveConst:g,isFreeModel:h}=a,i=h(d)?null:f(c,d),j=g(c,d),k=i?{rates:i.rates,source:i.source,syncedAt:i.syncedAt}:j?{rates:j,source:"hardcoded",syncedAt:null}:null,l=c&&b[c]?.[d];if(!l)return k;let m=(e={...k?.rates||{},...l},!Number.isFinite(e.input)||e.input<0||!Number.isFinite(e.output)||e.output<0)?null:{input:e.input,output:e.output,...Number.isFinite(e.cached)?{cached:e.cached}:{},...Number.isFinite(e.cacheCreation??e.cache_creation)?{cache_creation:e.cacheCreation??e.cache_creation}:{},...Number.isFinite(e.reasoning)?{reasoning:e.reasoning}:{}};return m?{rates:m,source:"manual",syncedAt:null}:k}(a,h,f,e)?.rates||null}}c(25346),(0,e.U)("pricing")},20437:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(53859);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},25346:(a,b,c)=>{var d=c(94735);c(52825),c(8677),c(40539),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new d.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsEmitter,global._requestErrorBuffer||(global._requestErrorBuffer=[]),global._requestErrorBuffer},30395:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(53223);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]}},31881:(a,b,c)=>{c.d(b,{M0:()=>d});let d=Object.freeze({restricted:!1,allow:Object.freeze([])});Object.freeze(["webSearch","webFetch"]),Object.freeze({chat:{label:"Chat Completions (/v1/chat/completions)",paths:["/v1/chat/completions","/v1/api/chat"]},messages:{label:"Claude Messages (/v1/messages)",paths:["/v1/messages"]},responses:{label:"OpenAI Responses (/v1/responses)",paths:["/v1/responses"]},models:{label:"Models List (/v1/models)",paths:["/v1/models"]},embeddings:{label:"Embeddings (/v1/embeddings)",paths:["/v1/embeddings"]},images:{label:"Image Generation (/v1/images/*)",paths:["/v1/images"]},audio_speech:{label:"Text-to-Speech (/v1/audio/speech)",paths:["/v1/audio/speech","/v1/audio/voices"]},audio_transcriptions:{label:"Speech-to-Text (/v1/audio/transcriptions)",paths:["/v1/audio/transcriptions"]},search:{label:"Web Search (/v1/search)",paths:["/v1/search","/v1/web/search"]},fetch:{label:"Web Fetch (/v1/web/fetch)",paths:["/v1/web/fetch"]},rerank:{label:"Rerank (/v1/rerank)",paths:["/v1/rerank"]},systemone:{label:"SystemOne (/v1/systemone)",paths:["/v1/systemone"]},videos:{label:"Video Generation (/v1/videos/*)",paths:["/v1/videos"]},gemini:{label:"Gemini Native (/v1beta/*)",paths:["/v1beta"]}})},45874:(a,b,c)=>{c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(52825),e=c(50743);let f={serverPort:20128,cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},quotaVisibility:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},capacityAdapter:{vision:{enabled:!0,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!0,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},requireLogin:!0,requireApiKey:!0,tunnelDashboardAccess:!0,authMode:"password",ssoType:"oidc",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",samlEntryPoint:"",samlIssuer:"urn:9router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,headroomTimeoutMs:3e3,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",customPromptEnabled:!1,customPrompt:"",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,claudeClassifierCompat:"off",webSearchRouteModel:"",webSearchFallbackProvider:"",webFetchFallbackProvider:"",providerOverrides:{}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);if(b.capacityAdapter&&"object"==typeof b.capacityAdapter)for(let a of Object.keys(b.capacityAdapter)){let c=b.capacityAdapter[a];Array.isArray(c?.models)&&(c.models=c.models.map(a=>"oc/mimo-v2.5-free"===a?"oc/mimo-v2.6-flash-free":a))}return b}async function i(){return await g()}},50743:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},52825:(a,b,c)=>{c.d(b,{c:()=>l});var d=c(20437);function e(a){return"string"==typeof a&&a.includes("\0")?a.replace(/\0/g,""):a}global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let f=global._dbAdapter;async function g(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(8062).then(c.bind(c,38062));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a]=process.versions.node.split(".").map(Number);if(a>=24)return null;try{let{createBetterSqliteAdapter:a}=await c.e(8469).then(c.bind(c,88469));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function i(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(4803).then(c.bind(c,54803));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function j(){try{let{createSqlJsAdapter:a}=await c.e(6252).then(c.bind(c,66252));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function k(){var a;let b;(0,d.Jh)();let k=await g();if(k||(k=await h()),k||(k=await i()),k||(k=await j()),!k)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");a=k,b=a=>Array.isArray(a)?a.map(e):a,k={...a,run:(c,d=[])=>a.run(c,b(d)),get:(c,d=[])=>a.get(c,b(d)),all:(c,d=[])=>a.all(c,b(d))},f.logged||(console.log(`[DB] Driver: ${k.driver} | file: ${d.AL}`),f.logged=!0);let{runMigrationOnce:l}=await c.e(5800).then(c.bind(c,85800));return await l(k),k}async function l(){return f.instance?f.instance:(f.initPromise||(f.initPromise=k().then(a=>(f.instance=a,a))),f.initPromise)}},53859:(a,b,c)=>{c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="9router";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},57431:(a,b,c)=>{c.r(b),c.d(b,{createApiKey:()=>l,deleteApiKey:()=>n,getApiKeyById:()=>j,getApiKeyByKey:()=>k,getApiKeys:()=>i,updateApiKey:()=>m,validateApiKey:()=>o});var d=c(63960),e=c(52825),f=c(58333),g=c(31881);function h(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,access:(0,f.xE)(a.accessRestricted,a.accessAllow),allowedEndpoints:(0,f.L8)(a.allowedEndpoints)}:null}async function i(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(h)}async function j(a){return h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function k(a){return a?h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a])):null}async function l(a,b,h=[]){if(!b)throw Error("machineId is required");let i=await (0,e.c)(),{generateApiKeyWithMachine:j}=await c.e(6103).then(c.bind(c,86103)),k=j(b),m={id:(0,d.A)(),name:a,key:k.key,machineId:b,isActive:!0,createdAt:new Date().toISOString(),access:{restricted:!1,allow:[]},allowedEndpoints:h},n=(0,f.aB)(g.M0);return i.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt, accessRestricted, accessAllow, allowedEndpoints) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)",[m.id,m.key,m.name,m.machineId,1,m.createdAt,n.accessRestricted,n.accessAllow,JSON.stringify(h)]),m}async function m(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...h(e),...b},i=(0,f.aB)(g.access);c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ?, accessRestricted = ?, accessAllow = ?, allowedEndpoints = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,i.accessRestricted,i.accessAllow,JSON.stringify(g.allowedEndpoints||[]),a]),d=h(c.get("SELECT * FROM apiKeys WHERE id = ?",[a]))}),d}async function n(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function o(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},58333:(a,b,c)=>{c.d(b,{L8:()=>h,aB:()=>g,xE:()=>f});var d=c(31881);function e(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();if(!a)continue;let e=a.toLowerCase();b.has(e)||(b.add(e),c.push(a))}return c}function f(a,b){if(1!==a&&!0!==a)return{restricted:!1,allow:[]};let c=[];if("string"==typeof b&&b)try{c=JSON.parse(b)}catch{c=[]}return{restricted:!0,allow:e(c)}}function g(a){let b=a||d.M0;return{accessRestricted:+!!b.restricted,accessAllow:JSON.stringify(b.restricted?e(b.allow):[])}}function h(a){if("string"!=typeof a||!a)return[];try{return e(JSON.parse(a))}catch{return["__invalid__"]}}},58609:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(52825),e=c(50743);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},62336:(a,b,c)=>{c(52825)},63960:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(82009);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},70321:(a,b,c)=>{c.d(b,{FP:()=>d.FP,Mc:()=>d.Mc,getProviderConnections:()=>d.P,hr:()=>d.hr,iE:()=>d.iE,updateProviderConnection:()=>d.rj});var d=c(82558)},82009:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},82558:(a,b,c)=>{c.d(b,{iE:()=>e.createProviderConnection,Mc:()=>e.getProviderConnectionById,P:()=>e.getProviderConnections,hr:()=>g,rj:()=>e.updateProviderConnection,FP:()=>j});var d=c(52825);c(58333),c(31881),c(45874);var e=c(92216);c(7044);var f=c(50743);async function g(a){var b;return(b=(await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))?{...(0,f.q)(b.data,{}),id:b.id,isActive:1===b.isActive||!0===b.isActive,testStatus:b.testStatus,createdAt:b.createdAt,updatedAt:b.updatedAt}:null}c(57431),c(62336);var h=c(58609);(0,h.U)("modelAliases"),(0,h.U)("customModels"),(0,h.U)("mitmAlias");let i=["owned_by","created","description","capabilities","architecture","context_length","max_completion_tokens","pricing","supportedGenerationMethods"];async function j({providerAlias:a,connectionId:b,models:c,type:e="llm",fetchedAt:g=new Date().toISOString(),authoritative:h=!1}){if("string"!=typeof a||!a.trim())throw Error("providerAlias required");if(!Array.isArray(c))throw Error("models must be an array");let k={fetched:c.length,added:0,updated:0,unchanged:0,invalid:0,stale:0},l=new Map;for(let a of c){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.id??a.model??a.name;if("string"!=typeof b)return null;let c=b.replace(/^models\//,"").trim();if(!c||c.length>512)return null;let d=a.displayName??(a.id||a.model?a.name:null),e="string"==typeof d&&d.trim()?d.trim().slice(0,512):c,f=a.reported&&"object"==typeof a.reported&&!Array.isArray(a.reported)?{...a.reported}:{};for(let b of i)void 0!==a[b]&&(f[b]=a[b]);let g={};try{let a=JSON.stringify(f);16384>=Buffer.byteLength(a)&&(g=JSON.parse(a))}catch{}return{id:c,name:e,reported:g}}(a);if(!b){k.invalid+=1;continue}l.has(b.id)||l.set(b.id,b)}if(0===l.size&&!h)return k;let m=a.trim(),n=await (0,d.c)();return n.transaction(()=>{let a=n.all("SELECT key, value FROM kv WHERE scope = 'customModels'"),c=new Map;for(let b of a){let a=(0,f.q)(b.value)||{};a.providerAlias===m&&(a.type||a.kind||"llm")===e&&c.set(a.id,{key:b.key,value:a})}for(let[a,d]of l){let h=c.get(a);if(!h){let c={providerAlias:m,id:a,type:e,name:d.name,source:"upstream",connectionId:b||null,connectionIds:b?[b]:[],firstSeenAt:g,lastSeenAt:g,stale:!1,...Object.keys(d.reported).length?{reported:d.reported}:{}};n.run("INSERT INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[`${m}|${a}|${e}`,(0,f.s)(c)]),k.added+=1;continue}let i=h.value,j="manual"===i.source||null==i.source,l=[...new Set([...Array.isArray(i.connectionIds)?i.connectionIds:[],...i.connectionId?[i.connectionId]:[],...b?[b]:[]])],o={...i,...j?{}:{name:d.name},source:j?"manual":"upstream",connectionId:b||i.connectionId||null,connectionIds:l,firstSeenAt:i.firstSeenAt||g,lastSeenAt:g,stale:!1,...Object.keys(d.reported).length?{reported:d.reported}:{reported:{}}},p={...i,lastSeenAt:null},q={...o,lastSeenAt:null},r=(0,f.s)(q)!==(0,f.s)(p);(0,f.s)(o)!==(0,f.s)(i)&&n.run("UPDATE kv SET value = ? WHERE scope = 'customModels' AND key = ?",[(0,f.s)(o),h.key]),r?k.updated+=1:k.unchanged+=1}if(h)for(let[a,d]of c){if(l.has(a)||"upstream"!==d.value.source||!0===d.value.stale)continue;let c=[...new Set([...Array.isArray(d.value.connectionIds)?d.value.connectionIds:[],...d.value.connectionId?[d.value.connectionId]:[]])];if(!c.includes(b))continue;let e=c.filter(a=>a!==b),g={...d.value,connectionIds:e,connectionId:e.at(-1)||null,stale:0===e.length};n.run("UPDATE kv SET value = ? WHERE scope = 'customModels' AND key = ?",[(0,f.s)(g),d.key]),g.stale&&(k.stale+=1)}}),k}c(16054),c(25346);let k=null,l=0;async function m(){if(k&&Date.now()-l<5e3)return k;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,45874)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return k={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},l=Date.now(),k;let e="false"!==process.env.OBSERVABILITY_ENABLED;k={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{k={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return l=Date.now(),k}let n=[],o=null,p=!1;function q(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function r(){if(!p&&0!==n.length){p=!0;try{for(;n.length>0;){let a=n.splice(0,n.length),b=await (0,d.c)(),c=await m();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:q(d.request,c.maxJsonSize),providerRequest:q(d.providerRequest,c.maxJsonSize),providerResponse:q(d.providerResponse,c.maxJsonSize),response:q(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,f.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{p=!1}}}let s=async()=>{o&&(clearTimeout(o),o=null),n.length>0&&await r()};process.off("beforeExit",s),process.off("SIGINT",s),process.off("SIGTERM",s),process.off("exit",s),process.on("beforeExit",s),process.on("SIGINT",s),process.on("SIGTERM",s),process.on("exit",s)},92216:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>s,createProviderConnection:()=>n,deleteProviderConnection:()=>p,deleteProviderConnectionsByProvider:()=>q,getProviderConnectionById:()=>l,getProviderConnections:()=>k,reorderProviderConnections:()=>r,updateProviderConnection:()=>o});var d=c(63960),e=c(52825),f=c(50743);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a,b){if(b?.testStatus!=="active")return b;let c={...b,testStatus:"active",lastError:Object.hasOwn(b,"lastError")?b.lastError:null,lastErrorAt:Object.hasOwn(b,"lastErrorAt")?b.lastErrorAt:null,lastErrorType:Object.hasOwn(b,"lastErrorType")?b.lastErrorType:null,lastErrorSource:Object.hasOwn(b,"lastErrorSource")?b.lastErrorSource:null,errorCode:null,rateLimitedUntil:null,backoffLevel:0};for(let b of Object.keys(a||{}))b.startsWith("modelLock_")&&(c[b]=null);return c}function i(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function j(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
5
|
-
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
6
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
7
|
-
provider=excluded.provider, authType=excluded.authType, name=excluded.name,
|
|
8
|
-
email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
|
|
9
|
-
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function k(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(i);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function l(a){return i((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function m(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(i);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{let d=c+1;(b.priority||0)!==d&&a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[d,b.id])})}async function n(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{var e;let k="apikey"===a.authType&&!!a.name,l=k?c.all("SELECT * FROM providerConnections WHERE provider = ? AND authType = ? AND name = ?",[a.provider,"apikey",a.name]).map(i):c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(i),m=k?c.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a.provider])?.n??l.length:l.length,n=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;n=l.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(n=l.find(b=>"apikey"===b.authType&&b.name===a.name));if(n){if(!1===a.allowOverwrite){let b=Error(`A connection named "${n.name}" already exists for provider "${a.provider}". Pass allowOverwrite: true to replace it.`);throw b.code="PROVIDER_NAME_CONFLICT",b.existingId=n.id,b.existingName=n.name,b}let d=h(n,a),e={...n,...d,updatedAt:f};j(c,e),b=e;return}let o=a.name||null;o||"oauth"!==a.authType&&"access_token"!==a.authType||(e=a.email||`Account ${m+1}`,o="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||e);let p=a.priority;if(!p){let b=c.get("SELECT MAX(priority) AS m FROM providerConnections WHERE provider = ?",[a.provider]);p=(b?.m||0)+1}let q={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:o,priority:p,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(q[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(q.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(q.email=a.email),j(c,q),b=q}),b}async function o(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=i(e),g=h(f,b),k={...f,...g,updatedAt:new Date().toISOString()};j(d,k),void 0!==b.priority&&m(d,f.provider),c=k}),c}async function p(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),m(b,d.provider),c=!0)}),c}async function q(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function r(a){let b=await (0,e.c)();b.transaction(()=>m(b,a))}async function s(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=i(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&j(a,e)}}),c}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,s,t,a){return{__rewrites:{afterFiles:[{has:e,source:"/v1/v1/:path*",destination:s},{has:e,source:"/v1/v1",destination:t},{has:e,source:"/codex/:path*",destination:a},{has:e,source:"/responses",destination:a},{has:e,source:"/systemone",destination:"/api/v1/systemone"},{has:e,source:"/v1beta/:path*",destination:"/api/v1beta/:path*"},{has:e,source:"/v1beta",destination:"/api/v1beta"},{has:e,source:"/v1/:path*",destination:s},{has:e,source:"/v1",destination:t}],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:185,errorRate:1e-4,numBits:3547,numHashes:14,bitArray:[1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,1,1,1,1,1,1,1,1,0,0,1,0,1,1,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,1,1,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,1,1,1,0,1,1,1,0,0,0,0,1,0,1,1,1,1,1,0,1,1,0,1,0,1,0,1,1,0,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,0,0,1,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,0,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,1,0,1,0,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,1,0,1,0,0,1,1,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,0,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,1,0,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,0,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,0,0,1,0,1,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,1,0,0,0,0,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,0,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,0,1,1,1,0,0,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,0,1,1,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,1,0,1,0,1,0,1,1,1,1,0,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,0,0,1,1,1,1,0,1,0,0,0,1,1,0,1,1,0,1,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,0,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,1,0,1,0,1,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,1,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,0,1,1,1,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0,0,0,1,0,0,0,1,0,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,0,1,1,1,0,0,1,1,1,0,1,1,0,0,1,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,1,0,1,0,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,1,1,0,1,1,0,0,1,0,1,0,0,1,0,1,1,0,0,0,0,1,0,1,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,0,0,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,1,0,1,1,1,1,0,0,1,1,1,0,1,0,0,1,1,1,0,0,1,0,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,1,0,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,1,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0,0,1,1,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,1,1,1,0,0,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,1,0,0,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,1,1,0,1,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,0,1,0,1,1,1,0,0,1,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,1,1,0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,1,1,0,1,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,1,1,0,1,1,1,1,0,0,0,0,1,1,0,1,1,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,1,1,0,1,1,0,1,1,0,0,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0,0,0,0,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,0,0,0,1,0,0,0]},__routerFilterDynamic:{numItems:17,errorRate:1e-4,numBits:326,numHashes:14,bitArray:[1,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,0,1,0,1,0,0,0,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,0,1,0,0,1,1,0,0,0,1,0,1,1,0,0,1,0,0,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,0,0,0,1,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1,0,0,1,1,1,1,0,1,1]},sortedPages:["/_app"]}}(void 0,"/api/v1/:path*","/api/v1","/api/v1/responses"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0a34d8ae3389292e.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3471],{64561:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var a=s(95155),r=s(12115),l=s(35497),i=s(88105),o=s(81127),n=s(21931),d=s(1620),c=s(31474),m=s(90620),x=s(93308),p=s(38202);let u=Object.entries(i.Q2).filter(([,e])=>e.searchConfig||e.searchViaChat).map(([e,t])=>({value:e,label:t.name||e})),h=Object.entries(i.Q2).filter(([,e])=>e.fetchConfig).map(([e,t])=>({value:e,label:t.name||e}));function b(){let{theme:e,setTheme:t,isDark:s}=(0,d.D)(),[i,b]=(0,r.useState)(()=>(function(){if("u"<typeof document)return"en";let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${x.CL}=`)),t=e?decodeURIComponent(e.split("=")[1]):"en";return(0,x.QC)(t)})()),[g,f]=(0,r.useState)(!1),[y,j]=(0,r.useState)(!1),[N,v]=(0,r.useState)(!1),[w,S]=(0,r.useState)({fallbackStrategy:"fill-first"}),[C,k]=(0,r.useState)(!0),[P,L]=(0,r.useState)({current:"",new:"",confirm:""}),[A,I]=(0,r.useState)({type:"",message:""}),[O,M]=(0,r.useState)(!1),[E,R]=(0,r.useState)(!1),[T,D]=(0,r.useState)({type:"",message:""}),[F,U]=(0,r.useState)({open:!1,mode:"",password:""}),$=(0,r.useRef)(null),[_,q]=(0,r.useState)({authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC"}),[J,X]=(0,r.useState)(""),[H,z]=(0,r.useState)({type:"",message:""}),[B,K]=(0,r.useState)(!1),[Z,W]=(0,r.useState)(!1),[Q,V]=(0,r.useState)({type:"",message:""}),[G,Y]=(0,r.useState)(!1),ee=window.location.origin,et=ee?`${ee}/api/auth/oidc/callback`:"/api/auth/oidc/callback",es=ee?`${ee}/api/auth/saml/acs`:"/api/auth/saml/acs",ea=ee?`${ee}/api/auth/saml/metadata`:"/api/auth/saml/metadata",[er,el]=(0,r.useState)("saml"),[ei,eo]=(0,r.useState)({samlEntryPoint:"",samlIssuer:"urn:9router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name"}),[en,ed]=(0,r.useState)({type:"",message:""}),[ec,em]=(0,r.useState)(!1),[ex,ep]=(0,r.useState)(!1),[eu,eh]=(0,r.useState)({type:"",message:""}),[eb,eg]=(0,r.useState)(!1),ef=(0,r.useRef)(null),ey=(0,r.useRef)(null),ej=(0,r.useRef)(null),[eN,ev]=(0,r.useState)(""),[ew,eS]=(0,r.useState)({type:"",message:""}),[eC,ek]=(0,r.useState)(""),[eP,eL]=(0,r.useState)({outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:""}),[eA,eI]=(0,r.useState)({type:"",message:""}),[eO,eM]=(0,r.useState)(!1),[eE,eR]=(0,r.useState)(!1),[eT,eD]=(0,r.useState)(!1);(0,r.useEffect)(()=>{eD(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]),(0,r.useEffect)(()=>{fetch("/api/settings").then(e=>e.json()).then(e=>{S(e),ev(String(e?.serverPort||20128)),ek(window.location.port||"20128"),q({authMode:e?.authMode||"password",oidcIssuerUrl:e?.oidcIssuerUrl||"",oidcClientId:e?.oidcClientId||"",oidcScopes:e?.oidcScopes||"openid profile email",oidcLoginLabel:e?.oidcLoginLabel||"Sign in with OIDC"}),X(""),el(e?.ssoType||"saml"),eo({samlEntryPoint:e?.samlEntryPoint||"",samlIssuer:e?.samlIssuer||"urn:9router:sp",samlCert:e?.samlCert||"",samlLoginLabel:e?.samlLoginLabel||"Sign in with SAML SSO",samlAttributeEmail:e?.samlAttributeEmail||"email",samlAttributeName:e?.samlAttributeName||"name"}),(e?.authMode==="sso"||e?.authMode==="saml"||e?.authMode==="oidc"||e?.authMode==="both")&&Y(!0),eL({outboundProxyEnabled:e?.outboundProxyEnabled===!0,outboundProxyUrl:e?.outboundProxyUrl||"",outboundNoProxy:e?.outboundNoProxy||""}),k(!1)}).catch(e=>{console.error("Failed to fetch settings:",e),k(!1)})},[]);let eF=async e=>{if(e.preventDefault(),!0===w.outboundProxyEnabled){eM(!0),eI({type:"",message:""});try{let e=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({outboundProxyUrl:eP.outboundProxyUrl,outboundNoProxy:eP.outboundNoProxy})}),t=await e.json();e.ok?(S(e=>({...e,...t})),eI({type:"success",message:"Proxy settings applied"})):eI({type:"error",message:t.error||"Failed to update proxy settings"})}catch(e){eI({type:"error",message:"An error occurred"})}finally{eM(!1)}}},eU=async()=>{if(!0!==w.outboundProxyEnabled)return;let e=(eP.outboundProxyUrl||"").trim();if(!e)return void eI({type:"error",message:"Please enter a Proxy URL to test"});eR(!0),eI({type:"",message:""});try{let t=await fetch("/api/settings/proxy-test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyUrl:e})}),s=await t.json();t.ok&&s?.ok?eI({type:"success",message:`Proxy test OK (${s.status}) in ${s.elapsedMs}ms`}):eI({type:"error",message:s?.error||"Proxy test failed"})}catch(e){eI({type:"error",message:"An error occurred"})}finally{eR(!1)}},e$=async e=>{eM(!0),eI({type:"",message:""});try{let t=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({outboundProxyEnabled:e})}),s=await t.json();t.ok?(S(e=>({...e,...s})),eL(e=>({...e,outboundProxyEnabled:s?.outboundProxyEnabled===!0})),eI({type:"success",message:e?"Proxy enabled":"Proxy disabled"})):eI({type:"error",message:s.error||"Failed to update proxy settings"})}catch(e){eI({type:"error",message:"An error occurred"})}finally{eM(!1)}},e_=async e=>{if(e.preventDefault(),P.new!==P.confirm)return void I({type:"error",message:"Passwords do not match"});M(!0),I({type:"",message:""});try{let e=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({currentPassword:P.current,newPassword:P.new})}),t=await e.json();e.ok?(I({type:"success",message:"Password updated successfully"}),L({current:"",new:"",confirm:""})):I({type:"error",message:t.error||"Failed to update password"})}catch(e){I({type:"error",message:"An error occurred"})}finally{M(!1)}},eq=async()=>{let e=Number(eN);if(!Number.isInteger(e)||e<1||e>65535)return void eS({type:"error",message:"Enter a port between 1 and 65535"});try{let t=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverPort:e})}),s=await t.json();if(!t.ok)throw Error(s.error||"Failed to save port");S(t=>({...t,serverPort:e})),eS({type:"success",message:"Saved. Takes effect on next gateway restart."})}catch(e){eS({type:"error",message:e.message})}},eJ=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fallbackStrategy:e})})).ok&&S(t=>({...t,fallbackStrategy:e}))}catch(e){console.error("Failed to update settings:",e)}},eX=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok&&S(t=>({...t,...e}))}catch(e){console.error("Failed to update web search settings:",e)}},eH=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategy:e})})).ok&&S(t=>({...t,comboStrategy:e}))}catch(e){console.error("Failed to update combo strategy:",e)}},ez=async e=>{let t=parseInt(e);if(!isNaN(t)&&!(t<1))try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({stickyRoundRobinLimit:t})})).ok&&S(e=>({...e,stickyRoundRobinLimit:t}))}catch(e){console.error("Failed to update sticky limit:",e)}},eB=async e=>{let t=parseInt(e);if(!isNaN(t)&&!(t<1))try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStickyRoundRobinLimit:t})})).ok&&S(e=>({...e,comboStickyRoundRobinLimit:t}))}catch(e){console.error("Failed to update combo sticky limit:",e)}},eK=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireLogin:e})})).ok&&S(t=>({...t,requireLogin:e}))}catch(e){console.error("Failed to update require login:",e)}},eZ=(e,t)=>{q(s=>({...s,[e]:t}))},eW=async(e=_.authMode||"password")=>{let t=_.oidcIssuerUrl.trim(),s=_.oidcClientId.trim(),a=_.oidcScopes.trim(),r=_.oidcLoginLabel.trim(),l=J.trim();if("password"!==e&&(!t||!s||!l)&&!w.oidcConfigured)return void z({type:"error",message:"Issuer URL, client ID, and client secret are required to enable OIDC."});K(!0),z({type:"",message:""}),V({type:"",message:""});try{let i={authMode:e,ssoType:"oidc",oidcIssuerUrl:t,oidcClientId:s,oidcScopes:a||"openid profile email",oidcLoginLabel:r||"Sign in with OIDC"};l&&(i.oidcClientSecret=l);let o=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}),n=await o.json();o.ok?(S(e=>({...e,...n})),q({authMode:n?.authMode||e,oidcIssuerUrl:n?.oidcIssuerUrl||t,oidcClientId:n?.oidcClientId||s,oidcScopes:n?.oidcScopes||a||"openid profile email",oidcLoginLabel:n?.oidcLoginLabel||r||"Sign in with OIDC"}),X(""),z({type:"success",message:"oidc"===e?"OIDC login enabled":"both"===e?"Password and OIDC login enabled":"OIDC settings saved"})):z({type:"error",message:n.error||"Failed to save OIDC settings"})}catch(e){z({type:"error",message:"An error occurred"})}finally{K(!1)}},eQ=async()=>{let e=_.oidcIssuerUrl.trim(),t=_.oidcClientId.trim(),s=_.oidcScopes.trim(),a=J.trim();if(!e||!t)return void V({type:"error",message:"Issuer URL and client ID are required to test the connection."});W(!0),z({type:"",message:""}),V({type:"",message:""});try{let r=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({authMode:_.authMode||w.authMode||"password",oidcIssuerUrl:e,oidcClientId:t,oidcScopes:s||"openid profile email",oidcLoginLabel:_.oidcLoginLabel.trim()||"Sign in with OIDC",...a?{oidcClientSecret:a}:{}})}),l=await r.json().catch(()=>({}));if(!r.ok)return void V({type:"error",message:l.error||"Failed to save OIDC settings before testing"});let i=await fetch("/api/auth/oidc/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issuerUrl:l.oidcIssuerUrl||e,clientId:l.oidcClientId||t,scopes:l.oidcScopes||s||"openid profile email"})}),o=await i.json().catch(()=>({}));if(i.ok&&o?.ok){let e=o.clientSecretTested?!0===o.clientSecretValid?`Connection OK. Discovery loaded from ${o.issuerUrl}. Client secret validated too.`:`Connection OK. Discovery loaded from ${o.issuerUrl}. Client secret was not checked.`:`Connection OK. Discovery loaded from ${o.issuerUrl}.`;V({type:"success",message:e})}else V({type:"error",message:o.error||"OIDC connection test failed"})}catch(e){V({type:"error",message:"An error occurred"})}finally{W(!1)}},eV=(e,t)=>{eo(s=>({...s,[e]:t}))},eG=async(e=_.authMode||"password")=>{em(!0),ed({type:"",message:""}),eh({type:"",message:""});try{let t={authMode:e,ssoType:"saml",samlEntryPoint:ei.samlEntryPoint.trim(),samlIssuer:ei.samlIssuer.trim()||"urn:9router:sp",samlCert:ei.samlCert.trim(),samlLoginLabel:ei.samlLoginLabel.trim()||"Sign in with SAML SSO",samlAttributeEmail:ei.samlAttributeEmail.trim()||"email",samlAttributeName:ei.samlAttributeName.trim()||"name"},s=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json();s.ok?(S(e=>({...e,...a})),eo({samlEntryPoint:a?.samlEntryPoint||t.samlEntryPoint,samlIssuer:a?.samlIssuer||t.samlIssuer,samlCert:a?.samlCert||t.samlCert,samlLoginLabel:a?.samlLoginLabel||t.samlLoginLabel,samlAttributeEmail:a?.samlAttributeEmail||t.samlAttributeEmail,samlAttributeName:a?.samlAttributeName||t.samlAttributeName}),ed({type:"success",message:"sso"===e||"saml"===e?"SAML SSO login enabled":"both"===e?"Password and SAML SSO login enabled":"SAML 2.0 settings saved"})):ed({type:"error",message:a.error||"Failed to save SAML settings"})}catch{ed({type:"error",message:"An error occurred while saving SAML settings"})}finally{em(!1)}},eY=async()=>{ep(!0),ed({type:"",message:""}),eh({type:"",message:""});try{let e=await fetch("/api/auth/saml/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({samlEntryPoint:ei.samlEntryPoint.trim(),samlIssuer:ei.samlIssuer.trim(),samlCert:ei.samlCert.trim()})}),t=await e.json();e.ok&&t.ok?eh({type:"success",message:t.message||"SAML configuration verified!"}):eh({type:"error",message:t.error||"SAML configuration test failed"})}catch{eh({type:"error",message:"An error occurred while testing SAML configuration"})}finally{ep(!1)}},e0=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({enableObservability:e})})).ok&&S(t=>({...t,enableObservability:e}))}catch(e){console.error("Failed to update enableObservability:",e)}},e1=async()=>{try{let e=await fetch("/api/settings");if(!e.ok)return;let t=await e.json();S(t)}catch(e){console.error("Failed to reload settings:",e)}},e5=async e=>{R(!0),D({type:"",message:""});try{let t=await fetch("/api/settings/database",{headers:{"x-9r-password":e}});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||"Failed to export database")}let s=await t.json(),a=JSON.stringify(s,null,2),r=new Blob([a],{type:"application/json"}),l=URL.createObjectURL(r),i=document.createElement("a"),o=new Date().toISOString().replace(/[.:]/g,"-");i.href=l,i.download=`9router-backup-${o}.json`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(l),D({type:"success",message:"Database backup downloaded"})}catch(e){D({type:"error",message:e.message||"Failed to export database"})}finally{R(!1)}},e2=async e=>{let t=$.current;if(t){R(!0);try{let s=await t.text(),a=JSON.parse(s),r=await fetch("/api/settings/database",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,password:e})}),l=await r.json().catch(()=>({}));if(!r.ok)throw Error(l.error||"Failed to import database");await e1(),D({type:"success",message:"Database imported successfully"})}catch(e){D({type:"error",message:e.message||"Invalid backup file"})}finally{$.current=null,R(!1)}}},e4=async()=>{let{mode:e,password:t}=F;U({open:!1,mode:"",password:""}),"export"===e?await e5(t):"import"===e&&await e2(t)},e3=!0===w.enableObservability,e9=async()=>{v(!0);try{await fetch("/api/version/shutdown",{method:"POST"})}catch(e){}v(!1),j(!1)},e6=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&window.location.assign("/login")}catch(e){console.error("Failed to logout:",e)}};return(0,a.jsxs)("div",{className:"max-w-2xl mx-auto px-4 sm:px-0",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 sm:gap-4",children:[(0,a.jsx)("div",{className:"size-10 sm:size-12 rounded-lg bg-green-500/10 text-green-500 flex items-center justify-center shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-xl sm:text-2xl",children:"computer"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg sm:text-xl font-semibold",children:"Local Mode"}),(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Running on your machine"})]})]}),(0,a.jsx)("div",{className:"inline-flex p-1 rounded-lg bg-black/5 dark:bg-white/5 w-full sm:w-auto",children:["light","dark","system"].map(s=>(0,a.jsxs)("button",{type:"button",onClick:()=>t(s),className:(0,c.cn)("flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial",e===s?"bg-white dark:bg-white/10 text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"light"===s?"light_mode":"dark"===s?"dark_mode":"contrast"}),(0,a.jsx)("span",{className:"capitalize text-xs sm:text-sm",children:s})]},s))})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-3 pt-4 border-t border-border",children:[(0,a.jsx)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between p-3 rounded-lg bg-bg border border-border gap-2",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Database Location"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted font-mono break-all",children:"~/.9router/db/data.sqlite"})]})}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2",children:[(0,a.jsx)(l.$n,{variant:"secondary",icon:"download",onClick:()=>U({open:!0,mode:"export",password:""}),loading:E,className:"w-full sm:w-auto",children:"Download Backup"}),(0,a.jsx)(l.$n,{variant:"outline",icon:"upload",onClick:()=>ej.current?.click(),disabled:E,className:"w-full sm:w-auto",children:"Import Backup"}),(0,a.jsx)("input",{ref:ej,type:"file",accept:"application/json,.json",className:"hidden",onChange:e=>{let t=e.target.files?.[0];ej.current&&(ej.current.value=""),t&&($.current=t,D({type:"",message:""}),U({open:!0,mode:"import",password:""}))}})]}),T.message&&(0,a.jsx)("p",{className:`text-sm ${"error"===T.type?"text-red-500":"text-green-600 dark:text-green-400"}`,children:T.message})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"size-10 rounded-lg bg-blue-500/10 text-blue-500 flex items-center justify-center shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"lan"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Server Port"})]}),(0,a.jsxs)("p",{className:"text-sm text-text-muted mb-3",children:["Active port: ",eC,". Default port is 20128."]}),(0,a.jsxs)("div",{className:"flex gap-2 items-end",children:[(0,a.jsx)(l.pd,{type:"number",min:1,max:65535,label:"Default Server Port",value:eN,onChange:e=>ev(e.target.value)}),(0,a.jsx)(l.$n,{variant:"primary",onClick:eq,children:"Save Port"})]}),ew.message&&(0,a.jsx)("p",{className:`text-sm mt-2 ${"error"===ew.type?"text-red-500":"text-green-500"}`,children:ew.message}),(0,a.jsx)("p",{className:"text-xs text-text-muted mt-2",children:"Takes effect on next gateway restart. You can also override per run with: busbar --port <port>"})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"size-10 rounded-lg bg-blue-500/10 text-blue-500 flex items-center justify-center shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"language"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Language"})]}),(0,a.jsxs)("button",{onClick:()=>f(!0),className:"flex items-center justify-between w-full p-3 rounded-lg bg-bg border border-border hover:border-primary/50 transition-colors","data-i18n-skip":"true",children:[(0,a.jsx)("span",{className:"text-sm text-text-muted",children:"Display language"}),(0,a.jsx)("span",{className:"text-2xl",children:p.h[i]||"\uD83C\uDF10"})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-primary/10 text-primary shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"shield"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Security"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Require login"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"When ON, dashboard requires password. When OFF, access without login."})]}),(0,a.jsx)(l.lM,{checked:!0===w.requireLogin,onChange:()=>eK(!w.requireLogin),disabled:C})]}),!0===w.requireLogin&&(0,a.jsxs)("form",{onSubmit:e_,className:"flex flex-col gap-4 pt-4 border-t border-border/50",children:[w.hasPassword&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"text-xs sm:text-sm font-medium",children:"Current Password"}),(0,a.jsx)(l.pd,{type:"password",placeholder:"Enter current password",value:P.current,onChange:e=>L({...P,current:e.target.value}),required:!0})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"text-xs sm:text-sm font-medium",children:"New Password"}),(0,a.jsx)(l.pd,{type:"password",placeholder:"Enter new password",value:P.new,onChange:e=>L({...P,new:e.target.value}),required:!0})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"text-xs sm:text-sm font-medium",children:"Confirm New Password"}),(0,a.jsx)(l.pd,{type:"password",placeholder:"Confirm new password",value:P.confirm,onChange:e=>L({...P,confirm:e.target.value}),required:!0})]})]}),A.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===A.type?"text-red-500":"text-green-500"}`,children:A.message}),(0,a.jsx)("div",{className:"pt-2",children:(0,a.jsx)(l.$n,{type:"submit",variant:"primary",loading:O,className:"w-full sm:w-auto",children:w.hasPassword?"Update Password":"Set Password"})})]})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>Y(e=>!e),className:"w-full flex items-center gap-3 text-left",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-indigo-500/10 text-indigo-500 shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"lock_open"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Single Sign-On (SSO)"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"sso"===w.authMode||"oidc"===w.authMode||"saml"===w.authMode?`${"saml"===w.ssoType?"SAML 2.0":"OIDC"} SSO active`:"both"===w.authMode?`Password + ${"saml"===w.ssoType?"SAML 2.0":"OIDC"} active`:"Optional SSO via Okta, Entra ID, Keycloak, or OIDC"})]}),(0,a.jsx)("span",{className:"material-symbols-outlined text-text-muted shrink-0",children:G?"expand_less":"expand_more"})]}),G&&(0,a.jsxs)("div",{className:"flex flex-col gap-4 mt-4",children:[(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Configure enterprise Single Sign-On (SSO) for dashboard access using SAML 2.0 or OIDC."}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"SSO Protocol"}),(0,a.jsxs)("div",{className:"flex p-1 rounded-lg bg-black/5 dark:bg-white/5 border border-border",children:[(0,a.jsx)("button",{type:"button",onClick:()=>el("saml"),className:(0,c.cn)("flex-1 py-1.5 px-3 rounded-md font-medium text-xs sm:text-sm transition-all text-center","saml"===er?"bg-white dark:bg-white/10 text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:"SAML 2.0"}),(0,a.jsx)("button",{type:"button",onClick:()=>el("oidc"),className:(0,c.cn)("flex-1 py-1.5 px-3 rounded-md font-medium text-xs sm:text-sm transition-all text-center","oidc"===er?"bg-white dark:bg-white/10 text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:"OIDC"})]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Auth Mode"}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2",children:[{value:"password",title:"Password only",desc:"Keep legacy password login."},{value:"sso",title:`${"saml"===er?"SAML":"OIDC"} only`,desc:"Require SSO for dashboard access."},{value:"both",title:"Both",desc:"Allow password or SSO login."}].map(e=>{let t=_.authMode,s="password"===e.value?"password"===t:"sso"===e.value?"sso"===t||"saml"===t||"oidc"===t:"both"===t;return(0,a.jsxs)("button",{type:"button",onClick:()=>eZ("authMode",e.value),className:(0,c.cn)("text-left rounded-lg border p-3 transition-colors",s?"border-primary bg-primary/5":"border-border bg-bg hover:bg-black/5 dark:hover:bg-white/5"),disabled:C||B||ec,children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:e.title}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted mt-1",children:e.desc})]},e.value)})})]}),"saml"===er?(0,a.jsxs)("div",{className:"flex flex-col gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"rounded-lg border border-border bg-bg/80 overflow-hidden",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>eg(e=>!e),className:"w-full p-3 flex items-center justify-between gap-2 text-left hover:bg-surface/50 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-primary text-lg",children:"menu_book"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-xs sm:text-sm text-text-main",children:"IdP Setup Guidelines & Provider Configuration Instructions"}),(0,a.jsx)("p",{className:"text-[11px] text-text-muted",children:"Click to view setup steps for AWS IAM Identity Center, Okta, Entra ID, Keycloak, & Authentik"})]})]}),(0,a.jsx)("span",{className:"material-symbols-outlined text-text-muted transition-transform text-lg",style:{transform:eb?"rotate(180deg)":"none"},children:"expand_more"})]}),eb&&(0,a.jsxs)("div",{className:"p-4 border-t border-border bg-surface/30 text-xs text-text-main flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"p-2.5 rounded border border-primary/20 bg-primary/5 text-primary text-xs",children:[(0,a.jsx)("p",{className:"font-semibold mb-1",children:"\uD83D\uDD11 Required Service Provider (SP) Values for your IdP Setup:"}),(0,a.jsxs)("ul",{className:"list-disc pl-4 space-y-1 font-mono text-[11px]",children:[(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Assertion Consumer Service (ACS) URL:"})," ",(0,a.jsx)("code",{className:"bg-bg px-1 py-0.5 rounded break-all",children:es})]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"SP Entity ID / Audience URI:"})," ",(0,a.jsx)("code",{className:"bg-bg px-1 py-0.5 rounded break-all",children:ei.samlIssuer||"urn:9router:sp"})]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"NameID Format:"})," ",(0,a.jsx)("code",{className:"bg-bg px-1 py-0.5 rounded",children:"EmailAddress"})," or ",(0,a.jsx)("code",{className:"bg-bg px-1 py-0.5 rounded",children:"Unspecified"})]})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 pt-1",children:[(0,a.jsxs)("div",{className:"p-3 rounded border border-border bg-bg/50 flex flex-col gap-1.5",children:[(0,a.jsxs)("p",{className:"font-semibold text-text-main flex items-center gap-1.5",children:[(0,a.jsx)("span",{children:"☁️"})," AWS IAM Identity Center"]}),(0,a.jsxs)("ol",{className:"list-decimal pl-4 text-text-muted space-y-1",children:[(0,a.jsxs)("li",{children:["Applications → ",(0,a.jsx)("b",{children:"Add application"})," → Select ",(0,a.jsx)("b",{children:"Add custom SAML 2.0 application"}),"."]}),(0,a.jsxs)("li",{children:["Set ",(0,a.jsx)("b",{children:"Application ACS URL"})," to ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:es}),"."]}),(0,a.jsxs)("li",{children:["Set ",(0,a.jsx)("b",{children:"Application SAML audience"})," to ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:ei.samlIssuer||"urn:9router:sp"}),"."]}),(0,a.jsxs)("li",{children:["Under ",(0,a.jsx)("i",{children:"Attribute mappings"}),", map ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:"Subject"})," or ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:"email"})," to ",(0,a.jsxs)("code",{className:"text-text-main font-mono",children:["$","{user:email}"]}),"."]}),(0,a.jsxs)("li",{children:["Download ",(0,a.jsx)("b",{children:"IAM Identity Center SAML metadata XML"})," file and use 1-Click Import below!"]})]})]}),(0,a.jsxs)("div",{className:"p-3 rounded border border-border bg-bg/50 flex flex-col gap-1.5",children:[(0,a.jsxs)("p",{className:"font-semibold text-text-main flex items-center gap-1.5",children:[(0,a.jsx)("span",{children:"\uD83D\uDD37"})," Microsoft Entra ID (Azure AD)"]}),(0,a.jsxs)("ol",{className:"list-decimal pl-4 text-text-muted space-y-1",children:[(0,a.jsxs)("li",{children:["Enterprise Applications → ",(0,a.jsx)("b",{children:"New application"})," → ",(0,a.jsx)("b",{children:"Create your own application"}),"."]}),(0,a.jsxs)("li",{children:["Select ",(0,a.jsx)("b",{children:"Single sign-on"})," → ",(0,a.jsx)("b",{children:"SAML"}),"."]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Identifier (Entity ID):"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:ei.samlIssuer||"urn:9router:sp"})]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Reply URL (ACS):"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:es})]}),(0,a.jsxs)("li",{children:["Download ",(0,a.jsx)("b",{children:"Federation Metadata XML"})," and import or copy X.509 Certificate."]})]})]}),(0,a.jsxs)("div",{className:"p-3 rounded border border-border bg-bg/50 flex flex-col gap-1.5",children:[(0,a.jsxs)("p",{className:"font-semibold text-text-main flex items-center gap-1.5",children:[(0,a.jsx)("span",{children:"\uD83D\uDFE2"})," Okta / Auth0"]}),(0,a.jsxs)("ol",{className:"list-decimal pl-4 text-text-muted space-y-1",children:[(0,a.jsxs)("li",{children:["Applications → ",(0,a.jsx)("b",{children:"Create App Integration"})," → Select ",(0,a.jsx)("b",{children:"SAML 2.0"}),"."]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Single Sign-On URL:"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:es})]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Audience URI (SP Entity ID):"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:ei.samlIssuer||"urn:9router:sp"})]}),(0,a.jsxs)("li",{children:["Name ID format: ",(0,a.jsx)("i",{children:"EmailAddress"}),"."]}),(0,a.jsx)("li",{children:"Download Identity Provider metadata XML or copy the X.509 cert."})]})]}),(0,a.jsxs)("div",{className:"p-3 rounded border border-border bg-bg/50 flex flex-col gap-1.5",children:[(0,a.jsxs)("p",{className:"font-semibold text-text-main flex items-center gap-1.5",children:[(0,a.jsx)("span",{children:"\uD83D\uDEE1️"})," Keycloak / Authentik"]}),(0,a.jsxs)("ol",{className:"list-decimal pl-4 text-text-muted space-y-1",children:[(0,a.jsxs)("li",{children:["Clients → ",(0,a.jsx)("b",{children:"Create client"})," → Select ",(0,a.jsx)("b",{children:"SAML"}),"."]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Client ID:"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:ei.samlIssuer||"urn:9router:sp"})]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("b",{children:"Master SAML Processing URL:"})," ",(0,a.jsx)("code",{className:"text-text-main font-mono",children:es})]}),(0,a.jsx)("li",{children:"Export SAML Descriptor XML or copy IDP Certificate PEM."})]})]})]})]})]}),(0,a.jsxs)("div",{className:"p-3 rounded-lg border border-dashed border-primary/40 bg-primary/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-sm text-text-main",children:"1-Click IdP Metadata XML Import"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Auto-fill SSO URL, Issuer & Cert from XML metadata"})]}),(0,a.jsx)(l.$n,{type:"button",variant:"outline",size:"sm",icon:"upload_file",onClick:()=>ef.current?.click(),children:"Upload Metadata XML"}),(0,a.jsx)("input",{ref:ef,type:"file",accept:".xml,application/xml,text/xml",className:"hidden",onChange:e=>{let t=e.target.files?.[0];if(ef.current&&(ef.current.value=""),!t)return;let s=new FileReader;s.onload=e=>{try{let t=e.target?.result||"",s=new DOMParser().parseFromString(t,"text/xml");if(s.querySelector("parsererror"))return void ed({type:"error",message:"Unable to parse valid SAML IdP metadata from XML file"});let a=s.documentElement.getAttribute("entityID")||"",r=Array.from(s.querySelectorAll("SingleSignOnService, *|SingleSignOnService")),l="";for(let e of r){let t=e.getAttribute("Binding")||"",s=e.getAttribute("Location")||"";if(s&&(l=s,t.includes("HTTP-Redirect")))break}let i=Array.from(s.querySelectorAll("X509Certificate, *|X509Certificate")),o="";i.length>0&&(o=i[0].textContent.trim()),eo(e=>({...e,samlEntryPoint:l||e.samlEntryPoint,samlIssuer:e.samlIssuer||"urn:9router:sp",samlCert:o||e.samlCert})),ed({type:"success",message:`IdP Metadata imported! (SSO URL: ${l?"found":"not found"}, EntityID: ${a?"found":"not found"}, Cert: ${o?"found":"not found"})`})}catch(e){ed({type:"error",message:"Error reading IdP Metadata XML file"})}},s.readAsText(t)}})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Single Sign-On Service URL (samlEntryPoint)"}),(0,a.jsx)(l.pd,{placeholder:"https://idp.example.com/app/saml/sso/...",value:ei.samlEntryPoint,onChange:e=>eV("samlEntryPoint",e.target.value),disabled:C||ec})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"SP Entity ID / Audience (samlIssuer)"}),(0,a.jsx)(l.pd,{placeholder:"urn:9router:sp",value:ei.samlIssuer,onChange:e=>eV("samlIssuer",e.target.value),disabled:C||ec})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"IdP X.509 Certificate (samlCert)"}),(0,a.jsx)(l.$n,{type:"button",variant:"outline",size:"sm",icon:"file_upload",onClick:()=>ey.current?.click(),children:"Upload Certificate"}),(0,a.jsx)("input",{ref:ey,type:"file",accept:".crt,.pem,.cer,text/plain",className:"hidden",onChange:e=>{let t=e.target.files?.[0];if(ey.current&&(ey.current.value=""),!t)return;let s=new FileReader;s.onload=e=>{let t=e.target?.result||"";eo(e=>({...e,samlCert:t.trim()})),ed({type:"success",message:"Certificate file loaded into configuration."})},s.readAsText(t)}})]}),(0,a.jsx)("textarea",{rows:4,placeholder:"-----BEGIN CERTIFICATE-----\nMIIC...\n-----END CERTIFICATE-----",value:ei.samlCert,onChange:e=>eV("samlCert",e.target.value),className:"w-full p-2.5 rounded-lg border border-border bg-bg text-xs font-mono text-text-main focus:outline-none focus:border-primary",disabled:C||ec}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Paste raw Base64 certificate or PEM block."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Login Button Label"}),(0,a.jsx)(l.pd,{placeholder:"Sign in with SAML SSO",value:ei.samlLoginLabel,onChange:e=>eV("samlLoginLabel",e.target.value),disabled:C||ec})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Email Claim Attribute"}),(0,a.jsx)(l.pd,{placeholder:"email",value:ei.samlAttributeEmail,onChange:e=>eV("samlAttributeEmail",e.target.value),disabled:C||ec})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Display Name Claim"}),(0,a.jsx)(l.pd,{placeholder:"name",value:ei.samlAttributeName,onChange:e=>eV("samlAttributeName",e.target.value),disabled:C||ec})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 p-3 rounded-lg border border-border bg-bg text-xs sm:text-sm text-text-muted",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-text-main",children:"ACS Callback URL"}),(0,a.jsx)("code",{className:"block break-all font-mono text-xs",children:es})]}),(0,a.jsx)(l.$n,{type:"button",variant:"outline",size:"sm",icon:"content_copy",onClick:()=>{navigator.clipboard.writeText(es),ed({type:"success",message:"ACS URL copied to clipboard!"})},children:"Copy"})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-text-main",children:"SP XML Metadata"}),(0,a.jsx)("code",{className:"block break-all font-mono text-xs",children:ea})]}),(0,a.jsxs)("a",{href:ea,target:"_blank",rel:"noopener noreferrer",download:"9router-sp-metadata.xml",className:"inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"download"}),"Download XML"]})]})]}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2 pt-2 border-t border-border/50",children:[(0,a.jsx)(l.$n,{type:"button",variant:"primary",loading:ec,onClick:()=>eG(_.authMode),className:"w-full sm:w-auto",children:"Save SAML settings"}),(0,a.jsx)(l.$n,{type:"button",variant:"outline",loading:ex,onClick:eY,className:"w-full sm:w-auto",children:"Test SAML settings"})]}),eu.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===eu.type?"text-red-500":"text-green-500"}`,children:eu.message}),en.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===en.type?"text-red-500":"text-green-500"}`,children:en.message})]}):(0,a.jsxs)("div",{className:"flex flex-col gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Issuer URL"}),(0,a.jsx)(l.pd,{placeholder:"https://auth.example.com/application/o/9router/",value:_.oidcIssuerUrl,onChange:e=>eZ("oidcIssuerUrl",e.target.value),disabled:C||B})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Client ID"}),(0,a.jsx)(l.pd,{placeholder:"9router-dashboard",value:_.oidcClientId,onChange:e=>eZ("oidcClientId",e.target.value),disabled:C||B})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Client Secret"}),(0,a.jsx)(l.pd,{type:"password",placeholder:"Leave blank to keep existing secret",value:J,onChange:e=>X(e.target.value),disabled:C||B}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"This value is write-only after saving."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Scopes"}),(0,a.jsx)(l.pd,{placeholder:"openid profile email",value:_.oidcScopes,onChange:e=>eZ("oidcScopes",e.target.value),disabled:C||B})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Login Button Label"}),(0,a.jsx)(l.pd,{placeholder:"Sign in with OIDC",value:_.oidcLoginLabel,onChange:e=>eZ("oidcLoginLabel",e.target.value),disabled:C||B})]})]}),(0,a.jsxs)("div",{className:"rounded-lg border border-border bg-bg p-3 text-xs sm:text-sm text-text-muted",children:[(0,a.jsx)("p",{className:"font-medium text-text-main mb-1",children:"Redirect URI"}),(0,a.jsx)("code",{className:"block break-all font-mono",children:et})]}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2 pt-2 border-t border-border/50",children:[(0,a.jsx)(l.$n,{type:"button",variant:"primary",loading:B,onClick:()=>eW(),className:"w-full sm:w-auto",children:"Save OIDC settings"}),(0,a.jsx)(l.$n,{type:"button",variant:"outline",loading:Z,onClick:eQ,className:"w-full sm:w-auto",children:"Test connection"})]}),Q.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===Q.type?"text-red-500":"text-green-500"}`,children:Q.message}),H.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===H.type?"text-red-500":"text-green-500"}`,children:H.message})]}),"oidc"===w.authMode||"saml"===w.authMode||"sso"===w.authMode?(0,a.jsxs)("p",{className:"text-xs sm:text-sm text-amber-600 dark:text-amber-400",children:["SSO login (","saml"===w.ssoType?"SAML 2.0":"OIDC",") is currently active. Password login is disabled until you switch back."]}):null,"both"===w.authMode&&(0,a.jsxs)("p",{className:"text-xs sm:text-sm text-amber-600 dark:text-amber-400",children:["Password and SSO login (","saml"===w.ssoType?"SAML 2.0":"OIDC",") are both active."]})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-blue-500/10 text-blue-500 shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"route"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Routing Strategy"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Round Robin"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Cycle through accounts to distribute load"})]}),(0,a.jsx)(l.lM,{checked:"round-robin"===w.fallbackStrategy,onChange:()=>eJ("round-robin"===w.fallbackStrategy?"fill-first":"round-robin"),disabled:C})]}),"round-robin"===w.fallbackStrategy&&(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Sticky Limit"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Calls per account before switching"})]}),(0,a.jsx)(l.pd,{type:"number",min:"1",max:"10",value:w.stickyRoundRobinLimit||3,onChange:e=>ez(e.target.value),disabled:C,className:"w-16 sm:w-20 text-center shrink-0"})]}),(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-4 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Combo Round Robin"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Cycle through providers in combos instead of always starting with first"})]}),(0,a.jsx)(l.lM,{checked:"round-robin"===w.comboStrategy,onChange:()=>eH("round-robin"===w.comboStrategy?"fallback":"round-robin"),disabled:C})]}),"round-robin"===w.comboStrategy&&(0,a.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Combo Sticky Limit"}),(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Calls per combo model before switching"})]}),(0,a.jsx)(l.pd,{type:"number",min:"1",max:"100",value:w.comboStickyRoundRobinLimit||1,onChange:e=>eB(e.target.value),disabled:C,className:"w-20 text-center"})]}),(0,a.jsxs)("p",{className:"text-xs text-text-muted italic pt-2 border-t border-border/50",children:["round-robin"===w.fallbackStrategy?`Currently distributing requests across all available accounts with ${w.stickyRoundRobinLimit||3} calls per account.`:"Currently using accounts in priority order (Fill First).","round-robin"===w.comboStrategy?` Combos rotate after ${w.comboStickyRoundRobinLimit||1} call${1===(w.comboStickyRoundRobinLimit||1)?"":"s"} per model.`:" Combos always start with their first model."]})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-emerald-500/10 text-emerald-500 shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"travel_explore"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Web Search & Fetch Redirect"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Serve native web_search tools"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Execute Claude/Responses web_search tools here and return the results instead of sending them upstream"})]}),(0,a.jsx)(l.lM,{checked:!!w.webSearchFallbackProvider,onChange:()=>w.webSearchFallbackProvider?eX({webSearchFallbackProvider:""}):eX({webSearchFallbackProvider:u[0]?.value||"tavily"}),disabled:C})]}),w.webSearchFallbackProvider&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Search provider"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Provider used to run the search"})]}),(0,a.jsx)(l.l6,{value:w.webSearchFallbackProvider,onChange:e=>eX({webSearchFallbackProvider:e.target.value}),options:u,disabled:C,className:"w-40 sm:w-48 shrink-0"})]}),(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Route model (optional)"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"provider/model that always handles web_search requests; empty keeps the requested model"})]}),(0,a.jsx)(l.pd,{type:"text",value:w.webSearchRouteModel||"",onChange:e=>eX({webSearchRouteModel:e.target.value}),placeholder:"e.g. bai/qwen3.8-flash",disabled:C,className:"w-48 sm:w-64 shrink-0"})]})]}),(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-4 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Serve native web_fetch tools"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Fetch pages for Claude web_fetch tools here and return Anthropic-style results instead of sending the tool upstream"})]}),(0,a.jsx)(l.lM,{checked:!!w.webFetchFallbackProvider,onChange:()=>w.webFetchFallbackProvider?eX({webFetchFallbackProvider:""}):eX({webFetchFallbackProvider:h[0]?.value||""}),disabled:C||0===h.length})]}),w.webFetchFallbackProvider&&(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Fetch provider"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Provider used to fetch the page"})]}),(0,a.jsx)(l.l6,{value:w.webFetchFallbackProvider,onChange:e=>eX({webFetchFallbackProvider:e.target.value}),options:h,disabled:C,className:"w-40 sm:w-48 shrink-0"})]})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-purple-500/10 text-purple-500 shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"wifi"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Network"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Outbound Proxy"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Enable proxy for OAuth + provider outbound requests."})]}),(0,a.jsx)(l.lM,{checked:!0===w.outboundProxyEnabled,onChange:()=>e$(!0!==w.outboundProxyEnabled),disabled:C||eO})]}),!0===w.outboundProxyEnabled&&(0,a.jsxs)("form",{onSubmit:eF,className:"flex flex-col gap-4 pt-2 border-t border-border/50",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"Proxy URL"}),(0,a.jsx)(l.pd,{placeholder:"http://127.0.0.1:7897",value:eP.outboundProxyUrl,onChange:e=>eL(t=>({...t,outboundProxyUrl:e.target.value})),disabled:C||eO}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Leave empty to inherit existing env proxy (if any)."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 pt-2 border-t border-border/50",children:[(0,a.jsx)("label",{className:"font-medium text-sm sm:text-base",children:"No Proxy"}),(0,a.jsx)(l.pd,{placeholder:"localhost,127.0.0.1",value:eP.outboundNoProxy,onChange:e=>eL(t=>({...t,outboundNoProxy:e.target.value})),disabled:C||eO}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Comma-separated hostnames/domains to bypass the proxy."})]}),(0,a.jsxs)("div",{className:"pt-2 border-t border-border/50 flex flex-col sm:flex-row items-stretch sm:items-center gap-2",children:[(0,a.jsx)(l.$n,{type:"button",variant:"secondary",loading:eE,disabled:C||eO,onClick:eU,className:"w-full sm:w-auto",children:"Test proxy URL"}),(0,a.jsx)(l.$n,{type:"submit",variant:"primary",loading:eO,className:"w-full sm:w-auto",children:"Apply"})]})]}),eA.message&&(0,a.jsx)("p",{className:`text-xs sm:text-sm ${"error"===eA.type?"text-red-500":"text-green-500"} pt-2 border-t border-border/50`,children:eA.message})]})]}),(0,a.jsxs)(l.Zp,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsx)("div",{className:"p-2 rounded-lg bg-orange-500/10 text-orange-500 shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"monitoring"})}),(0,a.jsx)("h3",{className:"text-base sm:text-lg font-semibold",children:"Observability"})]}),(0,a.jsxs)("div",{className:"flex items-start sm:items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm sm:text-base",children:"Enable Observability"}),(0,a.jsx)("p",{className:"text-xs sm:text-sm text-text-muted",children:"Record request details for inspection in the logs view"})]}),(0,a.jsx)(l.lM,{checked:e3,onChange:e0,disabled:C})]})]}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2",children:[(0,a.jsx)(l.$n,{variant:"outline",fullWidth:!0,icon:"power_settings_new",onClick:()=>j(!0),className:"text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300",children:"Shutdown"}),(0,a.jsx)(l.$n,{variant:"outline",fullWidth:!0,icon:"logout",onClick:e6,children:"Logout"})]}),(0,a.jsxs)("div",{className:"text-center text-xs sm:text-sm text-text-muted py-4",children:[(0,a.jsxs)("p",{children:[m.vQ.name," v",m.vQ.version]}),(0,a.jsx)("p",{className:"mt-1",children:eT?"Remote Mode":"Local Mode - All data stored on your machine"})]})]}),(0,a.jsx)(n.default,{hideTrigger:!0,isOpen:g,onClose:e=>{f(!1),b(e)}}),(0,a.jsx)(o.ConfirmModal,{isOpen:y,onClose:()=>j(!1),onConfirm:e9,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:N}),(0,a.jsxs)(o.default,{isOpen:F.open,onClose:()=>U({open:!1,mode:"",password:""}),title:"Confirm Password",size:"sm",footer:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.$n,{variant:"ghost",onClick:()=>U({open:!1,mode:"",password:""}),disabled:E,children:"Cancel"}),(0,a.jsx)(l.$n,{variant:"primary",onClick:e4,loading:E,disabled:!F.password,children:"Confirm"})]}),children:[(0,a.jsxs)("p",{className:"text-text-muted mb-3 text-sm",children:["Enter your current password to ","export"===F.mode?"export":"import"," the database."]}),(0,a.jsx)(l.pd,{type:"password",value:F.password,onChange:e=>U(t=>({...t,password:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&F.password&&e4()},placeholder:"Current password",autoFocus:!0})]})]})}},73514:(e,t,s)=>{Promise.resolve().then(s.bind(s,64561))}},e=>{e.O(0,[763,1321,705,5497,8441,3794,7358],()=>e(e.s=73514)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-ceaa30e4c3f50138.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-ceaa30e4c3f50138.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-ceaa30e4c3f50138.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-ceaa30e4c3f50138.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-ceaa30e4c3f50138.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,291,335,342,383,387,501,516,543,552,649,675,710,747,748,907,931,948,982,992,997,999,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1626,1666,1674,1697,1704,1860,1898,1907,1910,1940,1946,1949,2121,2185,2198,2284,2296,2366,2536,2772,2785,2797,2802,2845,2919,2922,3025,3038,3079,3152,3204,3397,3472,3486,3549,3562,3568,3584,3648,3679,3739,3883,3888,4010,4061,4093,4242,4245,4286,4310,4422,4444,4527,4612,4648,4656,4664,4674,4761,4766,4896,4946,4993,5018,5107,5177,5211,5226,5293,5415,5466,5637,5685,5693,5745,5922,6089,6091,6102,6121,6260,6268,6319,6463,6478,6479,6529,6580,6594,6740,6743,6819,6919,6988,6996,7131,7158,7231,7241,7311,7329,7429,7445,7473,7508,7520,7631,7758,7817,7824,7851,7852,8026,8141,8167,8207,8246,8264,8321,8453,8489,8573,8648,8736,8791,8799,8814,8832,8835,8870,8879,8948,8974,8975,9027,9033,9036,9056,9069,9079,9088,9141,9199,9321,9427,9461,9606,9678,9709,9738],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|