switchboard-router 0.5.21 → 0.6.1
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 +17 -7
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -435
- package/app/.next-cli-build/required-server-files.json +9 -2
- package/app/.next-cli-build/routes-manifest.json +92 -13
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +11 -24
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +3 -3
- 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 +16 -16
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +4 -4
- 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/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +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/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/skills/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/updates/route.js +1 -0
- package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/agent-library/updates/route_client-reference-manifest.js +1 -0
- 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/aider-settings/route.js +5 -11
- package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +13 -38
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +5 -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/codex-settings/route.js +2 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -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/deepseek-tui-settings/route.js +5 -9
- 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/droid-settings/route.js +5 -2
- 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/gemini-cli-settings/route.js +9 -10
- package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +9 -6
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +8 -10
- 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 +6 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +5 -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/openclaw-settings/route.js +1 -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 +5 -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/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/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/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/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/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
- 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/mgmt/v1/combos/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route_client-reference-manifest.js +1 -0
- 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/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +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]/model-probes/batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +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/routing/feedback/route.js +1 -0
- package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/routing/feedback/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/stats/route.js +1 -0
- package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/routing/stats/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/rollback/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/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/skills/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js +1 -0
- package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route_client-reference-manifest.js +1 -0
- 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/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/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 +4 -4
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +2 -2
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +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 +2 -2
- 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 +17 -7
- package/app/.next-cli-build/server/chunks/1062.js +64 -0
- package/app/.next-cli-build/server/chunks/1064.js +104 -0
- package/app/.next-cli-build/server/chunks/1294.js +49 -0
- package/app/.next-cli-build/server/chunks/159.js +1 -0
- package/app/.next-cli-build/server/chunks/1808.js +1 -0
- package/app/.next-cli-build/server/chunks/194.js +1 -0
- package/app/.next-cli-build/server/chunks/1998.js +1 -1
- package/app/.next-cli-build/server/chunks/241.js +1 -1
- package/app/.next-cli-build/server/chunks/2712.js +3 -0
- package/app/.next-cli-build/server/chunks/{9528.js → 2750.js} +2 -3
- package/app/.next-cli-build/server/chunks/2925.js +1 -0
- package/app/.next-cli-build/server/chunks/3072.js +2 -0
- package/app/.next-cli-build/server/chunks/3075.js +1 -0
- package/app/.next-cli-build/server/chunks/319.js +3 -3
- package/app/.next-cli-build/server/chunks/3535.js +1 -1
- package/app/.next-cli-build/server/chunks/3546.js +1 -1
- package/app/.next-cli-build/server/chunks/3593.js +2 -2
- package/app/.next-cli-build/server/chunks/3675.js +1 -0
- package/app/.next-cli-build/server/chunks/369.js +70 -0
- package/app/.next-cli-build/server/chunks/3904.js +1 -0
- package/app/.next-cli-build/server/chunks/3986.js +49 -14
- package/app/.next-cli-build/server/chunks/4126.js +5 -0
- package/app/.next-cli-build/server/chunks/{2422.js → 4176.js} +1 -1
- package/app/.next-cli-build/server/chunks/4192.js +1 -0
- package/app/.next-cli-build/server/chunks/4194.js +1 -1
- package/app/.next-cli-build/server/chunks/440.js +26 -0
- package/app/.next-cli-build/server/chunks/4646.js +1 -0
- package/app/.next-cli-build/server/chunks/4739.js +2 -2
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4776.js +33 -0
- package/app/.next-cli-build/server/chunks/4780.js +2 -2
- package/app/.next-cli-build/server/chunks/4803.js +9 -0
- package/app/.next-cli-build/server/chunks/4904.js +10 -0
- package/app/.next-cli-build/server/chunks/507.js +1 -1
- package/app/.next-cli-build/server/chunks/5115.js +67 -0
- package/app/.next-cli-build/server/chunks/5139.js +1 -0
- package/app/.next-cli-build/server/chunks/5258.js +2 -2
- package/app/.next-cli-build/server/chunks/5350.js +1 -0
- package/app/.next-cli-build/server/chunks/5615.js +3 -3
- package/app/.next-cli-build/server/chunks/5821.js +1 -0
- package/app/.next-cli-build/server/chunks/5920.js +17 -0
- package/app/.next-cli-build/server/chunks/6103.js +1 -0
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6182.js +3 -3
- package/app/.next-cli-build/server/chunks/6252.js +9 -0
- package/app/.next-cli-build/server/chunks/6448.js +109 -0
- package/app/.next-cli-build/server/chunks/{4206.js → 6470.js} +1 -1
- package/app/.next-cli-build/server/chunks/6492.js +1 -0
- package/app/.next-cli-build/server/chunks/6844.js +1 -1
- package/app/.next-cli-build/server/chunks/698.js +1 -1
- package/app/.next-cli-build/server/chunks/7141.js +1 -0
- package/app/.next-cli-build/server/chunks/7155.js +1 -0
- package/app/.next-cli-build/server/chunks/7250.js +1 -0
- package/app/.next-cli-build/server/chunks/7335.js +1 -0
- package/app/.next-cli-build/server/chunks/7662.js +1 -0
- package/app/.next-cli-build/server/chunks/7753.js +1 -0
- package/app/.next-cli-build/server/chunks/7828.js +1 -0
- package/app/.next-cli-build/server/chunks/7965.js +2 -2
- package/app/.next-cli-build/server/chunks/8062.js +9 -0
- package/app/.next-cli-build/server/chunks/8117.js +1 -0
- package/app/.next-cli-build/server/chunks/8129.js +1 -0
- package/app/.next-cli-build/server/chunks/8400.js +153 -0
- package/app/.next-cli-build/server/chunks/8469.js +9 -0
- package/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/app/.next-cli-build/server/chunks/869.js +1 -0
- package/app/.next-cli-build/server/chunks/8775.js +1 -1
- package/app/.next-cli-build/server/chunks/8998.js +486 -0
- package/app/.next-cli-build/server/chunks/9046.js +1 -0
- package/app/.next-cli-build/server/chunks/9062.js +104 -0
- package/app/.next-cli-build/server/chunks/9261.js +88 -0
- package/app/.next-cli-build/server/chunks/9291.js +1 -0
- package/app/.next-cli-build/server/chunks/9397.js +1 -0
- package/app/.next-cli-build/server/chunks/9489.js +8 -0
- package/app/.next-cli-build/server/chunks/9508.js +45 -0
- package/app/.next-cli-build/server/chunks/9696.js +3 -3
- package/app/.next-cli-build/server/chunks/995.js +1 -0
- package/app/.next-cli-build/server/chunks/static/media/catalog.e7ada387.json +1710 -0
- package/app/.next-cli-build/server/instrumentation.js +1 -0
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +11 -11
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/server/webpack-runtime.js +1 -1
- package/app/.next-cli-build/static/TXnbOJZ6FVNX0p7oT_f3I/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1321-e3e6d10c0bafafeb.js +1 -0
- package/app/.next-cli-build/static/chunks/136-b76ff55769d5ecb1.js +1 -0
- package/app/.next-cli-build/static/chunks/2280-61262f8359f37a85.js +64 -0
- package/app/.next-cli-build/static/chunks/2493-6241eb181f2ecb6e.js +67 -0
- package/app/.next-cli-build/static/chunks/5497-aa5f62602eba33e9.js +7 -0
- package/app/.next-cli-build/static/chunks/7592-bbf465c7acd2478e.js +1 -0
- package/app/.next-cli-build/static/chunks/782-3676be0287313117.js +3 -0
- package/app/.next-cli-build/static/chunks/8500-287dd3e5d372ba6f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-d720efb4c9d427e6.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-04509a38b9fd3dcf.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-fa35870caaeabe20.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-88244cb193592f8f.js → page-aa9c65a5e73a3f5d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a8d77d24b4c71915.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/routing/page-95f09ae849f539d6.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-6678759c536b4008.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-59e92d48daea1aed.js +3 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-183cf5498e6d3e42.js +59 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-b67e7e3b9acaf1cc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-a4bad553cba810e7.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/{page-36448aa4e37c7802.js → page-0568602ac2385103.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-f6e3507247a819e5.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-755ed32651028f99.js → page-08fe6612a31239da.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-27ae229b00137a0b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-a1ab95a02951c91d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-0d7fcdbff356b2ab.js +10 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-608cdc11e7047159.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-ad84a479883e6cc3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-f312c1076859630e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-90277b8688f387c1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-77bb7400c2be9752.js → page-33e127c15efc66a5.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-0f74a450b98fa125.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-ad2eda4b48c9319b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-025d20cc7b091120.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-b06b9aec5dcdf486.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/callback/page-5c1d863ff86ddc6e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-4cfc7195d2a8bf0e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/landing/page-9e06d57d9b215fd7.js +1 -0
- package/app/.next-cli-build/static/chunks/app/login/page-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-554d472d679429b3.js +1 -0
- package/app/.next-cli-build/static/chunks/webpack-57b54315eb9fa808.js +1 -0
- package/app/.next-cli-build/static/css/92a5708a6b29ef8c.css +1 -0
- package/app/.next-cli-build/static/media/catalog.e7ada387.json +1710 -0
- package/app/custom-server.js +5 -5
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/container.js +26 -18
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/css-syntax-error.js +47 -14
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/fromJSON.js +23 -9
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/input.js +61 -33
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/lazy-result.js +50 -37
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/map-generator.js +26 -9
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/no-work-result.js +57 -55
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/node.js +110 -35
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/parser.js +46 -38
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/previous-map.js +30 -11
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/processor.js +7 -7
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/result.js +5 -5
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/stringifier.js +41 -20
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/tokenize.js +6 -2
- package/app/node_modules/{next/node_modules/postcss → postcss}/package.json +48 -48
- package/app/open-sse/package.json +4 -0
- package/app/open-sse/providers/generated/catalog.json +1710 -0
- package/app/package.json +22 -10
- package/app/public/i18n/literals/zh-CN.json +8 -0
- package/app/server.js +1 -1
- package/app/src/lib/db/adapters/betterSqliteAdapter.js +2 -3
- package/app/src/lib/db/adapters/bunSqliteAdapter.js +0 -2
- package/app/src/lib/db/adapters/nodeSqliteAdapter.js +0 -2
- package/app/src/lib/db/adapters/sqljsAdapter.js +23 -4
- package/app/src/lib/db/migrate.js +15 -4
- package/app/src/lib/updater/updater.js +67 -9
- package/app/src/shared/utils/apiKey.js +3 -7
- package/cli.js +205 -180
- package/hooks/sqliteRuntime.js +1 -7
- package/package.json +2 -2
- package/src/cli/api/client.js +3 -20
- package/src/cli/menus/settings.js +3 -62
- package/src/cli/tray/tray.js +18 -26
- package/src/shared/dataDir.js +61 -0
- package/src/shared/disableMitm.js +102 -0
- package/src/shared/openBrowser.js +43 -0
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +0 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/api/init/route.js +0 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/dashboard/agent-library.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/agent-library.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/agent-library.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/!KGRhc2hib2FyZCk/dashboard/agent-library/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/!KGRhc2hib2FyZCk/dashboard/agent-library.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/agent-library.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/combos/routing.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/combos/routing.meta +0 -18
- package/app/.next-cli-build/server/app/dashboard/combos/routing.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/!KGRhc2hib2FyZCk/dashboard/combos/routing/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/!KGRhc2hib2FyZCk/dashboard/combos/routing.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/combos/routing.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/combos.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/combos.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.meta +0 -18
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/profile.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/profile.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.meta +0 -18
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/providers.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/providers.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/quota.html +0 -2
- package/app/.next-cli-build/server/app/dashboard/quota.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/skills.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/skills.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +0 -27
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/translator.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/translator.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/usage.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/usage.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +0 -30
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard.html +0 -1
- package/app/.next-cli-build/server/app/dashboard.meta +0 -16
- package/app/.next-cli-build/server/app/dashboard.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +0 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +0 -8
- package/app/.next-cli-build/server/chunks/1051.js +0 -1
- package/app/.next-cli-build/server/chunks/1220.js +0 -3
- package/app/.next-cli-build/server/chunks/1241.js +0 -1
- package/app/.next-cli-build/server/chunks/1814.js +0 -17
- package/app/.next-cli-build/server/chunks/2117.js +0 -1
- package/app/.next-cli-build/server/chunks/2280.js +0 -1
- package/app/.next-cli-build/server/chunks/2548.js +0 -67
- package/app/.next-cli-build/server/chunks/2701.js +0 -10
- package/app/.next-cli-build/server/chunks/2768.js +0 -79
- package/app/.next-cli-build/server/chunks/3943.js +0 -1
- package/app/.next-cli-build/server/chunks/4632.js +0 -1
- package/app/.next-cli-build/server/chunks/4827.js +0 -1
- package/app/.next-cli-build/server/chunks/5330.js +0 -161
- package/app/.next-cli-build/server/chunks/5612.js +0 -1
- package/app/.next-cli-build/server/chunks/5655.js +0 -1
- package/app/.next-cli-build/server/chunks/5699.js +0 -1
- package/app/.next-cli-build/server/chunks/5961.js +0 -28
- package/app/.next-cli-build/server/chunks/6040.js +0 -1
- package/app/.next-cli-build/server/chunks/6059.js +0 -1
- package/app/.next-cli-build/server/chunks/6070.js +0 -1
- package/app/.next-cli-build/server/chunks/6150.js +0 -64
- package/app/.next-cli-build/server/chunks/6306.js +0 -1
- package/app/.next-cli-build/server/chunks/6763.js +0 -1
- package/app/.next-cli-build/server/chunks/6777.js +0 -1
- package/app/.next-cli-build/server/chunks/6922.js +0 -1
- package/app/.next-cli-build/server/chunks/7651.js +0 -1
- package/app/.next-cli-build/server/chunks/8164.js +0 -67
- package/app/.next-cli-build/server/chunks/8238.js +0 -1
- package/app/.next-cli-build/server/chunks/8860.js +0 -32
- package/app/.next-cli-build/server/chunks/8895.js +0 -67
- package/app/.next-cli-build/server/chunks/8910.js +0 -8
- package/app/.next-cli-build/server/chunks/8920.js +0 -1
- package/app/.next-cli-build/server/chunks/9830.js +0 -73
- package/app/.next-cli-build/static/HFerqnfiKkxdqoMVxOfPW/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/1321-39ad919b1616c75c.js +0 -1
- package/app/.next-cli-build/static/chunks/1610-cd46c6c47a9aa99a.js +0 -1
- package/app/.next-cli-build/static/chunks/1655-0df56bb46fc3a442.js +0 -73
- package/app/.next-cli-build/static/chunks/2562-ceb69ca00b47af6e.js +0 -64
- package/app/.next-cli-build/static/chunks/5242-bb1a1a7ec3bfb62f.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-1ebc533b1f404c9f.js +0 -7
- package/app/.next-cli-build/static/chunks/5772-901f1092d831ec37.js +0 -3
- package/app/.next-cli-build/static/chunks/705-012db20bb6a5da8b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-b6f9c90a614bfb03.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-af2d913820faedae.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-a777baf9c2aa43b4.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-3f5fa0d8e152056f.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/routing/page-ff92eef8e57d1447.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-73628e93426ae624.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a8d8d0f4bfbcfbae.js +0 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-a915efd975f6af81.js +0 -59
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-9cad271042843781.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-8bff15a89ffc3746.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-4d2b06f4c8d1b384.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-ff7973275ee57a96.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-5e44267c26a7e42d.js +0 -10
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-3afd6ee04180298c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-4957f02eb9879798.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-14da9269a25bd090.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-95e55b6593bcf3f7.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-54d1bd253432bc6f.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-ef0b203963c2c25e.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-59db0b586ad5ab45.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/callback/page-64f2a90493720740.js +0 -1
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-2c2051aa3be879d6.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-8c76c0ea58e06a53.js +0 -1
- package/app/.next-cli-build/static/chunks/app/login/page-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4ff27935cdf818b5.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-868e94e9a2c8d9a9.js +0 -1
- package/app/.next-cli-build/static/css/20c5585d3269ee43.css +0 -1
- package/app/cli/.build-home/.switchboard/auth/machine-id-salt +0 -1
- package/app/cli/.build-home/.switchboard/db/data.sqlite +0 -0
- package/app/cli/.build-home/.switchboard/machine-id +0 -1
- package/app/public/i18n/literals/ar.json +0 -195
- package/app/public/i18n/literals/bn.json +0 -195
- package/app/public/i18n/literals/cs.json +0 -195
- package/app/public/i18n/literals/da.json +0 -195
- package/app/public/i18n/literals/de.json +0 -195
- package/app/public/i18n/literals/el.json +0 -195
- package/app/public/i18n/literals/es.json +0 -195
- package/app/public/i18n/literals/fa.json +0 -195
- package/app/public/i18n/literals/fi.json +0 -195
- package/app/public/i18n/literals/fr.json +0 -195
- package/app/public/i18n/literals/he.json +0 -195
- package/app/public/i18n/literals/hi.json +0 -195
- package/app/public/i18n/literals/hu.json +0 -195
- package/app/public/i18n/literals/id.json +0 -195
- package/app/public/i18n/literals/it.json +0 -195
- package/app/public/i18n/literals/ja.json +0 -195
- package/app/public/i18n/literals/ko.json +0 -195
- package/app/public/i18n/literals/nl.json +0 -195
- package/app/public/i18n/literals/no.json +0 -195
- package/app/public/i18n/literals/pl.json +0 -195
- package/app/public/i18n/literals/pt-BR.json +0 -195
- package/app/public/i18n/literals/pt-PT.json +0 -195
- package/app/public/i18n/literals/ro.json +0 -195
- package/app/public/i18n/literals/ru.json +0 -195
- package/app/public/i18n/literals/sv.json +0 -195
- package/app/public/i18n/literals/th.json +0 -195
- package/app/public/i18n/literals/tl.json +0 -195
- package/app/public/i18n/literals/tr.json +0 -195
- package/app/public/i18n/literals/uk.json +0 -195
- package/app/public/i18n/literals/ur.json +0 -195
- package/app/public/i18n/literals/vi.json +0 -195
- package/app/public/i18n/literals/zh-TW.json +0 -195
- package/app/.next-cli-build/static/{HFerqnfiKkxdqoMVxOfPW → TXnbOJZ6FVNX0p7oT_f3I}/_ssgManifest.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/at-rule.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/comment.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/declaration.js +4 -4
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/document.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/list.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/parse.js +1 -1
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/postcss.js +12 -12
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/root.js +0 -0
- package/app/node_modules/{next/node_modules/postcss → postcss}/lib/rule.js +6 -6
- /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/stringify.js +0 -0
- /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/symbols.js +0 -0
- /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/terminal-highlight.js +0 -0
- /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/warn-once.js +0 -0
- /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/warning.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="dark fonts-loaded"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/26d4368bf94c0ec4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/98e207f02528a563-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/d3ebbfd689654d3a-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/db96af6b531dc71f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/a26e7bdf55d5cb27.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/20c5585d3269ee43.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e07f2bf4fa519943.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-868e94e9a2c8d9a9.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-c66b3d8325973459.js" async=""></script><script src="/_next/static/chunks/main-app-e5d01a79c4922432.js" async=""></script><script src="/_next/static/chunks/1a258343-33aee1e7d9aa500f.js" async=""></script><script src="/_next/static/chunks/1610-cd46c6c47a9aa99a.js" async=""></script><script src="/_next/static/chunks/2562-ceb69ca00b47af6e.js" async=""></script><script src="/_next/static/chunks/1631-cb80453bf5d4173d.js" async=""></script><script src="/_next/static/chunks/1321-39ad919b1616c75c.js" async=""></script><script src="/_next/static/chunks/705-012db20bb6a5da8b.js" async=""></script><script src="/_next/static/chunks/5497-1ebc533b1f404c9f.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js" async=""></script><script src="/_next/static/chunks/app/layout-214ea0ad8a3d8323.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js" async=""></script><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#16130E"/><title>Switchboard — Intelligent Model Routing</title><meta name="description" content="Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_c8daab __variable_595324 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden" style="background:#16130E"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex h-full"><aside class="flex flex-col min-h-full" style="width:236px;flex:0 0 236px;background:#1A160F;border-right:1px solid #332C1E"><div class="flex items-center gap-[11px]" style="padding:16px 18px;border-bottom:1px solid #2A2418"><a class="flex items-center gap-[11px] min-w-0" href="/dashboard"><div class="flex items-center justify-center shrink-0" style="width:27px;height:27px;border-radius:7px;background:#E5B454;color:#1B1710;font-weight:700;font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:15px">S</div><div class="flex flex-col min-w-0" style="line-height:1.15"><span style="font-weight:600;font-size:14px;letter-spacing:0.2px;color:#ECE4D2">Switchboard</span><span style="font-size:10.5px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace">routing gateway</span></div></a></div><nav class="flex-1 overflow-y-auto custom-scrollbar flex flex-col" style="padding:12px 10px;gap:2px"><div><div class="console-nav-section">Operate</div><a class="console-nav-item" data-active="true" href="/dashboard"><span class="console-nav-dot"></span>Overview</a><a class="console-nav-item" data-active="false" href="/dashboard/combos"><span class="console-nav-dot"></span>Combos</a><a class="console-nav-item" data-active="false" href="/dashboard/usage"><span class="console-nav-dot"></span>Usage</a><a class="console-nav-item" data-active="false" href="/dashboard/quota"><span class="console-nav-dot"></span>Quota</a></div><div><div class="console-nav-section">Connect</div><a class="console-nav-item" data-active="false" href="/dashboard/providers"><span class="console-nav-dot"></span>Providers</a><a class="console-nav-item" data-active="false" href="/dashboard/endpoint"><span class="console-nav-dot"></span>Endpoint & keys</a></div><div><div class="console-nav-section">Tools</div><a class="console-nav-item" data-active="false" href="/dashboard/token-saver"><span class="console-nav-dot"></span>Token saver</a><a class="console-nav-item" data-active="false" href="/dashboard/media-providers"><span class="console-nav-dot"></span>Media</a><a class="console-nav-item" data-active="false" href="/dashboard/skills"><span class="console-nav-dot"></span>Skills</a><a class="console-nav-item" data-active="false" href="/dashboard/agent-library"><span class="console-nav-dot"></span>Agent library</a><a class="console-nav-item" data-active="false" href="/dashboard/cli-tools"><span class="console-nav-dot"></span>CLI tools</a><a class="console-nav-item" data-active="false" href="/dashboard/profile"><span class="console-nav-dot"></span>Settings</a></div><div style="margin-top:16px;padding:11px 12px;border:1px dashed #332C1E;border-radius:8px"><div style="font-size:10px;letter-spacing:1.4px;color:#6F6653;text-transform:uppercase;font-weight:600;margin-bottom:6px">Diagnostics</div><div style="font-size:11px;color:#7A7059;font-family:var(--font-mono), 'IBM Plex Mono', monospace;line-height:1.7"><a class="hover:text-[#E5B454]" href="/dashboard/console-log">console</a> · <a class="hover:text-[#E5B454]" href="/dashboard/translator">translator</a><br/><a class="hover:text-[#E5B454]" href="/dashboard/mitm">mitm</a> · <a class="hover:text-[#E5B454]" href="/dashboard/cli-tools">cli tools</a></div></div></nav><div style="padding:12px;border-top:1px solid #2A2418"><div class="flex items-center justify-between gap-2" style="background:#211C14;border:1px solid #2A2418;border-radius:8px;padding:9px 11px"><div class="flex flex-col min-w-0"><span style="font-size:9.5px;letter-spacing:1px;color:#6F6653;text-transform:uppercase">Endpoint</span><span class="truncate" style="font-size:11px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;color:#A99E86">127.0.0.1:20128</span></div><span class="console-online-dot" title="online"></span></div></div></aside></div><div class="fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out -translate-x-full"><aside class="flex flex-col min-h-full" style="width:236px;flex:0 0 236px;background:#1A160F;border-right:1px solid #332C1E"><div class="flex items-center gap-[11px]" style="padding:16px 18px;border-bottom:1px solid #2A2418"><a class="flex items-center gap-[11px] min-w-0" href="/dashboard"><div class="flex items-center justify-center shrink-0" style="width:27px;height:27px;border-radius:7px;background:#E5B454;color:#1B1710;font-weight:700;font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:15px">S</div><div class="flex flex-col min-w-0" style="line-height:1.15"><span style="font-weight:600;font-size:14px;letter-spacing:0.2px;color:#ECE4D2">Switchboard</span><span style="font-size:10.5px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace">routing gateway</span></div></a><button type="button" class="lg:hidden ml-auto text-[#6F6653] hover:text-[#ECE4D2]" aria-label="Close menu"><span class="material-symbols-outlined text-[20px]">close</span></button></div><nav class="flex-1 overflow-y-auto custom-scrollbar flex flex-col" style="padding:12px 10px;gap:2px"><div><div class="console-nav-section">Operate</div><a class="console-nav-item" data-active="true" href="/dashboard"><span class="console-nav-dot"></span>Overview</a><a class="console-nav-item" data-active="false" href="/dashboard/combos"><span class="console-nav-dot"></span>Combos</a><a class="console-nav-item" data-active="false" href="/dashboard/usage"><span class="console-nav-dot"></span>Usage</a><a class="console-nav-item" data-active="false" href="/dashboard/quota"><span class="console-nav-dot"></span>Quota</a></div><div><div class="console-nav-section">Connect</div><a class="console-nav-item" data-active="false" href="/dashboard/providers"><span class="console-nav-dot"></span>Providers</a><a class="console-nav-item" data-active="false" href="/dashboard/endpoint"><span class="console-nav-dot"></span>Endpoint & keys</a></div><div><div class="console-nav-section">Tools</div><a class="console-nav-item" data-active="false" href="/dashboard/token-saver"><span class="console-nav-dot"></span>Token saver</a><a class="console-nav-item" data-active="false" href="/dashboard/media-providers"><span class="console-nav-dot"></span>Media</a><a class="console-nav-item" data-active="false" href="/dashboard/skills"><span class="console-nav-dot"></span>Skills</a><a class="console-nav-item" data-active="false" href="/dashboard/agent-library"><span class="console-nav-dot"></span>Agent library</a><a class="console-nav-item" data-active="false" href="/dashboard/cli-tools"><span class="console-nav-dot"></span>CLI tools</a><a class="console-nav-item" data-active="false" href="/dashboard/profile"><span class="console-nav-dot"></span>Settings</a></div><div style="margin-top:16px;padding:11px 12px;border:1px dashed #332C1E;border-radius:8px"><div style="font-size:10px;letter-spacing:1.4px;color:#6F6653;text-transform:uppercase;font-weight:600;margin-bottom:6px">Diagnostics</div><div style="font-size:11px;color:#7A7059;font-family:var(--font-mono), 'IBM Plex Mono', monospace;line-height:1.7"><a class="hover:text-[#E5B454]" href="/dashboard/console-log">console</a> · <a class="hover:text-[#E5B454]" href="/dashboard/translator">translator</a><br/><a class="hover:text-[#E5B454]" href="/dashboard/mitm">mitm</a> · <a class="hover:text-[#E5B454]" href="/dashboard/cli-tools">cli tools</a></div></div></nav><div style="padding:12px;border-top:1px solid #2A2418"><div class="flex items-center justify-between gap-2" style="background:#211C14;border:1px solid #2A2418;border-radius:8px;padding:9px 11px"><div class="flex flex-col min-w-0"><span style="font-size:9.5px;letter-spacing:1px;color:#6F6653;text-transform:uppercase">Endpoint</span><span class="truncate" style="font-size:11px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;color:#A99E86">127.0.0.1:20128</span></div><span class="console-online-dot" title="online"></span></div></div></aside></div><main class="flex flex-col flex-1 h-full min-w-0 relative isolate"><header class="shrink-0 z-20 flex items-center justify-between gap-4" style="height:53px;flex:0 0 53px;border-bottom:1px solid #332C1E;background:#1A160F;padding:0 18px"><div class="flex items-center gap-3 min-w-0"><button type="button" class="lg:hidden text-[#A99E86] hover:text-[#E5B454]" aria-label="Open menu"><span class="material-symbols-outlined text-[22px]">menu</span></button><div class="truncate" style="font-size:12px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace">Operate<!-- --> <span style="color:#4A4231">/</span> <span style="color:#A99E86">Overview</span></div></div><div class="flex items-center gap-[9px] shrink-0"><div class="hidden sm:flex items-center gap-[7px]" style="background:#211C14;border:1px solid #2A2418;border-radius:7px;padding:5px 10px"><span class="console-online-dot"></span><span style="font-size:11.5px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;color:#A99E86">online</span></div><div class="hidden md:flex items-center gap-[7px]" style="background:rgba(229,180,84,.1);border:1px solid rgba(229,180,84,.3);border-radius:7px;padding:5px 10px"><span style="width:7px;height:7px;border-radius:2px;background:#E5B454"></span><span style="font-size:11.5px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;color:#E5B454;white-space:nowrap">local gateway</span></div><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><div class="relative"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Menu"><span class="material-symbols-outlined">grid_view</span></button></div></div></header><div class="flex-1 overflow-y-auto custom-scrollbar " style="background:#16130E"><div class="w-full" style="padding:22px"><div class="flex flex-col w-full" style="gap:16px;max-width:1120px"><div class="flex flex-col" style="gap:4px"><span style="font-size:17px;font-weight:600;color:#ECE4D2">Overview</span><span style="font-size:12px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace">everything routing through your endpoint, at a glance</span></div><div class="grid gap-4 grid-cols-1 md:grid-cols-2"><div class="flex flex-col justify-between" style="background:#1E1A13;border:1px solid #332C1E;border-radius:12px;padding:18px"><div><div class="flex items-center justify-between" style="margin-bottom:12px"><span style="font-size:10.5px;letter-spacing:1.2px;color:#8A7F66;text-transform:uppercase;font-weight:600">Endpoint</span><span class="flex items-center gap-[7px]" style="font-size:11.5px;color:#74C08A;font-family:var(--font-mono), 'IBM Plex Mono', monospace"><span class="console-online-dot"></span>online</span></div><div style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:16px;color:#E5B454;margin-bottom:4px;word-break:break-all">http://127.0.0.1:20128/v1</div></div><div style="font-size:11.5px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace;margin-top:14px">0<!-- --> API key<!-- -->s<!-- --> · <!-- -->0<!-- --> provider<!-- -->s<!-- --> connected</div></div><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:12px;padding:18px"><div class="flex items-center justify-between" style="margin-bottom:12px"><span style="font-size:10.5px;letter-spacing:1.2px;color:#8A7F66;text-transform:uppercase;font-weight:600">Combos</span><span style="font-size:10px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:0.5px;background:rgba(229,180,84,.15);color:#E5B454;border:1px solid rgba(229,180,84,.4)">none</span></div><div class="flex items-end gap-2.5" style="margin-bottom:3px"><span style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:32px;font-weight:600;line-height:1;color:#ECE4D2">0</span><span style="font-size:11px;color:#A99E86;font-family:var(--font-mono), 'IBM Plex Mono', monospace;padding-bottom:3px">combos</span></div><div style="font-size:11px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace;margin-bottom:14px">Group models · fallback / round-robin / fusion / auto</div><div class="flex gap-2 items-center flex-wrap"><a style="display:inline-flex;align-items:center;gap:7px;background:rgba(229,180,84,.15);border:1px solid rgba(229,180,84,.4);border-radius:7px;padding:7px 12px;font-size:12px;color:#E5B454;font-family:inherit" href="/dashboard/combos">Create combo</a></div></div></div><div class="grid gap-3 grid-cols-2 lg:grid-cols-4"><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:11px;padding:15px"><div style="font-size:10px;letter-spacing:0.6px;color:#6F6653;text-transform:uppercase;margin-bottom:8px">Requests · 24h</div><div style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:21px;font-weight:600;color:#ECE4D2">0</div></div><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:11px;padding:15px"><div style="font-size:10px;letter-spacing:0.6px;color:#6F6653;text-transform:uppercase;margin-bottom:8px">Tokens in</div><div style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:21px;font-weight:600;color:#ECE4D2">0</div></div><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:11px;padding:15px"><div style="font-size:10px;letter-spacing:0.6px;color:#6F6653;text-transform:uppercase;margin-bottom:8px">Tokens out</div><div style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:21px;font-weight:600;color:#ECE4D2">0</div></div><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:11px;padding:15px"><div style="font-size:10px;letter-spacing:0.6px;color:#6F6653;text-transform:uppercase;margin-bottom:8px">Est. cost</div><div style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:21px;font-weight:600;color:#ECE4D2">$0.00</div></div></div><div class="grid gap-4 items-start grid-cols-1 md:grid-cols-2"><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:12px;padding:18px"><div class="flex items-center justify-between" style="margin-bottom:14px"><span style="font-size:13px;font-weight:600;color:#ECE4D2">Active routing</span><a style="padding:6px 12px;border-radius:7px;font-size:11.5px;border:1px solid #3A3221;background:transparent;color:#A99E86" href="/dashboard/combos">Open combos</a></div><div class="flex items-center gap-2.5" style="margin-bottom:14px"><span style="font-family:var(--font-mono), 'IBM Plex Mono', monospace;font-size:14px;font-weight:600;color:#ECE4D2">—</span><span style="font-size:10px;font-family:var(--font-mono), 'IBM Plex Mono', monospace;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:0.5px;background:rgba(229,180,84,.15);color:#E5B454;border:1px solid rgba(229,180,84,.4)">fallback</span></div><div class="flex flex-col"><div class="flex items-center justify-between gap-3" style="padding:9px 0;border-bottom:1px solid #241F16"><span style="font-size:12px;color:#8A7F66">Combos</span><span class="truncate text-right" style="font-size:12px;color:#A99E86;font-family:var(--font-mono), 'IBM Plex Mono', monospace;max-width:60%" title="none configured">none configured</span></div><div class="flex items-center justify-between gap-3" style="padding:9px 0;border-bottom:1px solid #241F16"><span style="font-size:12px;color:#8A7F66">Strategy</span><span class="truncate text-right" style="font-size:12px;color:#A99E86;font-family:var(--font-mono), 'IBM Plex Mono', monospace;max-width:60%" title="—">—</span></div><div class="flex items-center justify-between gap-3" style="padding:9px 0;border-bottom:1px solid #241F16"><span style="font-size:12px;color:#8A7F66">Models</span><span class="truncate text-right" style="font-size:12px;color:#A99E86;font-family:var(--font-mono), 'IBM Plex Mono', monospace;max-width:60%" title="—">—</span></div><div class="flex items-center justify-between gap-3" style="padding:9px 0;border-bottom:none"><span style="font-size:12px;color:#8A7F66">Tip</span><span class="truncate text-right" style="font-size:12px;color:#A99E86;font-family:var(--font-mono), 'IBM Plex Mono', monospace;max-width:60%" title="Create a combo to group models">Create a combo to group models</span></div></div></div><div style="background:#1E1A13;border:1px solid #332C1E;border-radius:12px;padding:18px"><div class="flex items-center justify-between" style="margin-bottom:16px"><span style="font-size:13px;font-weight:600;color:#ECE4D2">Quota</span><span style="font-size:11px;color:#6F6653;font-family:var(--font-mono), 'IBM Plex Mono', monospace">0<!-- --> accounts</span></div><div class="flex flex-col" style="gap:13px"><div class="flex flex-col" style="gap:5px"><div class="flex justify-between items-baseline gap-2"><span style="font-size:12px;color:#ECE4D2">No quota data yet</span><span style="font-size:11px;color:#74C08A;font-family:var(--font-mono), 'IBM Plex Mono', monospace">0<!-- -->%</span></div><div style="height:5px;border-radius:3px;background:#241F16;overflow:hidden"><div style="height:100%;width:0%;border-radius:3px;background:#74C08A"></div></div></div></div><a class="inline-block mt-4" style="font-size:11.5px;color:#A99E86" href="/dashboard/quota">Open quota tracker →</a></div></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-868e94e9a2c8d9a9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-33aee1e7d9aa500f.js\",\"1610\",\"static/chunks/1610-cd46c6c47a9aa99a.js\",\"2562\",\"static/chunks/2562-ceb69ca00b47af6e.js\",\"1631\",\"static/chunks/1631-cb80453bf5d4173d.js\",\"1321\",\"static/chunks/1321-39ad919b1616c75c.js\",\"705\",\"static/chunks/705-012db20bb6a5da8b.js\",\"5497\",\"static/chunks/5497-1ebc533b1f404c9f.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js\"],\"ThemeProvider\"]\n3:I[94635,[\"1321\",\"static/chunks/1321-39ad919b1616c75c.js\",\"7177\",\"static/chunks/app/layout-214ea0ad8a3d8323.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[30759,[\"3862\",\"static/chunks/1a258343-33aee1e7d9aa500f.js\",\"1610\",\"static/chunks/1610-cd46c6c47a9aa99a.js\",\"2562\",\"static/chunks/2562-ceb69ca00b47af6e.js\",\"1631\",\"static/chunks/1631-cb80453bf5d4173d.js\",\"1321\",\"static/chunks/1321-39ad919b1616c75c.js\",\"705\",\"static/chunks/705-012db20bb6a5da8b.js\",\"5497\",\"static/chunks/5497-1ebc533b1f404c9f.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js\"],\"default\"]\n7:I[7648,[\"3862\",\"static/chunks/1a258343-33aee1e7d9aa500f.js\",\"1610\",\"static/chunks/1610-cd46c6c47a9aa99a.js\",\"2562\",\"static/chunks/2562-ceb69ca00b47af6e.js\",\"1631\",\"static/chunks/1631-cb80453bf5d4173d.js\",\"1321\",\"static/chunks/1321-39ad919b1616c75c.js\",\"705\",\"static/chunks/705-012db20bb6a5da8b.js\",\"5497\",\"static/chunks/5497-1ebc533b1f404c9f.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js\"],\"default\"]\n9:I[90484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nd:I[90484,[],\"ViewportBoundary\"]\nf:I[90484,[],\"MetadataBoundary\"]\n11:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/26d4368bf94c0ec4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/98e207f02528a563-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/d3ebbfd689654d3a-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/db96af6b531dc71f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/a26e7bdf55d5cb27.css\",\"style\"]\n:HL[\"/_next/static/css/20c5585d3269ee43.css\",\"style\"]\n:HL[\"/_next/static/css/e07f2bf4fa519943.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"dashboard\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a26e7bdf55d5cb27.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/20c5585d3269ee43.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark fonts-loaded\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_c8daab __variable_595324 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e07f2bf4fa519943.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L8\",null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],{},null,false,null]},null,false,\"$@c\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"HFerqnfiKkxdqoMVxOfPW\"}\n"])</script><script>self.__next_f.push([1,"12:[]\nc:\"$W12\"\n"])</script><script>self.__next_f.push([1,"13:I[55084,[\"1610\",\"static/chunks/1610-cd46c6c47a9aa99a.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js\"],\"default\"]\n8:[\"$\",\"$L13\",null,{\"initialData\":{\"providerCount\":0,\"keyCount\":0,\"comboCount\":0,\"defaultCombo\":null,\"quotas\":[],\"learningSummary\":null}}]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#16130E\"}]]\n"])</script><script>self.__next_f.push([1,"14:I[86869,[],\"IconMark\"]\nb:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"Switchboard — Intelligent Model Routing\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L14\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"headers": {
|
|
3
|
-
"x-nextjs-stale-time": "300",
|
|
4
|
-
"x-nextjs-prerender": "1",
|
|
5
|
-
"x-next-cache-tags": "_N_T_/layout,_N_T_/(dashboard)/layout,_N_T_/(dashboard)/dashboard/layout,_N_T_/(dashboard)/dashboard/page,_N_T_/dashboard"
|
|
6
|
-
},
|
|
7
|
-
"segmentPaths": [
|
|
8
|
-
"/_tree",
|
|
9
|
-
"/_full",
|
|
10
|
-
"/!KGRhc2hib2FyZCk/dashboard/__PAGE__",
|
|
11
|
-
"/!KGRhc2hib2FyZCk/dashboard",
|
|
12
|
-
"/!KGRhc2hib2FyZCk",
|
|
13
|
-
"/_index",
|
|
14
|
-
"/_head"
|
|
15
|
-
]
|
|
16
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"ThemeProvider"]
|
|
3
|
-
3:I[94635,["1321","static/chunks/1321-39ad919b1616c75c.js","7177","static/chunks/app/layout-214ea0ad8a3d8323.js"],"RuntimeI18nProvider"]
|
|
4
|
-
4:I[57121,[],""]
|
|
5
|
-
5:I[74581,[],""]
|
|
6
|
-
6:I[30759,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
7
|
-
7:I[7648,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
8
|
-
9:I[90484,[],"OutletBoundary"]
|
|
9
|
-
a:"$Sreact.suspense"
|
|
10
|
-
d:I[90484,[],"ViewportBoundary"]
|
|
11
|
-
f:I[90484,[],"MetadataBoundary"]
|
|
12
|
-
11:I[27123,[],"default",1]
|
|
13
|
-
:HL["/_next/static/media/26d4368bf94c0ec4-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
|
-
:HL["/_next/static/media/98e207f02528a563-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
|
-
:HL["/_next/static/media/d3ebbfd689654d3a-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
16
|
-
:HL["/_next/static/media/db96af6b531dc71f-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
17
|
-
:HL["/_next/static/css/a26e7bdf55d5cb27.css","style"]
|
|
18
|
-
:HL["/_next/static/css/20c5585d3269ee43.css","style"]
|
|
19
|
-
:HL["/_next/static/css/e07f2bf4fa519943.css","style"]
|
|
20
|
-
0:{"P":null,"c":["","dashboard"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/a26e7bdf55d5cb27.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/20c5585d3269ee43.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark fonts-loaded","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_c8daab __variable_595324 font-sans antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L6",null,{"children":["$","$L7",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$L8",null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,"$@c"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"HFerqnfiKkxdqoMVxOfPW"}
|
|
21
|
-
12:[]
|
|
22
|
-
c:"$W12"
|
|
23
|
-
13:I[55084,["1610","static/chunks/1610-cd46c6c47a9aa99a.js","6337","static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js"],"default"]
|
|
24
|
-
8:["$","$L13",null,{"initialData":{"providerCount":0,"keyCount":0,"comboCount":0,"defaultCombo":null,"quotas":[],"learningSummary":null}}]
|
|
25
|
-
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#16130E"}]]
|
|
26
|
-
14:I[86869,[],"IconMark"]
|
|
27
|
-
b:null
|
|
28
|
-
10:[["$","title","0",{"children":"Switchboard — Intelligent Model Routing"}],["$","meta","1",{"name":"description","content":"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L14","5",{}]]
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[55084,["1610","static/chunks/1610-cd46c6c47a9aa99a.js","6337","static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js"],"default"]
|
|
3
|
-
3:I[90484,[],"OutletBoundary"]
|
|
4
|
-
4:"$Sreact.suspense"
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"initialData":{"providerCount":0,"keyCount":0,"comboCount":0,"defaultCombo":null,"quotas":[],"learningSummary":null}}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
6
|
-
5:null
|
package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57121,[],""]
|
|
3
|
-
3:I[74581,[],""]
|
|
4
|
-
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[30759,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
3
|
-
3:I[7648,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
4
|
-
4:I[57121,[],""]
|
|
5
|
-
5:I[74581,[],""]
|
|
6
|
-
:HL["/_next/static/css/e07f2bf4fa519943.css","style"]
|
|
7
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next"}]],["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"ThemeProvider"]
|
|
3
|
-
3:I[94635,["1321","static/chunks/1321-39ad919b1616c75c.js","7177","static/chunks/app/layout-214ea0ad8a3d8323.js"],"RuntimeI18nProvider"]
|
|
4
|
-
4:I[57121,[],""]
|
|
5
|
-
5:I[74581,[],""]
|
|
6
|
-
6:I[30759,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
7
|
-
7:I[7648,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"default"]
|
|
8
|
-
9:I[90484,[],"OutletBoundary"]
|
|
9
|
-
a:"$Sreact.suspense"
|
|
10
|
-
d:I[90484,[],"ViewportBoundary"]
|
|
11
|
-
f:I[90484,[],"MetadataBoundary"]
|
|
12
|
-
11:I[27123,[],"default",1]
|
|
13
|
-
:HL["/_next/static/media/26d4368bf94c0ec4-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
|
-
:HL["/_next/static/media/98e207f02528a563-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
|
-
:HL["/_next/static/media/d3ebbfd689654d3a-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
16
|
-
:HL["/_next/static/media/db96af6b531dc71f-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
17
|
-
:HL["/_next/static/css/a26e7bdf55d5cb27.css","style"]
|
|
18
|
-
:HL["/_next/static/css/20c5585d3269ee43.css","style"]
|
|
19
|
-
:HL["/_next/static/css/e07f2bf4fa519943.css","style"]
|
|
20
|
-
0:{"P":null,"c":["","dashboard"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/a26e7bdf55d5cb27.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/20c5585d3269ee43.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark fonts-loaded","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_c8daab __variable_595324 font-sans antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L6",null,{"children":["$","$L7",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$L8",null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,"$@c"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"HFerqnfiKkxdqoMVxOfPW"}
|
|
21
|
-
12:[]
|
|
22
|
-
c:"$W12"
|
|
23
|
-
13:I[55084,["1610","static/chunks/1610-cd46c6c47a9aa99a.js","6337","static/chunks/app/(dashboard)/dashboard/page-afeae41f2e9445ec.js"],"default"]
|
|
24
|
-
8:["$","$L13",null,{"initialData":{"providerCount":0,"keyCount":0,"comboCount":0,"defaultCombo":null,"quotas":[],"learningSummary":null}}]
|
|
25
|
-
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#16130E"}]]
|
|
26
|
-
14:I[86869,[],"IconMark"]
|
|
27
|
-
b:null
|
|
28
|
-
10:[["$","title","0",{"children":"Switchboard — Intelligent Model Routing"}],["$","meta","1",{"name":"description","content":"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L14","5",{}]]
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[90484,[],"ViewportBoundary"]
|
|
3
|
-
3:I[90484,[],"MetadataBoundary"]
|
|
4
|
-
4:"$Sreact.suspense"
|
|
5
|
-
5:I[86869,[],"IconMark"]
|
|
6
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#16130E"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Switchboard — Intelligent Model Routing"}],["$","meta","1",{"name":"description","content":"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-33aee1e7d9aa500f.js","1610","static/chunks/1610-cd46c6c47a9aa99a.js","2562","static/chunks/2562-ceb69ca00b47af6e.js","1631","static/chunks/1631-cb80453bf5d4173d.js","1321","static/chunks/1321-39ad919b1616c75c.js","705","static/chunks/705-012db20bb6a5da8b.js","5497","static/chunks/5497-1ebc533b1f404c9f.js","9305","static/chunks/app/(dashboard)/layout-58013e7e99d17d70.js"],"ThemeProvider"]
|
|
3
|
-
3:I[94635,["1321","static/chunks/1321-39ad919b1616c75c.js","7177","static/chunks/app/layout-214ea0ad8a3d8323.js"],"RuntimeI18nProvider"]
|
|
4
|
-
4:I[57121,[],""]
|
|
5
|
-
5:I[74581,[],""]
|
|
6
|
-
:HL["/_next/static/css/a26e7bdf55d5cb27.css","style"]
|
|
7
|
-
:HL["/_next/static/css/20c5585d3269ee43.css","style"]
|
|
8
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/a26e7bdf55d5cb27.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/20c5585d3269ee43.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"dark fonts-loaded","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_c8daab __variable_595324 font-sans antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
:HL["/_next/static/media/26d4368bf94c0ec4-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
|
-
:HL["/_next/static/media/98e207f02528a563-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
|
-
:HL["/_next/static/media/d3ebbfd689654d3a-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
|
-
:HL["/_next/static/media/db96af6b531dc71f-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
5
|
-
:HL["/_next/static/css/a26e7bdf55d5cb27.css","style"]
|
|
6
|
-
:HL["/_next/static/css/20c5585d3269ee43.css","style"]
|
|
7
|
-
:HL["/_next/static/css/e07f2bf4fa519943.css","style"]
|
|
8
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":0,"slots":{"children":{"name":"dashboard","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"HFerqnfiKkxdqoMVxOfPW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1051,exports.ids=[1051],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{function d(a){return null==a?"":String(a).trim()}async function e(a={}){try{let b=function(a={}){let b=a?.connectionProxyEnabled===!0,c=d(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d(a?.connectionNoProxy)}}(a);if(b.connectionProxyEnabled&&b.connectionProxyUrl)return{source:"legacy",proxyPoolId:null,proxyPool:null,...b,strictProxy:!1,vercelRelayUrl:""};return{source:"none",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:b.connectionNoProxy||"",strictProxy:!1,vercelRelayUrl:""}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1,vercelRelayUrl:""}}}c.d(b,{B:()=>e})},80238:(a,b,c)=>{c.d(b,{Pt:()=>m,Tr:()=>n,c1:()=>k,kI:()=>o,vk:()=>l});var d=c(76479),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(7803);let j=new Map;async function k(a,b=null,c=null,g={}){var l;let m,n,o,p,q=b instanceof Set?b:b?new Set([b]):new Set,r=g?.preferredConnectionId||null,s=(0,h.rs)(a);return l=async()=>{let b;if(h.IS[s]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[s]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let g=await (0,d.getProviderConnections)({provider:s,isActive:!0});if(i.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${q.size>0?[...q].join(","):"none"}, model: ${c||"any"}`),0===g.length)return i.warn("AUTH",`No credentials for ${a}`),null;let j=g.filter(a=>!(q.has(a.id)||(0,f.Bl)(a,c)));if(i.debug("AUTH",`${a} | available: ${j.length}/${g.length}`),g.forEach(a=>{let b=q.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);i.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===j.length){let b=g.filter(a=>(0,f.Bl)(a,c)),d=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return i.warn("AUTH",`${a} | all ${g.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return i.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let k=await (0,d.mt)(),l=(k.providerStrategies||{})[s]||{},m=l.fallbackStrategy||k.fallbackStrategy||"fill-first";if(r&&(b=j.find(a=>a.id===r))&&i.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===m){let a=l.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...j].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...j].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=j[0];let n=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:n.connectionProxyEnabled,connectionProxyUrl:n.connectionProxyUrl,connectionNoProxy:n.connectionNoProxy,connectionProxyPoolId:n.proxyPoolId||null,vercelRelayUrl:n.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}},n=j.get(s)||Promise.resolve(),o=new Promise(a=>{m=a}),p=n.then(()=>o,()=>o),j.set(s,p),(async()=>{await n.catch(()=>{});try{return await l()}finally{m(),j.get(s)===p&&j.delete(s)}})()}async function l(a,b,c,e=null,h=null,j=null){let k,m,n;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let o=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),p=o?.backoffLevel||0;if(j&&j>Date.now()?(k=!0,m=Math.min(j-Date.now(),g.fh),n=0):{shouldFallback:k,cooldownMs:m,newBackoffLevel:n}=(0,f.hk)(b,c,p),!k)return{shouldFallback:!1,cooldownMs:0};let q="string"==typeof c?c.slice(0,100):"Provider error",r=(0,f.S5)(h,m);await (0,d.updateProviderConnection)(a,{...r,testStatus:"unavailable",lastError:q,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:n??p});let s=Object.keys(r)[0],t=o?.displayName||o?.name||o?.email||a.slice(0,8);return i.warn("AUTH",`${t} locked ${s} for ${Math.round(m/1e3)}s [${b}]`),e&&b&&q&&console.error(`❌ ${e} [${b}]: ${q}`),{shouldFallback:!0,cooldownMs:m}}async function m(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function n(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function o(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1220,exports.ids=[1220],exports.modules={8834:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={VALID_LOADERS:function(){return e},imageConfigDefault:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=["default","imgix","cloudinary","akamai","custom"],f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},19226:(a,b,c)=>{a.exports=c(81155).vendored.contexts.RouterContext},25374:(a,b)=>{function c({widthInt:a,heightInt:b,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}){let h=d?40*d:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},26201:(a,b,c)=>{a.exports=c(81155).vendored.contexts.ImageConfigContext},28039:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(92873),e=c(44217);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")){let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+e:"")}}}if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},38895:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return j}}),c(95478);let d=c(44217),e=c(25374),f=c(8834),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},49646:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(40399),g=c(24814),h=c(48249),i=g._(c(67484)),j=f._(c(98917)),k=c(89719);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(95478);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67095:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(40399),g=c(38895),h=c(73836),i=f._(c(28039));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},73836:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(40399),e=c(24814),f=c(48249),g=e._(c(67484)),h=d._(c(74429)),i=d._(c(49646)),j=c(38895),k=c(8834),l=c(26201);c(95478);let m=c(19226),n=d._(c(28039)),o=c(57272),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},81220:(a,b,c)=>{c.d(b,{default:()=>e.a});var d=c(67095),e=c.n(d)},89719:(a,b,c)=>{a.exports=c(81155).vendored.contexts.HeadManagerContext},92873:(a,b)=>{function c(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,b.qualities[0]):c}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"findClosestQuality",{enumerable:!0,get:function(){return c}})},98917:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(67484),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1241,exports.ids=[1241],exports.modules={53129:(a,b,c)=>{function d(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}function e(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}function f(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function g(a){let b=f(a);if(b)return b.email||b.preferred_username||b.sub||void 0}async function h(a){if(!a)return null;try{let b=await fetch("https://codewhisperer.us-east-1.amazonaws.com/ListAvailableProfiles",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({maxResults:10})});if(!b.ok)return null;let c=await b.json();return c.profiles?.find(a=>a.arn?.trim())?.arn?.trim()||null}catch{return null}}function i(a){let b=f(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}c.d(b,{J_:()=>g,YR:()=>i,gR:()=>h,js:()=>d,pG:()=>e})},74177:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{backfillCodexEmails:()=>t,exchangeTokens:()=>q,extractCodexAccountInfo:()=>k.YR,fetchKiroProfileArn:()=>k.gR,generateAuthData:()=>p,getProvider:()=>n,getProviderNames:()=>o,pollForToken:()=>s,requestDeviceCode:()=>r});var e=c(48895),f=c(55511),g=c.n(f),h=c(13808),i=c(92990),j=c(73159),k=c(53129),l=a([e]);e=(l.then?(await l)():l)[0];let u=null;async function m(){if(u)return u;try{let a=await fetch(j.o.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return u={authorizeUrl:(0,k.js)(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:(0,k.js)(b.token_endpoint,"token_endpoint")}}}catch{}return u={authorizeUrl:j.o.authorizeUrl,tokenUrl:j.o.tokenUrl}}let v={claude:{config:i.OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})},codex:{config:i.DI,flowType:"authorization_code_pkce",fixedPort:i.DI.fixedPort,callbackPath:i.DI.callbackPath,buildAuthUrl:(a,b,c,d)=>{let e={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c},f=Object.entries(e).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${f}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=(0,k.YR)(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||(0,k.J_)(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}},xai:{config:j.o,flowType:"authorization_code_pkce",fixedPort:j.o.loopbackPort,callbackPath:j.o.callbackPath,pkceVerifierBytes:j.U,prepareConfig:async a=>{let b=await m();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let e=g().randomBytes(16).toString("hex"),f={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:e,plan:"generic",referrer:"cli-proxy-api"},h=Object.entries(f).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${h}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=(0,k.pG)(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}},"gemini-cli":{config:i.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${i.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},d="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,i.cD)(),mode:1})});if(b.ok){let a=await b.json();d=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},antigravity:{config:i.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b={Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","User-Agent":i.YT.loadCodeAssistUserAgent,"X-Goog-Api-Client":i.YT.loadCodeAssistApiClient,"Client-Metadata":i.YT.loadCodeAssistClientMetadata,"x-request-source":"local"},c=(0,i.cD)(),d=await fetch(`${i.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"}}),e=d.ok?await d.json():{},f="",g="legacy-tier";try{let a=await fetch(i.YT.loadCodeAssistEndpoint,{method:"POST",headers:b,body:JSON.stringify({metadata:c})});if(a.ok){let b=await a.json();if(f=b.cloudaicompanionProject?.id||b.cloudaicompanionProject||"",Array.isArray(b.allowedTiers)){for(let a of b.allowedTiers)if(a.isDefault&&a.id){g=a.id.trim();break}}}}catch(a){console.log("Failed to load code assist:",a)}return f&&(async()=>{for(let a=0;a<10;a++){try{let a=await fetch(i.YT.onboardUserEndpoint,{method:"POST",headers:b,body:JSON.stringify({tierId:g,metadata:c})});if(a.ok){let b=await a.json();if(!0===b.done)break}}catch(a){break}await new Promise(a=>setTimeout(a,5e3))}})().catch(()=>{}),{userInfo:e,projectId:f}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},iflow:{config:i.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${i.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let d=c.data||{};if(!d.apiKey||""===d.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(d.email?.trim()||d.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})},qoder:{config:i.hF,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(3546).then(c.bind(c,73546)),d=new b().initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(3546).then(c.bind(c,73546)),h=new g,i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.floor((f.expireTime-Date.now())/1e3),m=Math.max(86400,l);return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:m,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}},qwen:{config:i.Hp,flowType:"device_code",requestDeviceCode:async(a,b)=>{let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scope,code_challenge:b,code_challenge_method:a.codeChallengeMethod})});if(!c.ok){let a=await c.text();throw Error(`Device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b,code_verifier:c})});return{ok:d.ok,data:await d.json()}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{resourceUrl:a.resource_url}})},github:{config:i.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(i.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),c=b.ok?await b.json():{},d=await fetch(i.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),e=d.ok?await d.json():{};return{copilotToken:c,userInfo:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})},kiro:{config:i.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let d=("string"==typeof c.region?c.region.trim():"")||"us-east-1";(0,i.S6)(d);let e=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,f="idc"===c.authMethod?"idc":"builder-id",g=`https://oidc.${d}.amazonaws.com/client/register`,h=`https://oidc.${d}.amazonaws.com/device_authorization`,j=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!j.ok){let a=await j.text();throw Error(`Client registration failed: ${a}`)}let k=await j.json(),l=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k.clientId,clientSecret:k.clientSecret,startUrl:e})});if(!l.ok){let a=await l.text();throw Error(`Device authorization failed: ${a}`)}let m=await l.json();return{device_code:m.deviceCode,user_code:m.userCode,verification_uri:m.verificationUri,verification_uri_complete:m.verificationUriComplete,expires_in:m.expiresIn,interval:m.interval||5,_clientId:k.clientId,_clientSecret:k.clientSecret,_region:d,_authMethod:f,_startUrl:e}},pollToken:async(a,b,c,d)=>{let e,f=d?._region||"us-east-1";(0,i.S6)(f);let g=`https://oidc.${f}.amazonaws.com/token`,h=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:d?._clientId,clientSecret:d?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{e=await h.json()}catch(b){let a=await h.text();e={error:"invalid_response",error_description:a}}return e.accessToken?{ok:!0,data:{access_token:e.accessToken,refresh_token:e.refreshToken,expires_in:e.expiresIn,profile_arn:e?.profileArn||null,_clientId:d?._clientId,_clientSecret:d?._clientSecret,_region:d?._region,_authMethod:d?._authMethod,_startUrl:d?._startUrl}}:{ok:!1,data:{error:e.error||"authorization_pending",error_description:e.error_description||e.message}}},mapTokens:a=>{let b=(0,k.J_)(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||i.Tx.startUrl}}}},cursor:{config:i.WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})},"kimi-coding":{config:i.t,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}let c=await b.json();return{device_code:c.device_code,user_code:c.user_code,verification_uri:c.verification_uri||"https://www.kimi.com/code/authorize_device",verification_uri_complete:c.verification_uri_complete||`https://www.kimi.com/code/authorize_device?user_code=${c.user_code}`,expires_in:c.expires_in,interval:c.interval||5}},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in})},kilocode:{config:i.MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})},cline:{config:i.lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},clinepass:{config:i.w1,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`ClinePass token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},gitlab:{config:i.f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=e.clientId||"",h=new URLSearchParams({client_id:g,redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${h.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})},"codebuddy-cn":{config:i.Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})},kimchi:{config:i.Td,flowType:"browser_token",buildAuthUrl:(a,b,c)=>{let d=(a.webAppUrl||"https://app.kimchi.dev").replace(/\/+$/,""),e=new URLSearchParams({callback:b,state:c});return`${d}/cli-auth?${e.toString()}`},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!c)throw Error("Missing Kimchi token");let d=a.validationUrl||"https://api.cast.ai/v1/llm/openai/supported-providers",e=await fetch(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});if(!e.ok)throw Error(`Kimchi token validation failed: ${e.status}`);let f={};if(a.userInfoUrl)try{let b=await fetch(a.userInfoUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});b.ok&&(f=await b.json())}catch{f={}}return{access_token:c,token_type:"Bearer",_kimchiUser:f}},mapTokens:a=>{let b=a._kimchiUser||{},c=b.id?String(b.id):"",d=b.username||"",e=b.email||(c?`kimchi-user-${c}`:null);return{accessToken:a.access_token,refreshToken:null,email:e,displayName:b.name||d||null,providerSpecificData:{authMethod:"browser_token",userId:c,username:d}}}}};function n(a){let b=v[a];if(!b)throw Error(`Unknown provider: ${a}`);return b}function o(){return Object.keys(v)}async function p(a,b,c){let d=n(a),e=d.prepareConfig?await d.prepareConfig(d.config,c||{}):d.config,{codeVerifier:f,codeChallenge:g,state:i}=(0,h.lz)(d.pkceVerifierBytes);return{authUrl:"device_code"===d.flowType?null:"authorization_code_pkce"===d.flowType?d.buildAuthUrl(e,b,i,g,c||{}):d.buildAuthUrl(e,b,i,void 0,c||{}),state:i,codeVerifier:f,codeChallenge:g,redirectUri:b,flowType:d.flowType,fixedPort:d.fixedPort,callbackPath:d.callbackPath||"/callback"}}async function q(a,b,c,d,e,f){let g=n(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}async function r(a,b,c){let d=n(a);if("device_code"!==d.flowType)throw Error(`Provider ${a} does not support device code flow`);return await d.requestDeviceCode(d.config,b,c||{})}async function s(a,b,c,d){let e=n(a);if("device_code"!==e.flowType)throw Error(`Provider ${a} does not support device code flow`);let f=await e.pollToken(e.config,b,c,d);if(f.ok)if(f.data.access_token){let b=null;e.postExchange&&(b=await e.postExchange(f.data));let c=e.mapTokens(f.data,b);if("kiro"===a&&!c.providerSpecificData?.profileArn){let a=await (0,k.gR)(c.accessToken);a&&(c.providerSpecificData.profileArn=a)}return{success:!0,tokens:c}}else if("authorization_pending"===f.data.error||"slow_down"===f.data.error)return{success:!1,error:f.data.error,errorDescription:f.data.error_description||f.data.message,pending:"authorization_pending"===f.data.error};else return{success:!1,error:f.data.error||"no_access_token",errorDescription:f.data.error_description||f.data.message||"No access token received"};return{success:!1,error:f.data.error,errorDescription:f.data.error_description}}let w=!1;async function t(){if(!w){w=!0;try{let{getProviderConnections:a,updateProviderConnection:b}=await Promise.resolve().then(c.bind(c,76479));for(let c of(await a()).filter(a=>{if("codex"!==a.provider||"oauth"!==a.authType||!a.idToken)return!1;let b=!!a.email,c=!!a.providerSpecificData?.chatgptAccountId;return!b||!c})){let a=(0,k.YR)(c.idToken);if(!a.email&&!a.chatgptAccountId)continue;let d={};!c.email&&a.email&&(d.email=a.email),(a.chatgptAccountId||a.chatgptPlanType)&&(d.providerSpecificData={...c.providerSpecificData||{},chatgptAccountId:a.chatgptAccountId,chatgptPlanType:a.chatgptPlanType}),Object.keys(d).length&&await b(c.id,d)}}catch(a){w=!1,console.log("backfillCodexEmails failed:",a?.message||a)}}}d()}catch(a){d(a)}})},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i??=0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i}};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
exports.id=1814,exports.ids=[1814],exports.modules={6979:(a,b,c)=>{"use strict";c.d(b,{F:()=>f,J:()=>e});var d=c(23211);function e(a,b="Unexpected error"){return a instanceof Error&&a.message?a.message:"string"==typeof a&&a?a:b}function f(a,b){return d.NextResponse.json({error:e(b)},{status:a})}},11788:(a,b,c)=>{"use strict";c.d(b,{vy:()=>az,M1:()=>aq,nV:()=>as,il:()=>Q,Z:()=>aE,K6:()=>aF,bZ:()=>aC,o1:()=>R,CN:()=>$,ef:()=>P,n7:()=>_,M5:()=>J,e6:()=>aD,BM:()=>S,Ss:()=>ac,eB:()=>H,j1:()=>au,DZ:()=>K,te:()=>ab});var d=c(51455),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j),l=c(49120);let m=".switchboard-managed.json",n={claude:{id:"claude",label:"Claude Code",supportsSkills:!0,supportsMcp:!0},codex:{id:"codex",label:"Codex CLI",supportsSkills:!0,supportsMcp:!0},opencode:{id:"opencode",label:"OpenCode",supportsSkills:!0,supportsMcp:!0},gemini:{id:"gemini",label:"Gemini CLI",supportsSkills:!0,supportsMcp:!0},cursor:{id:"cursor",label:"Cursor",supportsSkills:!0,supportsMcp:!0}};function o(a={}){if("project"===a.scope&&a.projectPath){let b=g().resolve(a.projectPath);return g().join(b,".switchboard","agent-library")}return g().join(l.n,"agent-library")}function p(a){return g().join(a,"skills")}function q(a){return g().join(a,"mcp","servers.json")}function r(a){return g().join(a,"settings.json")}function s(a){return g().join(a,"state.json")}function t(a){let b=String(a||"").replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80);return!b||"."===b||".."===b||b.includes("..")||!/[a-zA-Z0-9]/.test(b)?"":b}function u(a){let b=t(a);return b?b.startsWith("sb-")?b:`sb-${b}`:null}function v(a,b={}){let c=k().homedir(),d="project"===b.scope&&b.projectPath?g().resolve(b.projectPath):null;switch(a){case"claude":return d?g().join(d,".claude","skills"):g().join(c,".claude","skills");case"codex":return d?g().join(d,".codex","skills"):g().join(c,".codex","skills");case"opencode":return d?g().join(d,".opencode","skills"):g().join(c,".config","opencode","skills");case"gemini":return d?g().join(d,".gemini","skills"):g().join(c,".gemini","skills");case"cursor":return d?g().join(d,".cursor","skills"):g().join(c,".cursor","skills");default:return null}}function w(a,b={}){let c=k().homedir(),d="project"===b.scope&&b.projectPath?g().resolve(b.projectPath):null;switch(a){case"claude":if(d)return{path:g().join(d,".mcp.json"),format:"json",kind:"claude-project-mcp"};return{path:g().join(c,".claude.json"),format:"json",kind:"claude-user"};case"codex":return{path:d?g().join(d,".codex","config.toml"):g().join(c,".codex","config.toml"),format:"toml",kind:"codex"};case"opencode":return{path:d?g().join(d,"opencode.json"):g().join(c,".config","opencode","opencode.json"),format:"json",kind:"opencode"};case"gemini":return{path:d?g().join(d,".gemini","settings.json"):g().join(c,".gemini","settings.json"),format:"json",kind:"gemini"};case"cursor":return{path:d?g().join(d,".cursor","mcp.json"):g().join(c,".cursor","mcp.json"),format:"json",kind:"cursor"};default:return null}}function x(a){for(let b of[a,p(a),g().join(a,"mcp")])i().existsSync(b)||i().mkdirSync(b,{recursive:!0})}async function y(a,b,c="utf-8"){let d=g().dirname(a);await e().mkdir(d,{recursive:!0});let f=g().join(d,`.${g().basename(a)}.sb-tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`);try{await e().writeFile(f,b,c);try{let a=await e().open(f,"r+");try{await a.sync()}finally{await a.close()}}catch{}await e().rename(f,a)}catch(a){try{await e().unlink(f)}catch{}throw a}}let z=Promise.resolve();function A(a){(0,h.mkdirSync)(g().dirname(a),{recursive:!0});let b=JSON.stringify({pid:process.pid,at:new Date().toISOString(),ts:Date.now()});try{let c=(0,h.openSync)(a,"wx");try{(0,h.writeFileSync)(c,b,"utf-8")}finally{(0,h.closeSync)(c)}return!0}catch(a){if(a?.code!=="EEXIST")throw a;return!1}}async function B(){let a,b=(a=o({scope:"global",projectPath:null}),g().join(a,".apply.lock")),c=Date.now()+3e4;for(;Date.now()<c;){if(A(b)||function(a){try{let b,c=(0,h.readFileSync)(a,"utf-8");try{b=JSON.parse(c)}catch{b={pid:parseInt(String(c).trim(),10),ts:0}}let d=Number(b.pid),e=Number(b.ts)||0,f=e>0&&Date.now()-e>3e5,g=!function(a){if(!a||!Number.isFinite(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch{return!1}}(d);if(f||g){try{(0,h.unlinkSync)(a)}catch{}return A(a)}}catch{try{(0,h.unlinkSync)(a)}catch{}return A(a)}return!1}(b))return()=>{try{if(!(0,h.existsSync)(b))return;let a=(0,h.readFileSync)(b,"utf-8");try{JSON.parse(a).pid===process.pid&&(0,h.unlinkSync)(b)}catch{String(a).trim()===String(process.pid)&&(0,h.unlinkSync)(b)}}catch{}};await new Promise(a=>setTimeout(a,50))}let d=Error("Agent Library apply/clean is already running (lock timeout). Retry shortly.");throw d.code="lock_timeout",d}function C(a){let b,c,d=new Promise((a,d)=>{b=a,c=d});return z=z.then(async()=>{let d=await B();try{let c=await a();b(c)}catch(a){c(a)}finally{d()}}).catch(()=>{}),d}function D(){let a={};for(let b of Object.keys(n))a[b]={skills:!0,mcp:!0};return{enabled:!0,scope:"global",projectPath:null,linkMode:"win32"===process.platform?"copy":"symlink",neverOverwriteUser:!0,includeProductSkills:!0,requireCatalogConfirm:!0,targets:a}}function E(a,b){let c=a||{skills:!0,mcp:!0};return b&&"object"==typeof b?{skills:"boolean"==typeof b.skills?b.skills:!1!==c.skills,mcp:"boolean"==typeof b.mcp?b.mcp:!1!==c.mcp}:{...c}}function F(a={}){let b=D(),c={};for(let a of Object.keys(n))c[a]={...b.targets[a]||{skills:!0,mcp:!0}};if(a.targets&&"object"==typeof a.targets)for(let b of Object.keys(n)){let d=a.targets[b];d&&"object"==typeof d&&(c[b]=E(c[b],d))}let d="copy"===a.linkMode||"symlink"===a.linkMode?a.linkMode:b.linkMode,e="project"===a.scope?"project":"global",f=null;return"project"===e&&a.projectPath&&(f=String(a.projectPath).trim()||null),{enabled:!1!==a.enabled,scope:e,projectPath:f,linkMode:d,neverOverwriteUser:!1!==a.neverOverwriteUser,includeProductSkills:!1!==a.includeProductSkills,requireCatalogConfirm:!1!==a.requireCatalogConfirm,targets:c}}function G(a){if(!a.enabled){let a=Error("Agent Library sync is turned off in settings");throw a.code="disabled",a}if("project"===a.scope){let b,c=a.projectPath?String(a.projectPath).trim():"";if(!c){let a=Error("Project scope requires an absolute project path — set it before Apply");throw a.code="project_path_missing",a}if(!g().isAbsolute(c)){let a=Error("Project path must be absolute (e.g. /Users/you/my-app)");throw a.code="project_path_invalid",a}let d=g().resolve(c);if(!(0,h.existsSync)(d)){let a=Error(`Project path does not exist: ${d}`);throw a.code="project_path_missing",a}try{b=(0,h.statSync)(d)}catch{let a=Error(`Cannot access project path: ${d}`);throw a.code="project_path_invalid",a}if(!b.isDirectory()){let a=Error(`Project path is not a directory: ${d}`);throw a.code="project_path_invalid",a}}}function H(a){let b=a||D();return o({scope:b.scope,projectPath:b.projectPath})}function I(){return o({scope:"global",projectPath:null})}async function J(a){let b=I();x(b);let c=r(b),d=D();if((0,h.existsSync)(c))try{let a=await e().readFile(c,"utf-8");d=F(JSON.parse(a))}catch{d=D()}return x(H(d)),d}async function K(a,b){let c=I();x(c);let d=await J(c),e={...d.targets};if(b.targets&&"object"==typeof b.targets)for(let[a,c]of Object.entries(b.targets))n[a]&&(e[a]=E(d.targets[a],c));let f=F({...d,...b,targets:e});if(!1===b.neverOverwriteUser&&!0!==b.confirmAllowOverwrite&&(f.neverOverwriteUser=!0),!0===b.confirmAllowOverwrite&&!1===b.neverOverwriteUser&&(f.neverOverwriteUser=!1),"project"===f.scope)try{G({...f,enabled:!0})}catch(a){if(a?.code!=="project_path_missing"||b.projectPath){if(a?.code!=="disabled")throw a}else f.projectPath=null}return await y(r(c),JSON.stringify(f,null,2)),x(H(f)),f}async function L(a){let b=a||H(await J());x(b);let c=s(b);if(!(0,h.existsSync)(c))return{managedSkills:{},managedMcpKeys:{},lastSync:null,lastDoctor:null};try{return JSON.parse(await e().readFile(c,"utf-8"))}catch{return{managedSkills:{},managedMcpKeys:{},lastSync:null,lastDoctor:null}}}async function M(a,b){x(a),await y(s(a),JSON.stringify(b,null,2))}var N=c(82922);let O=[{id:"switchboard",name:"Switchboard (Entry)",description:"Setup, model discovery, combos & Auto routing. Start here — one /v1 endpoint, multi-provider gateway.",endpoint:"/v1",icon:"hub",isEntry:!0},{id:"switchboard-chat",name:"Chat",description:"Chat / code-gen via OpenAI, Anthropic, or Responses formats — streaming, tools, combo as model.",endpoint:"/v1/chat/completions",icon:"chat"}];async function P(a){x(a);let b=p(a),c=[];try{c=await e().readdir(b)}catch{return[]}let d=[];for(let a of c){let c=g().join(b,a,"SKILL.md");if(!(0,h.existsSync)(c))continue;let f="",i=a;try{let a=await e().readFile(c,"utf-8"),b=a.match(/^name:\s*(.+)$/m),d=a.match(/^description:\s*(.+)$/m);b&&(i=b[1].trim().replace(/^["']|["']$/g,"")),d&&(f=d[1].trim().replace(/^["']|["']$/g,""))}catch{}let j=await e().stat(c);d.push({id:a,title:i,description:f,path:g().join(b,a),source:"library",updatedAt:j.mtime.toISOString()})}return d.sort((a,b)=>a.id.localeCompare(b.id))}async function Q(a,b={}){x(a);let c=(0,N.XP)(),d=[];if(!c)return{ok:!1,results:d,error:"Product skills directory not found"};for(let c of O){let f=t(c.id),i=g().join(p(a),f),j=g().join(i,"SKILL.md");if((0,h.existsSync)(j)&&!b.force){d.push({id:f,action:"skipped_exists"});continue}let k=await (0,N.dr)(c.id);if(!k){d.push({id:f,action:"missing_source"});continue}await e().mkdir(i,{recursive:!0}),await e().writeFile(j,k,"utf-8"),d.push({id:f,action:"installed"})}return{ok:!0,results:d}}async function R(a,b){x(a);let c=t(b.id);if(!c)throw Error("Invalid skill id");let d=g().join(p(a),c);return await e().mkdir(d,{recursive:!0}),await e().writeFile(g().join(d,"SKILL.md"),b.markdown,"utf-8"),await e().writeFile(g().join(d,".source.json"),JSON.stringify({source:b.source||"manual",installedAt:new Date().toISOString()},null,2),"utf-8"),{id:c,path:d}}async function S(a,b){let c=t(b);if(!c)throw Error("Invalid skill id");let d=g().resolve(p(a)),f=g().resolve(d,c);if(g().dirname(f)!==d)throw Error("Invalid skill path");return(0,h.existsSync)(f)?(await e().rm(f,{recursive:!0,force:!0}),{removed:!0,id:c}):{removed:!1}}function T(a){return g().join(g().dirname(a),`.sb-managed-${g().basename(a)}.json`)}async function U(a){let b=T(a);if((0,h.existsSync)(b))try{if((0,h.lstatSync)(b).isFile())return JSON.parse(await e().readFile(b,"utf-8"))}catch{}try{if(!(0,h.existsSync)(a))return null;let b=(0,h.lstatSync)(a);if(b.isSymbolicLink()||!b.isDirectory())return null;let c=g().join(a,m);if(!(0,h.existsSync)(c)||!(0,h.lstatSync)(c).isFile())return null;return JSON.parse(await e().readFile(c,"utf-8"))}catch{return null}}async function V(a,b){let c=JSON.stringify({managedBy:"switchboard",namespace:"sb",skillId:b.skillId,libraryPath:b.libraryPath,linkMode:b.linkMode,updatedAt:new Date().toISOString()},null,2),d=T(a);if(await e().mkdir(g().dirname(d),{recursive:!0}),await y(d,c),"copy"===b.linkMode)try{let b=(0,h.lstatSync)(a);b.isDirectory()&&!b.isSymbolicLink()&&await y(g().join(a,m),c)}catch{}}async function W(a){try{let b=T(a),c=(0,h.lstatSync)(b);c.isFile()&&!c.isSymbolicLink()&&await e().unlink(b)}catch{}try{let b=(0,h.lstatSync)(a);if(!b.isDirectory()||b.isSymbolicLink())return;let c=g().join(a,m),d=(0,h.lstatSync)(c);d.isFile()&&!d.isSymbolicLink()&&await e().unlink(c)}catch{}}async function X(a,b,c={}){let d=null;try{d=(0,h.lstatSync)(a)}catch{let b=await U(a);if(b?.managedBy==="switchboard")return{ok:!0,reason:"managed_sidecar_orphan",marker:b};return{ok:!0,reason:"missing"}}let e=await U(a);if(e?.managedBy==="switchboard")return{ok:!0,reason:"managed",marker:e};if(d.isSymbolicLink()&&c.libraryRoot)try{let b=(0,h.realpathSync)(a),d=g().resolve(c.libraryRoot),e=g().relative(d,b);if(e&&!e.startsWith("..")&&!g().isAbsolute(e))return{ok:!0,reason:"symlink_into_library"}}catch{return{ok:!0,reason:"broken_symlink"}}if(d.isSymbolicLink())try{(0,h.realpathSync)(a)}catch{return{ok:!0,reason:"broken_symlink"}}return b?{ok:!1,reason:"conflict_user_owned",message:"Path exists and is not Switchboard-managed. Skipping to protect your files."}:{ok:!0,reason:"overwrite_allowed",message:"User allowed overwrite of non-managed path"}}function Y(a){return"string"==typeof a&&a.startsWith("sb-")}function Z(a){let b=String(a||"").replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/\./g,"-").replace(/^-+|-+$/g,"");return b&&"."!==b&&".."!==b&&/[a-zA-Z0-9]/.test(b)?b.startsWith("sb-")?b:`sb-${b}`:null}function $(a,b){let c=g().resolve(a),d=g().resolve(b),e=g().relative(d,c);return""===e||!e.startsWith("..")&&!g().isAbsolute(e)}async function _(a){x(a);let b=q(a);if(!(0,h.existsSync)(b))return[];try{let a=JSON.parse(await e().readFile(b,"utf-8"));return Array.isArray(a.servers)?a.servers:[]}catch{return[]}}async function aa(a,b){x(a);let c=q(a);await e().mkdir(g().dirname(c),{recursive:!0}),await y(c,JSON.stringify({version:1,updatedAt:new Date().toISOString(),note:"Switchboard Agent Library MCP catalog. Prefer ${ENV_VAR} references for secrets — never store raw API keys here if avoidable.",servers:b},null,2))}async function ab(a,b){let c=Z(b.id.replace(/^sb-/,""))||b.id;if(!c)throw Error("Invalid MCP server id");let d=b.transport||(b.url?"http":"stdio");if("stdio"===d&&!b.command)throw Error("stdio MCP server requires command");if(("http"===d||"sse"===d)&&!b.url)throw Error("http/sse MCP server requires url");let e={id:c,name:b.name||c,transport:d,command:b.command||void 0,args:Array.isArray(b.args)?b.args.map(String):void 0,env:b.env&&"object"==typeof b.env?Object.fromEntries(Object.entries(b.env).map(([a,b])=>[a,String(b)])):void 0,url:b.url||void 0,headers:b.headers&&"object"==typeof b.headers?Object.fromEntries(Object.entries(b.headers).map(([a,b])=>[a,String(b)])):void 0,enabled:!1!==b.enabled,notes:b.notes||void 0},f=await _(a),g=f.findIndex(a=>a.id===c);return g>=0?f[g]=e:f.push(e),await aa(a,f),e}async function ac(a,b){let c=Z(b.replace(/^sb-/,""))||b,d=await _(a),e=d.filter(a=>a.id!==c&&a.id!==b);return await aa(a,e),{removed:e.length<d.length}}async function ad(a,b,c){for(let d of(await e().mkdir(b,{recursive:!0}),await e().readdir(a,{withFileTypes:!0}))){let f,i=g().join(a,d.name),j=g().join(b,d.name);try{f=(0,h.lstatSync)(i)}catch{continue}if(f.isSymbolicLink()){if(!c)continue;try{let a=(0,h.realpathSync)(i),b=g().relative(g().resolve(c),a);if(b.startsWith("..")||g().isAbsolute(b))continue}catch{continue}try{let a=(0,h.realpathSync)(i);(0,h.lstatSync)(a).isDirectory()?await ad(a,j,c):await e().copyFile(a,j)}catch{}continue}f.isDirectory()?await ad(i,j,c):f.isFile()&&await e().copyFile(i,j)}}async function ae(a){let b;try{b=await e().lstat(a)}catch{return}b.isSymbolicLink()||b.isFile()?await e().unlink(a):b.isDirectory()&&await e().rm(a,{recursive:!0,force:!0})}async function af(a,b,c=!0){try{await e().lstat(a)}catch{return}let d=await X(a,!1!==c,{libraryRoot:b});if(!d.ok){let a=Error(d.message||"Path is not Switchboard-managed");throw a.code="conflict",a.reason=d.reason,a}}async function ag(a,b,c,d,f={}){await e().mkdir(g().dirname(b),{recursive:!0});let h=!1!==f.neverOverwriteUser;if("symlink"===c){await af(b,d,h);try{return await ae(b),await e().symlink(a,b,"dir"),{mode:"symlink"}}catch(c){if(c?.code==="conflict")throw c;return ah(a,b,d,c?.message,h)}}return ah(a,b,d,void 0,h)}async function ah(a,b,c,d,f=!0){let g=`${b}.sb-tmp-${process.pid}-${Date.now()}`,h=`${b}.sb-bak-${process.pid}-${Date.now()}`;try{await ae(g),await ad(a,g,c),await af(b,c,f);let i=!1;try{await e().lstat(b),i=!0}catch{i=!1}if(i){await ae(h);try{await e().rename(b,h)}catch{await ae(b)}}try{await e().rename(g,b)}catch(a){if(i)try{await e().lstat(h),await e().rename(h,b)}catch{}throw a}try{await ae(h)}catch{}return d?{mode:"copy",fallbackFrom:"symlink",warning:d||"symlink failed; used copy"}:{mode:"copy"}}catch(a){try{await ae(g)}catch{}throw a}}function ai(a){return String(a)}function aj(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}function ak(a,b){let c=a.transport||(a.url?"http":"stdio");if("codex"===b)return"stdio"===c?{command:a.command,args:a.args||[],env:a.env||{}}:{url:a.url,http_headers:a.headers||{}};if("stdio"===c){let b={command:a.command,args:a.args||[]};return a.env&&Object.keys(a.env).length&&(b.env=Object.fromEntries(Object.entries(a.env).map(([a,b])=>[a,ai(b)]))),b}let d={url:a.url,type:"sse"===c?"sse":"http"};return a.headers&&Object.keys(a.headers).length&&(d.headers=Object.fromEntries(Object.entries(a.headers).map(([a,b])=>[a,ai(b)]))),d}async function al(a,b,c){let d=c.kind,f=new Set(c.previouslyManaged||[]),i={};if((0,h.existsSync)(a))try{i=JSON.parse(await e().readFile(a,"utf-8"))}catch{if(c.neverOverwriteUser)return{ok:!1,error:"mcp_parse_failed",message:`Cannot parse ${a}; refusing to overwrite`,path:a};i={}}let j="mcpServers";if("opencode"===d&&(j="mcp"),Object.prototype.hasOwnProperty.call(i,j)&&!aj(i[j])&&c.neverOverwriteUser)return{ok:!1,error:"mcp_shape_conflict",message:`${a}: "${j}" exists but is not a plain object; refusing to overwrite`,path:a};let k=aj(i[j])?{...i[j]}:{},l=b.filter(a=>!1!==a.enabled),m=new Set(l.map(a=>a.id)),n=[];for(let a of Object.keys(k))f.has(a)&&Y(a)&&!m.has(a)&&(delete k[a],n.push(a));let o=[],p=[];for(let a of l){let b=a.id;if(!Y(b)){p.push({key:b,reason:"not_namespaced"});continue}let e=ak(a,"cursor"===d?"cursor":"gemini"===d?"gemini":"opencode"===d?"opencode":"claude"),g=Object.prototype.hasOwnProperty.call(k,b),h=f.has(b);if(g&&!h&&c.neverOverwriteUser){p.push({key:b,reason:"user_owned_or_unknown_sb_key"});continue}"opencode"===d&&e.command?k[b]={type:"local",command:[e.command,...e.args||[]],enabled:!0,environment:e.env}:"gemini"===d&&e.url?k[b]={...e,trust:!0}:k[b]=e,o.push(b)}let q={...i,[j]:k};return c.dryRun||(await e().mkdir(g().dirname(a),{recursive:!0}),await y(a,JSON.stringify(q,null,2))),{ok:!0,path:a,written:o,removed:n,skipped:p,dryRun:!!c.dryRun}}async function am(a,b,c){let d="";(0,h.existsSync)(a)&&(d=await e().readFile(a,"utf-8"));let f=d.replace(/\n?# --- switchboard-agent-library-mcp-start ---[\s\S]*?# --- switchboard-agent-library-mcp-end ---\n?/g,"\n"),i=b.filter(a=>!1!==a.enabled&&Y(a.id));if(!i.length)return!c.dryRun&&(0,h.existsSync)(a)&&await y(a,f.trimEnd()+"\n"),{ok:!0,path:a,written:[],removed:c.previouslyManaged||[],dryRun:!!c.dryRun};let j=new Set(c.previouslyManaged||[]),k=[],l=[];for(let a of i){let b=RegExp(`\\[mcp_servers\\.${an(a.id)}\\]`,"m").test(f);if(b&&!j.has(a.id)&&c.neverOverwriteUser){k.push({key:a.id,reason:"user_owned_toml_section"});continue}b&&j.has(a.id)&&(f=f.replace(RegExp(`\\n?\\[mcp_servers\\.${an(a.id)}\\][\\s\\S]*?(?=\\n\\[|\\n*$)`,"g"),"\n")),l.push(a)}let m=["","# --- switchboard-agent-library-mcp-start ---","# Managed by Switchboard Agent Library. Do not edit this block by hand."];for(let a of l){var n,o,p;let b=ak(a,"codex"),c=(n=a.id,/^[A-Za-z_][A-Za-z0-9_-]*$/.test(n)&&!n.includes(".")?n:ao(n));if(m.push(`[mcp_servers.${c}]`),b.command){if(m.push(`command = ${ao(b.command)}`),b.args?.length&&m.push(`args = ${(o=b.args,`[${o.map(a=>ao(a)).join(", ")}]`)}`),b.env&&Object.keys(b.env).length)for(let[a,d]of(m.push(`[mcp_servers.${c}.env]`),Object.entries(b.env)))m.push(`${a} = ${ao(ai(d))}`)}else if(b.url&&(m.push(`url = ${ao(b.url)}`),b.http_headers&&Object.keys(b.http_headers).length))for(let[a,d]of(m.push(`[mcp_servers.${c}.http_headers]`),Object.entries(b.http_headers))){m.push(`${(p=a,/^[A-Za-z_][A-Za-z0-9_]*$/.test(p)?p:ao(p))} = ${ao(ai(d))}`)}m.push("")}m.push("# --- switchboard-agent-library-mcp-end ---","");let q=(f.trimEnd()+"\n"+m.join("\n")).replace(/\n{3,}/g,"\n\n");return c.dryRun||(await e().mkdir(g().dirname(a),{recursive:!0}),await y(a,q)),{ok:!0,path:a,written:l.map(a=>a.id),removed:[],skipped:k,dryRun:!!c.dryRun}}function an(a){return String(a).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ao(a){return JSON.stringify(String(a))}async function ap(a,b){let c=await X(a,!0,{libraryRoot:b});return c.ok?(await ae(a),await W(a),{ok:!0,reason:c.reason}):c}async function aq(a,b={}){if(b.dryRun)return ar(a,b);try{return await C(()=>ar(a,b))}catch(a){if(a?.code==="lock_timeout")return{ok:!1,error:"lock_timeout",message:a.message};throw a}}async function ar(a,b={}){let c=a||D();try{G(c)}catch(a){return{ok:!1,error:a?.code||"settings_invalid",message:a?.message||"Invalid settings"}}let d=H(c);x(d),c.includeProductSkills&&await Q(d);let f=await P(d),i=await _(d),j=await L(d),k={scope:c.scope,projectPath:c.projectPath},l=[],m=[],o=!b.mcpOnly,q=!b.skillsOnly;if(o)for(let[a,i]of Object.entries(n)){if(!i.supportsSkills)continue;if(c.targets[a]?.skills===!1){l.push({agent:a,action:"skipped_disabled"});continue}let m=v(a,k);if(!m)continue;for(let i of(b.dryRun||await e().mkdir(m,{recursive:!0}),f)){let e=u(i.id);if(!e)continue;let f=g().join(m,e),k=function(a,b){let c=t(b);return g().join(p(a),c)}(d,i.id);if(!(0,h.existsSync)(g().join(k,"SKILL.md"))){l.push({agent:a,skillId:i.id,action:"missing_source"});continue}let n=await X(f,c.neverOverwriteUser,{libraryRoot:d});if(!n.ok){l.push({agent:a,skillId:i.id,dest:f,action:"conflict",reason:n.reason,message:n.message});continue}if(b.dryRun){l.push({agent:a,skillId:i.id,dest:f,action:"would_sync",linkMode:c.linkMode});continue}try{let b=await ag(k,f,c.linkMode,d,{neverOverwriteUser:c.neverOverwriteUser});await V(f,{skillId:i.id,libraryPath:k,linkMode:b.mode}),l.push({agent:a,skillId:i.id,dest:f,action:"synced",...b}),j.managedSkills||(j.managedSkills={}),j.managedSkills[a]||(j.managedSkills[a]=[]),j.managedSkills[a].includes(e)||j.managedSkills[a].push(e)}catch(b){b?.code==="conflict"?l.push({agent:a,skillId:i.id,dest:f,action:"conflict",reason:b.reason||"conflict",message:b.message}):l.push({agent:a,skillId:i.id,dest:f,action:"error",error:b?.message||String(b)})}}let n=[...j.managedSkills?.[a]||[]],o=new Set(f.map(a=>u(a.id))),q=[];for(let c of n){if(o.has(c)){q.push(c);continue}let e=g().join(m,c);if(b.dryRun){if(!(await X(e,!0,{libraryRoot:d})).ok){q.push(c);continue}l.push({agent:a,skillId:c,dest:e,action:"would_remove"});continue}if(!(await ap(e,d)).ok){q.push(c);continue}l.push({agent:a,skillId:c,dest:e,action:"removed_stale"})}j.managedSkills&&(j.managedSkills[a]=q)}if(q)for(let[a,d]of Object.entries(n)){if(!d.supportsMcp)continue;if(c.targets[a]?.mcp===!1){m.push({agent:a,action:"skipped_disabled"});continue}let e=w(a,k);if(!e)continue;let f=j.managedMcpKeys?.[a]||[];try{let d;d="toml"===e.format?await am(e.path,i,{neverOverwriteUser:c.neverOverwriteUser,dryRun:b.dryRun,previouslyManaged:f}):await al(e.path,i,{kind:e.kind,neverOverwriteUser:c.neverOverwriteUser,dryRun:b.dryRun,previouslyManaged:f}),m.push({agent:a,...d}),d.ok&&!b.dryRun&&(j.managedMcpKeys||(j.managedMcpKeys={}),j.managedMcpKeys[a]=[...d.written||[]])}catch(b){m.push({agent:a,ok:!1,error:b?.message||String(b),path:e.path})}}b.dryRun||(j.lastSync={at:new Date().toISOString(),skillCount:f.length,mcpCount:i.length,linkMode:c.linkMode,scope:c.scope},await M(d,j));let r=l.filter(a=>"conflict"===a.action);return{ok:!0,dryRun:!!b.dryRun,libraryRoot:d,settings:{linkMode:c.linkMode,scope:c.scope,neverOverwriteUser:c.neverOverwriteUser},skills:l,mcp:m,conflictCount:r.length,summary:{skillsSynced:l.filter(a=>"synced"===a.action||"would_sync"===a.action).length,skillsConflicts:r.length,mcpOk:m.filter(a=>a.ok).length,mcpFailed:m.filter(a=>!1===a.ok).length}}}async function as(a){try{return await C(()=>at(a))}catch(a){if(a?.code==="lock_timeout")return{ok:!1,error:"lock_timeout",message:a.message};throw a}}async function at(a){let b=a||await J();try{G({...b,enabled:!0})}catch(a){if(a?.code==="project_path_missing"||a?.code==="project_path_invalid")return{ok:!1,error:a.code,message:a.message}}let c=H(b),d=await L(c),e={scope:b.scope,projectPath:b.projectPath},f=[];for(let[a,h]of Object.entries(n)){if(h.supportsSkills&&b.targets[a]?.skills!==!1){let b=v(a,e),h=d.managedSkills?.[a]||[];if(b){for(let d of h){let e=g().join(b,d),h=await ap(e,c);h.ok?f.push({agent:a,type:"skill",dest:e,action:"removed"}):f.push({agent:a,type:"skill",dest:e,action:"skipped_conflict",reason:h.reason,message:h.message})}d.managedSkills&&(d.managedSkills[a]=[])}}if(h.supportsMcp&&b.targets[a]?.mcp!==!1){let b=w(a,e),c=d.managedMcpKeys?.[a]||[];b&&("toml"===b.format?await am(b.path,[],{neverOverwriteUser:!0,previouslyManaged:c}):await al(b.path,[],{kind:b.kind,neverOverwriteUser:!0,previouslyManaged:c}),f.push({agent:a,type:"mcp",path:b.path,action:"cleared_managed"})),d.managedMcpKeys&&(d.managedMcpKeys[a]=[])}}return d.lastSync={at:new Date().toISOString(),cleaned:!0},await M(c,d),{ok:!0,results:f}}async function au(a){let b=a||D(),c=H(b);x(c);let d=await P(c),e=await _(c),f={scope:b.scope,projectPath:b.projectPath},i=[],j=[];for(let[a,k]of(j.push({id:"library",ok:!0,message:`Library at ${c} (${d.length} skills, ${e.length} MCP servers)`}),"project"!==b.scope||b.projectPath||i.push({severity:"error",code:"project_path_missing",message:"Project scope selected but no project path set"}),Object.entries(n))){if(b.targets[a]?.skills!==!1&&k.supportsSkills){let b=v(a,f);for(let e of d){let d=u(e.id);if(!b)continue;let f=g().join(b,d),l=function(a){try{let b;try{b=(0,h.lstatSync)(a)}catch{return{exists:!1}}if(b.isSymbolicLink()){let b=null,c=!1;try{b=(0,h.readlinkSync)(a);try{(0,h.realpathSync)(a)}catch{c=!0}}catch{c=!0}return{exists:!0,type:"symlink",target:b,broken:c}}if(b.isDirectory())return{exists:!0,type:"directory"};return{exists:!0,type:"other"}}catch(a){return{exists:!1,error:a?.message}}}(f);l.exists?l.broken?i.push({severity:"error",code:"skill_broken_symlink",agent:a,skillId:e.id,path:f,message:`${k.label}: ${d} is a broken symlink — re-Apply`}):(await X(f,!0,{libraryRoot:c})).ok?j.push({id:`skill:${a}:${e.id}`,ok:!0,message:`${k.label} ← ${d} (${l.type})`}):i.push({severity:"error",code:"skill_conflict",agent:a,skillId:e.id,path:f,message:`${k.label}: ${d} exists but is not Switchboard-managed`}):i.push({severity:"warn",code:"skill_not_synced",agent:a,skillId:e.id,message:`${k.label}: ${d} not present — run Apply`})}}if(b.targets[a]?.mcp!==!1&&k.supportsMcp){let b=w(a,f);if(b){let c=(0,h.existsSync)(b.path);j.push({id:`mcp-file:${a}`,ok:!0,message:`${k.label} MCP config ${c?"found":"will be created"}: ${b.path}`})}}}for(let a of e)if(a.env)for(let[b,c]of Object.entries(a.env))"string"==typeof c&&c.length>12&&!c.includes("${")&&/^(sk-|ghp_|xox|AKIA|key-)/i.test(c)&&i.push({severity:"warn",code:"possible_secret_in_library",mcpId:a.id,envKey:b,message:`MCP ${a.id} env.${b} looks like a raw secret — prefer \${ENV_VAR} references`});let k={ok:0===i.filter(a=>"error"===a.severity).length,at:new Date().toISOString(),libraryRoot:c,linkMode:b.linkMode,platform:process.platform,checks:j,issues:i};try{await C(async()=>{let a=await L(c);a.lastDoctor=k,await M(c,a)})}catch(a){if(a?.code!=="lock_timeout")throw a;k.statePersistSkipped=!0}return k}var av=c(71553),aw=c.n(av),ax=c(77030),ay=c.n(ax);let az=[{id:"anthropic-frontend-design",name:"frontend-design (Anthropic)",description:"Production UI aesthetics — anti AI-slop",skillId:"frontend-design",rawUrl:"https://raw.githubusercontent.com/anthropics/skills/main/skills/frontend-design/SKILL.md",trusted:!0},{id:"anthropic-skill-creator",name:"skill-creator (Anthropic)",description:"Meta-skill to author new Agent Skills",skillId:"skill-creator",rawUrl:"https://raw.githubusercontent.com/anthropics/skills/main/skills/skill-creator/SKILL.md",trusted:!0},{id:"anthropic-webapp-testing",name:"webapp-testing (Anthropic)",description:"Playwright testing for local web apps",skillId:"webapp-testing",rawUrl:"https://raw.githubusercontent.com/anthropics/skills/main/skills/webapp-testing/SKILL.md",trusted:!0}],aA=["githubusercontent.com","github.com","raw.githubusercontent.com","gitlab.com","bitbucket.org","jsdelivr.net","cdn.jsdelivr.net"];async function aB(a){let b;try{b=new URL(a)}catch{return{ok:!1,error:"invalid_url",message:"Invalid URL"}}if("https:"!==b.protocol)return{ok:!1,error:"https_required",message:"Catalog URLs must use https://"};if(b.username||b.password)return{ok:!1,error:"credentials_forbidden",message:"URLs with embedded credentials are not allowed"};let c=b.hostname.toLowerCase();if("localhost"===c||c.endsWith(".local")||c.endsWith(".internal"))return{ok:!1,error:"private_host",message:"Local/private hosts are not allowed"};if(!aA.some(a=>c===a||c.endsWith(`.${a}`)))return{ok:!1,error:"host_not_allowlisted",message:`Host not allowlisted. Allowed: ${aA.join(", ")}`};try{for(let a of(await aw().lookup(c,{all:!0})))if(function(a){if(ay().isIPv4(a)){let b=a.split(".").map(Number);return 10===b[0]||127===b[0]||0===b[0]||169===b[0]&&254===b[1]||172===b[0]&&!!(b[1]>=16)&&!!(b[1]<=31)||192===b[0]&&168===b[1]}if(ay().isIPv6(a)){let b=a.toLowerCase();return!!("::1"===b||b.startsWith("fc")||b.startsWith("fd")||b.startsWith("fe80"))}return!0}(a.address))return{ok:!1,error:"private_ip",message:`Host resolves to private IP (${a.address})`}}catch(a){return{ok:!1,error:"dns_failed",message:a?.message||"DNS lookup failed"}}return{ok:!0,url:b}}async function aC(a,b){let c;if(b.requireConfirm&&!b.confirmed)return{ok:!1,error:"confirmation_required",message:"Catalog installs require explicit confirmation. Remote content can instruct agents to run shell commands — review the markdown first."};let d=t(b.skillId);if(!d)return{ok:!1,error:"invalid_id",message:"Invalid skill id"};let e=await aB(b.url);if(!e.ok)return e;try{c=await fetch(e.url.toString(),{headers:{Accept:"text/plain, text/markdown, */*"},signal:AbortSignal.timeout(3e4),redirect:"error"})}catch(a){return{ok:!1,error:"fetch_failed",message:a?.message||"Failed to fetch skill"}}if(!c.ok)return{ok:!1,error:"http_error",message:`HTTP ${c.status} fetching skill`};let f=await c.text();return!f||f.length<20?{ok:!1,error:"empty",message:"Remote skill content empty"}:/^---[\s\S]*?name:\s*/m.test(f)||/^#\s+/m.test(f)?/<html[\s>]/i.test(f)&&!f.includes("name:")?{ok:!1,error:"not_markdown",message:"URL returned HTML, not a skill markdown file"}:{ok:!0,...await R(a,{id:d,markdown:f,source:`url:${b.url}`}),warning:"Skill markdown stored in the library only. It is not active on agents until you click Apply Sync. Review SKILL.md for any shell/network instructions before enabling."}:{ok:!1,error:"invalid_skill",message:"Content does not look like a SKILL.md"}}async function aD(a){let b=await aB(a);if(!b.ok)return b;try{let a=await fetch(b.url.toString(),{headers:{Accept:"text/plain, text/markdown, */*"},signal:AbortSignal.timeout(3e4),redirect:"error"});if(!a.ok)return{ok:!1,error:`HTTP ${a.status}`};let c=await a.text();return{ok:!0,preview:c.slice(0,4e3),truncated:c.length>4e3,bytes:c.length}}catch(a){return{ok:!1,error:a?.message||"fetch failed"}}}async function aE(a,b){let c=g().resolve(b),d=g().join(c,"skills");await e().mkdir(d,{recursive:!0});let f=await P(a);for(let b of(await e().writeFile(g().join(c,".switchboard-export.json"),JSON.stringify({managedBy:"switchboard",at:new Date().toISOString()},null,2),"utf-8"),f)){let c=g().join(p(a),b.id),f=b.id.startsWith("sb-")?b.id:`sb-${b.id}`,i=g().join(d,f);if((0,h.existsSync)(i)){let a=g().join(i,".switchboard-managed.json");if(!(0,h.existsSync)(a))continue;await e().rm(i,{recursive:!0,force:!0})}await ad(c,i,a),await e().writeFile(g().join(i,".switchboard-managed.json"),JSON.stringify({managedBy:"switchboard",skillId:b.id},null,2),"utf-8")}let i=await _(a),j=["# Generated by Switchboard Agent Library — import-friendly AgentSync layout","# Run: agentsync apply (optional; Switchboard can also Apply directly)","",'source_dir = "."','default_agents = ["claude", "codex", "gemini", "cursor", "opencode"]',"","[gitignore]","enabled = true",'marker = "Switchboard / AI Agent Symlinks"',"","[mcp]","enabled = true",'merge_strategy = "merge"',""];for(let a of i.filter(a=>!1!==a.enabled)){let b=a.id.replace(/^sb-/,"");j.push(`[mcp_servers.${b}]`),a.command&&(j.push(`command = ${JSON.stringify(a.command)}`),a.args?.length&&j.push(`args = [${a.args.map(a=>JSON.stringify(a)).join(", ")}]`)),a.url&&j.push(`url = ${JSON.stringify(a.url)}`),j.push("")}return await e().writeFile(g().join(c,"agentsync.toml"),j.join("\n"),"utf-8"),await e().writeFile(g().join(c,"mcp.switchboard.json"),JSON.stringify({servers:i},null,2),"utf-8"),await e().writeFile(g().join(c,"README.switchboard.md"),`# Switchboard Agent Library export
|
|
2
|
-
|
|
3
|
-
Exported from Switchboard Agent Library.
|
|
4
|
-
|
|
5
|
-
## Contents
|
|
6
|
-
- \`skills/\` — Agent Skills (SKILL.md packages)
|
|
7
|
-
- \`agentsync.toml\` — MCP + skeleton for [dallay/agentsync](https://github.com/dallay/agentsync)
|
|
8
|
-
- \`mcp.switchboard.json\` — canonical MCP list
|
|
9
|
-
|
|
10
|
-
## Coexistence
|
|
11
|
-
Switchboard manages agent targets with the **\`sb-\`** namespace (skills dirs and MCP keys).
|
|
12
|
-
AgentSync/skillbook can manage other paths. Prefer not to point both tools at the same
|
|
13
|
-
un-namespaced skill folder.
|
|
14
|
-
|
|
15
|
-
## Apply without AgentSync
|
|
16
|
-
Use **Dashboard → Agent library → Apply sync** instead.
|
|
17
|
-
`,"utf-8"),{ok:!0,path:c,skills:f.map(a=>a.id),mcpCount:i.length}}async function aF(a){let b=a||await J(),c=H(b);x(c),b.includeProductSkills&&await Q(c);let[d,e,f]=await Promise.all([P(c),_(c),L(c)]);return{settings:b,libraryRoot:c,skills:d,mcpServers:e,state:f,agents:n}}},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>n});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="switchboard",k="9router";function l(a){try{if(!e().existsSync(a))return!1;if(e().existsSync(g().join(a,"db","data.sqlite"))||e().existsSync(g().join(a,"db.json")))return!0;let b=g().join(a,"db");if(e().existsSync(b)&&e().readdirSync(b).some(a=>a.endsWith(".sqlite")||"data.sqlite"===a))return!0;return!1}catch{return!1}}function m(){if("win32"===process.platform){let a=process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),b=g().join(a,j),c=g().join(a,k);return l(b)?b:l(c)?(console.warn(`[DATA_DIR] Using legacy path ${c} (rename to ${b} or set DATA_DIR to migrate)`),c):b}let a=g().join(i().homedir(),`.${j}`),b=g().join(i().homedir(),`.${k}`);return l(a)?a:l(b)?(console.warn(`[DATA_DIR] Using legacy path ${b} (copy/rename to ${a} or set DATA_DIR to migrate)`),b):a}let n=function(){let a=process.env.DATA_DIR;if(!a)return m();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),m();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}`),m();throw b}}()},78335:()=>{},82922:(a,b,c)=>{"use strict";c.d(b,{Ik:()=>l,XP:()=>j,dr:()=>k});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(29021);let i=/^[a-z0-9][a-z0-9_-]*$/i;function j(){for(let a of[g().join(process.cwd(),"skills"),g().join(process.cwd(),"..","skills"),g().join(process.cwd(),"..","..","skills")])if((0,h.existsSync)(a))return a;return null}async function k(a){let b=function(a){if(!a||"string"!=typeof a||!i.test(a))return null;let b=j();if(!b)return null;let c=g().join(b,a,"SKILL.md"),d=g().resolve(c);return d.startsWith(g().resolve(b)+g().sep)?d:null}(a);if(!b)return null;try{return await e().readFile(b,"utf-8")}catch(a){if(a&&"ENOENT"===a.code)return null;throw a}}function l(a,b){let c=String(b||"").replace(/\/+$/,"");return c?String(a).replace(/(?:https?:\/\/[^\s)"']+\/)?skills\/([a-z0-9][a-z0-9_-]*)\/SKILL\.md/gi,`${c}/api/skills/$1`):a}},96487:()=>{}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2117,exports.ids=[2117],exports.modules={15705:(a,b,c)=>{c.d(b,{BI:()=>g,g1:()=>e,qK:()=>f});var d=c(58920);function e(a){if(!a)return 4;let[b,...c]=a.split("/"),e=c.join("/")||b,f=(0,d.getPricingForModel)(b,e);if(!f||"number"!=typeof f.input)return 4;let g="number"==typeof f.output?f.output:3*f.input,h=f.input+g;return h<2?0:h<10?1:h<30?2:h<80?3:4}function f(a,b="balanced",c=null){if(!a||"object"!=typeof a)return null;let d=Object.entries(a).map(([a,b])=>({id:a,...b}));if(Array.isArray(c)&&c.length){let a=new Set(c);d=d.filter(b=>a.has(b.id))}if(!d.length)return null;let g=function(a,b="balanced"){let c=(a||[]).map(a=>({...a,avgScore:Number(a.avgScore)||0,attempts:Number(a.attempts)||0,p50:Number(a.p50LatencyMs)||Number(a.avgLatencyMs)||1/0,tier:e(a.id)}));if(!c.length)return c;let d=b||"balanced";if("latency"===d)return c.sort((a,b)=>a.p50!==b.p50?a.p50-b.p50:b.avgScore-a.avgScore);if("quality"===d)return c.sort((a,b)=>b.avgScore!==a.avgScore?b.avgScore-a.avgScore:a.tier-b.tier);if("economy"===d){let a=Math.max(...c.map(a=>a.avgScore));return a>0?c.sort((b,c)=>{let d=b.avgScore>=.9*a,e=c.avgScore>=.9*a;return d&&e?b.tier!==c.tier?b.tier-c.tier:c.avgScore-b.avgScore:d!==e?d?-1:1:c.avgScore!==b.avgScore?c.avgScore-b.avgScore:b.tier-c.tier}):c.sort((a,b)=>a.tier!==b.tier?a.tier-b.tier:b.avgScore-a.avgScore)}return c.sort((a,b)=>{let c=a.avgScore-.001*a.tier,d=b.avgScore-.001*b.tier;return d!==c?d-c:a.tier-b.tier})}(d,b);return g[0]?.id||null}function g(a="balanced"){switch(a){case"quality":return"Objective: quality — prefer highest historical win-rate and stronger reasoning models; cost is secondary.";case"economy":return"Objective: economy — when models are within ~10% quality, prefer lower price/1M tier (cheaper workers).";case"latency":return"Objective: latency — prefer lowest avg/p50 latency workers when quality is acceptable.";default:return"Objective: balanced — maximize quality with a light preference for lower cost when scores are close."}}},52117:(a,b,c)=>{c.d(b,{P3:()=>f});var d=c(89805),e=c(15705);async function f(a,b={}){let c=b.minEvents??50,e=b.windowDays??14,j=b.source||"manual",k=b.maxFewShots??5,l=b.objective||"balanced",m=b.log,n=Array.isArray(b.pool)&&b.pool.length?new Set(b.pool.filter(Boolean)):null,o=new Date(Date.now()-864e5*e).toISOString(),p=await (0,d.f8)(a,o);if(p<c&&!b.force)return{ok:!1,promoted:!1,reason:"insufficient_events",message:`Need ${c-p} more requests before first learn (min ${c})`,eventCount:p,minEvents:c};let q=await (0,d.GU)(a,e),r=n?(q||[]).filter(a=>n.has(a.pickedWorker)):q,s=(await (0,d.Kx)(a,{days:e,limit:2e3,terminalOnly:!1})||[]).filter(a=>!n||n.has(a.pickedWorker)),t=(s||[]).filter(a=>(a.meta?.terminal===!0||a.meta?.terminal==null)&&!a.meta?.skippedRouter),u=g(s);if(0===Object.keys(u).length&&(u=function(a){let b={};for(let c of a||[]){let a=c.cluster||"general",d=c.pickedWorker;if(!d)continue;b[a]||(b[a]={});let e=Number(c.n)||0,f=Number(c.avgScore)||0,g=null!=c.wins&&Number.isFinite(Number(c.wins))?Number(c.wins):Math.round(f/100*e);g=Math.max(0,Math.min(e,g));let h=Number(c.avgLatencyMs)||0,i=null!=c.p50LatencyMs&&Number.isFinite(Number(c.p50LatencyMs))?Number(c.p50LatencyMs):h;b[a][d]={wins:g,attempts:e,avgScore:f,avgLatencyMs:h,p50LatencyMs:i}}return b}(r)),0===Object.keys(u).length)return{ok:!1,promoted:!1,reason:"empty_bandit",message:"No cluster\xd7worker stats in the learning window — refusing to promote an empty version",eventCount:p,minEvents:c};let v=function(a){let b=[];for(let[c,d]of Object.entries(a||{})){let a=Object.entries(d).map(([a,b])=>({id:a,...b})).filter(a=>a.attempts>=10).sort((a,b)=>b.avgScore-a.avgScore);if(!a.length)continue;let e=a[0],f=e.attempts?e.wins/e.attempts:0;if(a.length>=2){let d=a[1];e.avgScore-d.avgScore>15&&b.push(`For cluster "${c}", prefer ${e.id} (win rate ${Math.round(100*f)}%, n=${e.attempts})`)}else f>=.55&&b.push(`For cluster "${c}", prefer ${e.id} (win rate ${Math.round(100*f)}%, n=${e.attempts})`);if(a.length>=2){let d=a[a.length-1];d.id!==e.id&&e.avgScore-d.avgScore>15&&b.push(`Avoid ${d.id} for "${c}" when ${e.id} is available`)}}return b.slice(0,10)}(u),w=function(a){let b=[];for(let[c,d]of Object.entries(a||{})){let a=Object.entries(d).map(([a,b])=>({id:a,...b})).filter(a=>a.attempts>=10).sort((a,b)=>b.avgScore-a.avgScore);if(a.length<2)continue;let e=a[0],f=a[1];e.avgScore-f.avgScore<=15&&b.push(`no rule: "${c}" top two within 15 pts (${h(e.id)}=${Math.round(e.avgScore)} n=${e.attempts}, ${h(f.id)}=${Math.round(f.avgScore)} n=${f.attempts})`)}return b}(u),x=function(a,b=5){let c=Math.max(1,Math.min(20,Number(b)||5)),d=(a||[]).filter(a=>null!=a.outcomeScore&&a.outcomeScore>=85&&a.pickedWorker&&!a.meta?.skippedRouter),e=new Map;for(let a of d){let b=a.cluster||"general";e.has(b)||e.set(b,[]),e.get(b).push(a)}let f=[],g=new Set,h=[...e.keys()],i=!0;for(;f.length<c&&i;)for(let a of(i=!1,h)){if(f.length>=c)break;let b=e.get(a)||[];for(b.sort((a,b)=>(b.outcomeScore||0)-(a.outcomeScore||0));b.length;){let a=b.shift(),c=a.requestFingerprint||`${a.cluster}|${a.pickedWorker}|${a.routerReason||""}`;if(!g.has(c)){g.add(c),f.push(function(a){let b="string"==typeof a.meta?.userSummary&&a.meta.userSummary||"string"==typeof a.meta?.intentSummary&&a.meta.intentSummary||"",c=b?b.replace(/\s+/g," ").trim().slice(0,120):(a.routerReason||`${a.cluster} → ${a.pickedWorker}`).slice(0,120);return{fingerprint:a.requestFingerprint,cluster:a.cluster,worker:a.pickedWorker,score:a.outcomeScore,summary:c}}(a)),i=!0;break}}}return f}(t,k),y=(t||[]).filter(a=>a.cluster&&a.pickedWorker&&null!=a.outcomeScore&&!a.meta?.skippedRouter).slice().sort((a,b)=>String(a.timestamp||"").localeCompare(String(b.timestamp||""))),z=y,A=y;if(y.length>=5){let a=Math.max(1,Math.floor(.3*y.length));z=y.slice(0,y.length-a),A=y.slice(y.length-a)}let B=z.length>0?z[z.length-1].timestamp:null,C=g(B?(s||[]).filter(a=>a.timestamp&&String(a.timestamp)<=String(B)&&!a.meta?.skippedRouter):s||[]);0===Object.keys(C).length&&(C=g(z));let D=i(Object.keys(C).length>0?C:u,A,l),E=await (0,d.p3)(a),F=E?.banditTable&&Object.keys(E.banditTable).length?i(E.banditTable,A,l):null,G=!0,H=`events=${p}; clusters=${Object.keys(u).length}; objective=${l}; holdout=${A.length}`;w.length&&(H+=`; ${w.slice(0,3).join("; ")}`),null!=F?D<F+2?(G=!1,H+=`; no promote (eval ${D.toFixed(1)} < old ${F.toFixed(1)} + 2)`,b.force&&(H+=" (force skipped min-events only)")):H+=`; eval ${D.toFixed(1)} (old ${F.toFixed(1)}, +${(D-F).toFixed(1)})`:H+=`; eval ${D.toFixed(1)} (first)`;let I=await (0,d.Hr)({comboName:a,source:j,banditTable:u,learnedRules:v,fewShots:x,evalScore:D,notes:H,promote:G,prevVersionId:E?.id||null}),J=G?`Promoted v${I.version}`:`Created v${I.version} but did not promote (no improvement)`;return m?.info?.("ROUTING_LEARN",E?`v${E.version}→v${I.version} eval ${F?.toFixed?.(1)??"—"}→${D.toFixed(1)} ${G?"promoted":"draft"}`:`v${I.version} eval ${D.toFixed(1)} ${G?"promoted":"draft"} (first)`),{ok:!0,promoted:G,version:I.version,evalScore:D,prevEvalScore:F,eventCount:p,message:J,id:I.id}}function g(a){let b={};for(let c of a||[]){if(c.meta?.skippedRouter)continue;let a=c.cluster||"general",d=c.pickedWorker;if(!d||null==c.outcomeScore)continue;b[a]||(b[a]={}),b[a][d]||(b[a][d]={scores:[],wins:0,lats:[]});let e=b[a][d],f=Number(c.outcomeScore)||0;e.scores.push(f),f>=60&&(e.wins+=1),null!=c.workerLatencyMs&&Number.isFinite(Number(c.workerLatencyMs))&&e.lats.push(Number(c.workerLatencyMs))}let c={};for(let[a,d]of Object.entries(b))for(let[b,e]of(c[a]={},Object.entries(d))){let d=e.scores.length,f=d?e.scores.reduce((a,b)=>a+b,0)/d:0,g=e.lats.length?e.lats.reduce((a,b)=>a+b,0)/e.lats.length:0,h=function(a){if(!a?.length)return null;let b=a.slice().sort((a,b)=>a-b),c=Math.floor(b.length/2);!0;return b.length%2==0?(b[c-1]+b[c])/2:b[c]}(e.lats);c[a][b]={wins:Math.max(0,Math.min(d,e.wins)),attempts:d,avgScore:f,avgLatencyMs:g,p50LatencyMs:null!=h?h:g}}return c}function h(a){if(!a)return"?";let b=String(a).split("/");return b[b.length-1]||a}function i(a,b,c="balanced"){let d=(b||[]).filter(a=>a.cluster&&a.pickedWorker&&null!=a.outcomeScore&&!a.meta?.skippedRouter&&a.meta?.terminal!==!1);if(!d.length)return j(a);let f=0,g=0;for(let b of d){let d=a[b.cluster||"general"];if(!d||!Object.keys(d).length){f+=Number(b.outcomeScore)||0,g+=1;continue}let h=(0,e.qK)(d,c);if(!h){f+=Number(b.outcomeScore)||0,g+=1;continue}if(h===b.pickedWorker)f+=Number(b.outcomeScore)||0;else{let a=d[h];f+=a?.avgScore!=null?Number(a.avgScore):Math.max(0,(Number(b.outcomeScore)||0)-15)}g+=1}return g?f/g:j(a)}function j(a){let b=0,c=0;for(let d of Object.values(a||{}))for(let a of Object.values(d)){let d=Number(a.attempts)||0,e=Number(a.avgScore)||0;b+=d,c+=e*d}return b?c/b:50}}};
|