switchboard-router 0.5.21 → 0.6.0
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 -8
- 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 +86 -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 +3 -3
- 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/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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/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 +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/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 -8
- 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/1814.js +2 -2
- 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/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/chunks/1321-a44fdd7adfc172fb.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-3eb83b61eb3cbc9f.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-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-1d242eb898fee31e.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-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1d242eb898fee31e.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1d242eb898fee31e.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/.next-cli-build/static/sBwyl4vbyME9SYpTbTHkn/_buildManifest.js +1 -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/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 → sBwyl4vbyME9SYpTbTHkn}/_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
package/cli.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const { spawn,
|
|
3
|
+
const { spawn, execSync } = require("child_process");
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const fs = require("fs");
|
|
6
6
|
const https = require("https");
|
|
7
7
|
const os = require("os");
|
|
8
|
+
const { openBrowser: openBrowserWithoutShell } = require("./src/shared/openBrowser");
|
|
8
9
|
|
|
9
10
|
// Native spinner - no external dependency
|
|
10
11
|
function createSpinner(text) {
|
|
@@ -45,8 +46,15 @@ function createSpinner(text) {
|
|
|
45
46
|
const pkg = require("./package.json");
|
|
46
47
|
const { ensureSqliteRuntime, buildEnvWithRuntime } = require("./hooks/sqliteRuntime");
|
|
47
48
|
const { ensureTrayRuntime } = require("./hooks/trayRuntime");
|
|
49
|
+
const { pinDataDir, getDataDir } = require("./src/shared/dataDir");
|
|
50
|
+
const { disableMitm } = require("./src/shared/disableMitm");
|
|
48
51
|
const args = process.argv.slice(2);
|
|
49
52
|
|
|
53
|
+
// Resolve the data directory ONCE, before anything can create cache dirs inside
|
|
54
|
+
// a candidate, and export it so the spawned server and the CLI's token client
|
|
55
|
+
// cannot disagree about where the database and cli-secret live.
|
|
56
|
+
pinDataDir();
|
|
57
|
+
|
|
50
58
|
// Self-heal SQLite runtime deps (sql.js + better-sqlite3) into ~/.switchboard/runtime
|
|
51
59
|
// so the server can resolve them via NODE_PATH. Best-effort — sql.js is required,
|
|
52
60
|
// better-sqlite3 is optional. Logs to stderr only on failure.
|
|
@@ -83,12 +91,6 @@ function getDisplayHost() {
|
|
|
83
91
|
return host;
|
|
84
92
|
}
|
|
85
93
|
const MAX_PORT_ATTEMPTS = 10;
|
|
86
|
-
// Identifiers for killAllAppProcesses — bin + package name only
|
|
87
|
-
const PROCESS_IDENTIFIERS = [
|
|
88
|
-
"switchboard",
|
|
89
|
-
"switchboard-router",
|
|
90
|
-
];
|
|
91
|
-
|
|
92
94
|
// Parse arguments
|
|
93
95
|
let port = DEFAULT_PORT;
|
|
94
96
|
let host = DEFAULT_HOST;
|
|
@@ -134,8 +136,9 @@ Options:
|
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
138
|
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
+
// A detached or piped CLI cannot answer the interactive menu. Keep it in the
|
|
140
|
+
// long-lived tray lifecycle even when it was launched without lifecycle flags.
|
|
141
|
+
if ((!process.stdin.isTTY || !process.stdout.isTTY) && !trayMode) {
|
|
139
142
|
trayMode = true;
|
|
140
143
|
process.env.TRAY_MODE = "1";
|
|
141
144
|
}
|
|
@@ -154,11 +157,65 @@ function compareVersions(a, b) {
|
|
|
154
157
|
return 0;
|
|
155
158
|
}
|
|
156
159
|
|
|
157
|
-
//
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
// PID/runtime state lives in the SAME directory the server writes to. Hardcoding
|
|
161
|
+
// `.switchboard` here would look for `.mitm.pid` in the wrong place under legacy
|
|
162
|
+
// adoption or an explicit DATA_DIR, leaving a privileged MITM process alive on
|
|
163
|
+
// port 443. pinDataDir() ran at startup, so this is the resolved value.
|
|
164
|
+
const getAppDataDir = getDataDir;
|
|
165
|
+
const getProcessStateFile = () => path.join(getAppDataDir(), "runtime", "owned-processes.json");
|
|
166
|
+
|
|
167
|
+
function readOwnedProcessState() {
|
|
168
|
+
try {
|
|
169
|
+
const parsed = JSON.parse(fs.readFileSync(getProcessStateFile(), "utf8"));
|
|
170
|
+
return parsed && typeof parsed === "object" ? parsed : {};
|
|
171
|
+
} catch { return {}; }
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function writeOwnedProcessState(serverPid) {
|
|
175
|
+
try {
|
|
176
|
+
const file = getProcessStateFile();
|
|
177
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
178
|
+
fs.writeFileSync(file, JSON.stringify({
|
|
179
|
+
cliPid: process.pid,
|
|
180
|
+
cliPath: __filename,
|
|
181
|
+
serverPid,
|
|
182
|
+
serverPath,
|
|
183
|
+
writtenAt: Date.now(),
|
|
184
|
+
}), { mode: 0o600 });
|
|
185
|
+
} catch { /* best effort */ }
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function clearOwnedProcessState() {
|
|
189
|
+
try {
|
|
190
|
+
const state = readOwnedProcessState();
|
|
191
|
+
if (Number(state.cliPid) === process.pid) fs.unlinkSync(getProcessStateFile());
|
|
192
|
+
} catch { /* best effort */ }
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function processMatchesRecordedPath(pid, expectedPath) {
|
|
196
|
+
if (!expectedPath) return false;
|
|
197
|
+
try {
|
|
198
|
+
const command = process.platform === "win32"
|
|
199
|
+
? execSync(`powershell -NonInteractive -NoProfile -Command "(Get-CimInstance Win32_Process -Filter 'ProcessId = ${Number(pid)}').CommandLine"`, { encoding: "utf8", windowsHide: true, timeout: 3000 })
|
|
200
|
+
: execSync(`ps -p ${Number(pid)} -o command=`, { encoding: "utf8", timeout: 3000 });
|
|
201
|
+
return command.includes(expectedPath);
|
|
202
|
+
} catch {
|
|
203
|
+
// If identity cannot be verified, fail closed rather than risking a PID
|
|
204
|
+
// reuse killing an unrelated process.
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
function readOwnedAppPids() {
|
|
210
|
+
const state = readOwnedProcessState();
|
|
211
|
+
return [
|
|
212
|
+
[state.serverPid, state.serverPath],
|
|
213
|
+
[state.cliPid, state.cliPath],
|
|
214
|
+
]
|
|
215
|
+
.filter(([, expectedPath]) => typeof expectedPath === "string" && expectedPath.length > 0)
|
|
216
|
+
.map(([pid, expectedPath]) => [Number(pid), expectedPath])
|
|
217
|
+
.filter(([pid, expectedPath]) => Number.isInteger(pid) && pid > 1 && pid !== process.pid && processMatchesRecordedPath(pid, expectedPath))
|
|
218
|
+
.map(([pid]) => pid);
|
|
162
219
|
}
|
|
163
220
|
|
|
164
221
|
// Kill PID from file (best-effort, removes file after)
|
|
@@ -185,37 +242,7 @@ function killTunnelByPidFile() {
|
|
|
185
242
|
killByPidFile(path.join(tunnelDir, "tailscale.pid"));
|
|
186
243
|
}
|
|
187
244
|
|
|
188
|
-
// Kill
|
|
189
|
-
function killCloudflaredByAppPort(appPort) {
|
|
190
|
-
if (!appPort) return [];
|
|
191
|
-
const portMatchers = [`localhost:${appPort}`, `127.0.0.1:${appPort}`];
|
|
192
|
-
const pids = [];
|
|
193
|
-
try {
|
|
194
|
-
if (process.platform === "win32") {
|
|
195
|
-
const psCmd = `powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter 'Name=\\"cloudflared.exe\\"' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"`;
|
|
196
|
-
const output = execSync(psCmd, { encoding: "utf8", windowsHide: true, timeout: 5000 });
|
|
197
|
-
const lines = output.split("\n").slice(1).filter(l => l.trim());
|
|
198
|
-
lines.forEach(line => {
|
|
199
|
-
if (portMatchers.some(m => line.includes(m))) {
|
|
200
|
-
const match = line.match(/^"(\d+)"/);
|
|
201
|
-
if (match && match[1]) pids.push(match[1]);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
} else {
|
|
205
|
-
const output = execSync("ps -eo pid,command 2>/dev/null", { encoding: "utf8", timeout: 5000 });
|
|
206
|
-
output.split("\n").forEach(line => {
|
|
207
|
-
if (line.includes("cloudflared") && portMatchers.some(m => line.includes(m))) {
|
|
208
|
-
const parts = line.trim().split(/\s+/);
|
|
209
|
-
const pid = parts[0];
|
|
210
|
-
if (pid && !isNaN(pid)) pids.push(pid);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
} catch { }
|
|
215
|
-
return pids;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// Kill all switchboard processes
|
|
245
|
+
// Kill only processes previously recorded by this launcher.
|
|
219
246
|
function killAllAppProcesses(appPort) {
|
|
220
247
|
return new Promise((resolve) => {
|
|
221
248
|
try {
|
|
@@ -225,83 +252,36 @@ function killAllAppProcesses(appPort) {
|
|
|
225
252
|
killTunnelByPidFile();
|
|
226
253
|
|
|
227
254
|
const platform = process.platform;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
// Catch stale PID files: kill cloudflared bound to this app's port
|
|
231
|
-
pids.push(...killCloudflaredByAppPort(appPort));
|
|
232
|
-
|
|
233
|
-
if (platform === "win32") {
|
|
234
|
-
// Windows: use WMI to get full CommandLine (tasklist /V doesn't include it)
|
|
235
|
-
try {
|
|
236
|
-
const psCmd = `powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter 'Name=\\"node.exe\\"' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"`;
|
|
237
|
-
const output = execSync(psCmd, {
|
|
238
|
-
encoding: "utf8",
|
|
239
|
-
windowsHide: true,
|
|
240
|
-
timeout: 5000
|
|
241
|
-
});
|
|
242
|
-
const lines = output.split("\n").slice(1).filter(l => l.trim());
|
|
243
|
-
lines.forEach(line => {
|
|
244
|
-
// Whitelist: real node process running switchboard/cli.js, or next-server.
|
|
245
|
-
// Avoids killing editors/grep/strace/cursor that just have "switchboard" in cmdline.
|
|
246
|
-
const cmd = line.toLowerCase();
|
|
247
|
-
const isAppProcess =
|
|
248
|
-
(cmd.includes("node") && cmd.includes("switchboard") && (cmd.includes("cli.js") || cmd.includes("\\switchboard") || cmd.includes("/switchboard")))
|
|
249
|
-
|| cmd.includes("next-server");
|
|
250
|
-
if (isAppProcess) {
|
|
251
|
-
const match = line.match(/^"(\d+)"/);
|
|
252
|
-
if (match && match[1] && match[1] !== process.pid.toString()) {
|
|
253
|
-
pids.push(match[1]);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
} catch (e) {
|
|
258
|
-
// No processes found or error - continue
|
|
259
|
-
}
|
|
260
|
-
} else {
|
|
261
|
-
// macOS/Linux: use ps to find all matching processes
|
|
262
|
-
try {
|
|
263
|
-
const output = execSync('ps aux 2>/dev/null', {
|
|
264
|
-
encoding: 'utf8',
|
|
265
|
-
timeout: 5000
|
|
266
|
-
});
|
|
267
|
-
const lines = output.split('\n');
|
|
268
|
-
|
|
269
|
-
lines.forEach(line => {
|
|
270
|
-
// Whitelist: real node process running switchboard/cli.js, or next-server.
|
|
271
|
-
// Avoids killing grep/strace/editors/cursor that incidentally match "switchboard".
|
|
272
|
-
const cmd = line.toLowerCase();
|
|
273
|
-
const isAppProcess =
|
|
274
|
-
(cmd.includes("node") && cmd.includes("switchboard") && (cmd.includes("cli.js") || cmd.includes("/switchboard")))
|
|
275
|
-
|| cmd.includes("next-server");
|
|
276
|
-
if (isAppProcess) {
|
|
277
|
-
const parts = line.trim().split(/\s+/);
|
|
278
|
-
const pid = parts[1];
|
|
279
|
-
if (pid && !isNaN(pid) && pid !== process.pid.toString()) {
|
|
280
|
-
pids.push(pid);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
} catch (e) {
|
|
285
|
-
// No processes found or error - continue
|
|
286
|
-
}
|
|
287
|
-
}
|
|
255
|
+
const pids = readOwnedAppPids();
|
|
288
256
|
|
|
289
|
-
//
|
|
257
|
+
// Gracefully stop owned processes, then force only survivors.
|
|
290
258
|
if (pids.length > 0) {
|
|
291
|
-
pids.
|
|
259
|
+
const uniquePids = [...new Set(pids.map(Number))];
|
|
260
|
+
uniquePids.forEach(pid => {
|
|
292
261
|
try {
|
|
293
262
|
if (platform === "win32") {
|
|
294
|
-
execSync(`taskkill /
|
|
263
|
+
execSync(`taskkill /T /PID ${pid} 2>nul`, { stdio: 'ignore', shell: true, windowsHide: true, timeout: 3000 });
|
|
295
264
|
} else {
|
|
296
|
-
|
|
265
|
+
process.kill(pid, "SIGTERM");
|
|
297
266
|
}
|
|
298
267
|
} catch (err) {
|
|
299
268
|
// Process already dead or can't kill - continue
|
|
300
269
|
}
|
|
301
270
|
});
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
271
|
+
setTimeout(() => {
|
|
272
|
+
uniquePids.forEach((pid) => {
|
|
273
|
+
try {
|
|
274
|
+
process.kill(pid, 0);
|
|
275
|
+
if (platform === "win32") {
|
|
276
|
+
execSync(`taskkill /F /T /PID ${pid} 2>nul`, { stdio: "ignore", shell: true, windowsHide: true, timeout: 3000 });
|
|
277
|
+
} else {
|
|
278
|
+
process.kill(pid, "SIGKILL");
|
|
279
|
+
}
|
|
280
|
+
} catch { /* already stopped */ }
|
|
281
|
+
});
|
|
282
|
+
try { fs.unlinkSync(getProcessStateFile()); } catch { }
|
|
283
|
+
resolve();
|
|
284
|
+
}, 2000);
|
|
305
285
|
} else {
|
|
306
286
|
resolve();
|
|
307
287
|
}
|
|
@@ -359,51 +339,69 @@ function killProxyByPidFile() {
|
|
|
359
339
|
} catch { }
|
|
360
340
|
}
|
|
361
341
|
|
|
362
|
-
|
|
342
|
+
function findListeningPids(port) {
|
|
343
|
+
const numericPort = Number(port);
|
|
344
|
+
if (!Number.isInteger(numericPort) || numericPort <= 0) return [];
|
|
345
|
+
|
|
346
|
+
try {
|
|
347
|
+
if (process.platform === "win32") {
|
|
348
|
+
const output = execSync(`netstat -ano | findstr :${numericPort}`, {
|
|
349
|
+
encoding: "utf8",
|
|
350
|
+
shell: true,
|
|
351
|
+
windowsHide: true,
|
|
352
|
+
timeout: 5000,
|
|
353
|
+
});
|
|
354
|
+
return output.split("\n")
|
|
355
|
+
.filter((line) => line.includes("LISTENING"))
|
|
356
|
+
.filter((line) => line.trim().split(/\s+/).some((field) => field.endsWith(`:${numericPort}`)))
|
|
357
|
+
.map((line) => Number(line.trim().split(/\s+/).pop()))
|
|
358
|
+
.filter((pid) => Number.isInteger(pid) && pid > 1);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
const output = execSync(`lsof -tiTCP:${numericPort} -sTCP:LISTEN`, {
|
|
362
|
+
encoding: "utf8",
|
|
363
|
+
stdio: ["pipe", "pipe", "ignore"],
|
|
364
|
+
});
|
|
365
|
+
return output.split(/\s+/)
|
|
366
|
+
.map(Number)
|
|
367
|
+
.filter((pid) => Number.isInteger(pid) && pid > 1);
|
|
368
|
+
} catch {
|
|
369
|
+
return [];
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// Never kill an arbitrary listener that happens to share the app port. The
|
|
374
|
+
// launcher may only signal PIDs recorded in its ownership state file.
|
|
363
375
|
function killProcessOnPort(port) {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
let pid;
|
|
376
|
+
const ownedPids = new Set(readOwnedAppPids());
|
|
377
|
+
const pids = findListeningPids(port).filter((pid) => ownedPids.has(pid));
|
|
378
|
+
if (pids.length === 0) return Promise.resolve();
|
|
368
379
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
const lines = output.split('\n').filter(l => l.includes('LISTENING'));
|
|
378
|
-
if (lines.length > 0) {
|
|
379
|
-
pid = lines[0].trim().split(/\s+/).pop();
|
|
380
|
-
execSync(`taskkill /F /PID ${pid} 2>nul`, { stdio: 'ignore', shell: true, windowsHide: true, timeout: 3000 });
|
|
381
|
-
}
|
|
382
|
-
} catch (e) {
|
|
383
|
-
// Port is free or error
|
|
380
|
+
return new Promise((resolve) => {
|
|
381
|
+
const platform = process.platform;
|
|
382
|
+
pids.forEach((pid) => {
|
|
383
|
+
try {
|
|
384
|
+
if (platform === "win32") {
|
|
385
|
+
execSync(`taskkill /T /PID ${pid}`, { stdio: "ignore", shell: true, windowsHide: true, timeout: 3000 });
|
|
386
|
+
} else {
|
|
387
|
+
process.kill(pid, "SIGTERM");
|
|
384
388
|
}
|
|
385
|
-
}
|
|
386
|
-
|
|
389
|
+
} catch { /* already dead or inaccessible */ }
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
setTimeout(() => {
|
|
393
|
+
pids.forEach((pid) => {
|
|
387
394
|
try {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
stdio:
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
pid = pidOutput.split('\n')[0];
|
|
394
|
-
execSync(`kill -9 ${pid} 2>/dev/null`, { stdio: 'ignore', timeout: 3000 });
|
|
395
|
+
process.kill(pid, 0);
|
|
396
|
+
if (platform === "win32") {
|
|
397
|
+
execSync(`taskkill /F /T /PID ${pid}`, { stdio: "ignore", shell: true, windowsHide: true, timeout: 3000 });
|
|
398
|
+
} else {
|
|
399
|
+
process.kill(pid, "SIGKILL");
|
|
395
400
|
}
|
|
396
|
-
} catch
|
|
397
|
-
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
// Wait for port to be released
|
|
402
|
-
setTimeout(() => resolve(), 500);
|
|
403
|
-
} catch (err) {
|
|
404
|
-
// Silent fail - continue anyway
|
|
401
|
+
} catch { /* already stopped */ }
|
|
402
|
+
});
|
|
405
403
|
resolve();
|
|
406
|
-
}
|
|
404
|
+
}, 500);
|
|
407
405
|
});
|
|
408
406
|
}
|
|
409
407
|
|
|
@@ -469,7 +467,7 @@ function checkForUpdate() {
|
|
|
469
467
|
const ver = latest.version;
|
|
470
468
|
// Reject name collisions: require a router/gateway-looking description
|
|
471
469
|
const desc = String(latest.description || "").toLowerCase();
|
|
472
|
-
const looksOurs = /switchboard|
|
|
470
|
+
const looksOurs = /switchboard|routing|router|gateway|model/.test(desc);
|
|
473
471
|
if (ver && looksOurs && compareVersions(ver, pkg.version) > 0) {
|
|
474
472
|
done(ver);
|
|
475
473
|
} else {
|
|
@@ -488,21 +486,10 @@ function checkForUpdate() {
|
|
|
488
486
|
|
|
489
487
|
// Open browser
|
|
490
488
|
function openBrowser(url) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
if (platform === "darwin") {
|
|
495
|
-
cmd = `open "${url}"`;
|
|
496
|
-
} else if (platform === "win32") {
|
|
497
|
-
cmd = `start "" "${url}"`;
|
|
498
|
-
} else {
|
|
499
|
-
cmd = `xdg-open "${url}"`;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
exec(cmd, { windowsHide: true }, (err) => {
|
|
503
|
-
if (err) {
|
|
489
|
+
openBrowserWithoutShell(url, {
|
|
490
|
+
onError: () => {
|
|
504
491
|
console.log(`Open browser manually: ${url}`);
|
|
505
|
-
}
|
|
492
|
+
},
|
|
506
493
|
});
|
|
507
494
|
}
|
|
508
495
|
|
|
@@ -606,6 +593,7 @@ function startServer(latestVersion) {
|
|
|
606
593
|
HOSTNAME: host
|
|
607
594
|
}
|
|
608
595
|
});
|
|
596
|
+
if (child.pid) writeOwnedProcessState(child.pid);
|
|
609
597
|
if (!showLog && child.stderr) {
|
|
610
598
|
child.stderr.on("data", (data) => {
|
|
611
599
|
const lines = data.toString().split("\n").filter(Boolean);
|
|
@@ -618,7 +606,7 @@ function startServer(latestVersion) {
|
|
|
618
606
|
|
|
619
607
|
let server = spawnServer();
|
|
620
608
|
|
|
621
|
-
// Cleanup function -
|
|
609
|
+
// Cleanup function - graceful SIGTERM → wait → SIGKILL
|
|
622
610
|
let isCleaningUp = false;
|
|
623
611
|
function cleanup() {
|
|
624
612
|
if (isCleaningUp) return;
|
|
@@ -633,12 +621,16 @@ function startServer(latestVersion) {
|
|
|
633
621
|
killProxyByPidFile();
|
|
634
622
|
// Kill cloudflared/tailscale via PID file (only this app's tunnel)
|
|
635
623
|
killTunnelByPidFile();
|
|
636
|
-
//
|
|
624
|
+
// Graceful shutdown: SIGTERM first so server can flush DB, then SIGKILL
|
|
637
625
|
if (server.pid) {
|
|
638
|
-
process.kill(server.pid, "
|
|
626
|
+
try { process.kill(server.pid, "SIGTERM"); } catch { }
|
|
627
|
+
if (!waitForExit(server.pid, 2000)) {
|
|
628
|
+
try { process.kill(server.pid, "SIGKILL"); } catch { }
|
|
629
|
+
}
|
|
630
|
+
// Also try to kill process group
|
|
631
|
+
try { process.kill(-server.pid, "SIGKILL"); } catch { }
|
|
639
632
|
}
|
|
640
|
-
|
|
641
|
-
process.kill(-server.pid, "SIGKILL");
|
|
633
|
+
clearOwnedProcessState();
|
|
642
634
|
} catch (e) { }
|
|
643
635
|
}
|
|
644
636
|
|
|
@@ -798,7 +790,8 @@ function startServer(latestVersion) {
|
|
|
798
790
|
function attachServerEvents() {
|
|
799
791
|
server.on("error", (err) => {
|
|
800
792
|
console.error("Failed to start server:", err.message);
|
|
801
|
-
if (
|
|
793
|
+
if (err?.code === "EADDRINUSE") stopForPortConflict();
|
|
794
|
+
else if (!isShuttingDown) tryRestart();
|
|
802
795
|
else { cleanup(); process.exit(1); }
|
|
803
796
|
});
|
|
804
797
|
|
|
@@ -807,25 +800,57 @@ function startServer(latestVersion) {
|
|
|
807
800
|
process.exit(code || 0);
|
|
808
801
|
return;
|
|
809
802
|
}
|
|
803
|
+
if (isPortConflict()) {
|
|
804
|
+
stopForPortConflict();
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
810
807
|
tryRestart(code);
|
|
811
808
|
});
|
|
812
809
|
}
|
|
813
810
|
|
|
811
|
+
let mitmResetDone = false;
|
|
812
|
+
|
|
813
|
+
function isPortConflict() {
|
|
814
|
+
return crashLog.some((line) => /EADDRINUSE|address already in use|listen .*already in use/i.test(line));
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
function stopForPortConflict() {
|
|
818
|
+
if (isShuttingDown) return;
|
|
819
|
+
isShuttingDown = true;
|
|
820
|
+
console.error(`\n❌ Port ${port} is already in use. Stop the other listener or choose a different port.`);
|
|
821
|
+
cleanup();
|
|
822
|
+
process.exit(1);
|
|
823
|
+
}
|
|
824
|
+
|
|
814
825
|
function tryRestart(code) {
|
|
826
|
+
if (isPortConflict()) {
|
|
827
|
+
stopForPortConflict();
|
|
828
|
+
return;
|
|
829
|
+
}
|
|
815
830
|
const aliveMs = Date.now() - serverStartTime;
|
|
816
831
|
// Reset counter if last run was stable
|
|
817
832
|
if (aliveMs >= RESTART_RESET_MS) restartCount = 0;
|
|
818
833
|
|
|
819
834
|
if (restartCount >= MAX_RESTARTS) {
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
835
|
+
// Already tried MITM reset and still crashing — exit non-zero
|
|
836
|
+
if (mitmResetDone) {
|
|
837
|
+
console.error(`\n❌ Server still crashing after MITM reset. Giving up.`);
|
|
838
|
+
console.error(` Data directory: ${getAppDataDir()}`);
|
|
839
|
+
if (crashLog.length) {
|
|
840
|
+
console.error("\n--- Server crash log ---");
|
|
841
|
+
crashLog.forEach(l => console.error(l));
|
|
842
|
+
console.error("--- End crash log ---\n");
|
|
827
843
|
}
|
|
828
|
-
|
|
844
|
+
cleanup();
|
|
845
|
+
process.exit(1);
|
|
846
|
+
}
|
|
847
|
+
console.error(`\n⚠️ Server crashed ${MAX_RESTARTS} times. Disabling MIT and restarting...`);
|
|
848
|
+
if (!disableMitm()) {
|
|
849
|
+
console.error("❌ Could not disable MIT in the database — refusing to restart into the same crash.");
|
|
850
|
+
console.error(` Data directory: ${getAppDataDir()}`);
|
|
851
|
+
process.exit(1);
|
|
852
|
+
}
|
|
853
|
+
mitmResetDone = true;
|
|
829
854
|
restartCount = 0;
|
|
830
855
|
server = spawnServer();
|
|
831
856
|
attachServerEvents();
|
package/hooks/sqliteRuntime.js
CHANGED
|
@@ -3,18 +3,12 @@
|
|
|
3
3
|
// sql.js is bundled in bin/app already; node:sqlite / bun:sqlite are built-in.
|
|
4
4
|
const { execSync, spawnSync } = require("child_process");
|
|
5
5
|
const fs = require("fs");
|
|
6
|
-
const os = require("os");
|
|
7
6
|
const path = require("path");
|
|
8
7
|
|
|
9
8
|
const BETTER_SQLITE3_VERSION = "12.6.2";
|
|
10
9
|
const SQL_JS_VERSION = "1.14.1";
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
if (process.env.DATA_DIR) return process.env.DATA_DIR;
|
|
14
|
-
return process.platform === "win32"
|
|
15
|
-
? path.join(process.env.APPDATA || os.homedir(), "switchboard")
|
|
16
|
-
: path.join(os.homedir(), ".switchboard");
|
|
17
|
-
}
|
|
11
|
+
const { getDataDir } = require("../src/shared/dataDir");
|
|
18
12
|
|
|
19
13
|
function getRuntimeDir() {
|
|
20
14
|
return path.join(getDataDir(), "runtime");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "switchboard-router",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Switchboard CLI — local AI routing gateway (install: npm i -g switchboard-router; run: switchboard)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"switchboard": "./cli.js"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js",
|
|
26
26
|
"build": "node scripts/build-cli.js",
|
|
27
|
-
"pack:cli": "npm run build && npm pack --pack-destination
|
|
27
|
+
"pack:cli": "npm run build && npm pack --pack-destination ..",
|
|
28
28
|
"publish:cli": "npm run build && npm publish",
|
|
29
29
|
"postinstall": "node hooks/postinstall.js",
|
|
30
30
|
"prepublishOnly": "npm run build"
|
package/src/cli/api/client.js
CHANGED
|
@@ -3,7 +3,6 @@ const https = require("https");
|
|
|
3
3
|
const crypto = require("crypto");
|
|
4
4
|
const fs = require("node:fs");
|
|
5
5
|
const path = require("node:path");
|
|
6
|
-
const os = require("node:os");
|
|
7
6
|
const { machineIdSync } = require("node-machine-id");
|
|
8
7
|
|
|
9
8
|
// Default configuration
|
|
@@ -13,17 +12,10 @@ const DEFAULT_CONFIG = {
|
|
|
13
12
|
protocol: "http:",
|
|
14
13
|
};
|
|
15
14
|
|
|
16
|
-
const CLI_TOKEN_HEADER = "x-
|
|
17
|
-
const CLI_TOKEN_SALT = "
|
|
18
|
-
const APP_NAME = "switchboard";
|
|
15
|
+
const CLI_TOKEN_HEADER = "x-switchboard-cli-token";
|
|
16
|
+
const CLI_TOKEN_SALT = "switchboard-cli-auth";
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
if (process.env.DATA_DIR) return process.env.DATA_DIR;
|
|
22
|
-
if (process.platform === "win32") {
|
|
23
|
-
return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), APP_NAME);
|
|
24
|
-
}
|
|
25
|
-
return path.join(os.homedir(), `.${APP_NAME}`);
|
|
26
|
-
}
|
|
18
|
+
const { getDataDir } = require("../../shared/dataDir");
|
|
27
19
|
|
|
28
20
|
const MACHINE_ID_FILE = path.join(getDataDir(), "machine-id");
|
|
29
21
|
const AUTH_DIR = path.join(getDataDir(), "auth");
|
|
@@ -410,14 +402,6 @@ async function updateSettings(data) {
|
|
|
410
402
|
return makeRequest("PATCH", "/api/settings", data);
|
|
411
403
|
}
|
|
412
404
|
|
|
413
|
-
/**
|
|
414
|
-
* Reset dashboard password to default (clears stored hash server-side)
|
|
415
|
-
* @returns {Promise<Object>} { success }
|
|
416
|
-
*/
|
|
417
|
-
async function resetPassword() {
|
|
418
|
-
return makeRequest("POST", "/api/auth/reset-password");
|
|
419
|
-
}
|
|
420
|
-
|
|
421
405
|
// ============================================================================
|
|
422
406
|
// MODELS API
|
|
423
407
|
// ============================================================================
|
|
@@ -537,7 +521,6 @@ module.exports = {
|
|
|
537
521
|
// Settings
|
|
538
522
|
getSettings,
|
|
539
523
|
updateSettings,
|
|
540
|
-
resetPassword,
|
|
541
524
|
|
|
542
525
|
// Tunnel
|
|
543
526
|
getTunnelStatus,
|