@rsalmn/extremerouter 0.8.4 → 0.8.6
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/README.id.md +130 -0
- package/README.md +73 -32
- package/README.zh-CN.md +130 -0
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +25 -10
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/routes-manifest.json +94 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/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 +2 -2
- 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 +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/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/overview/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/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/playground/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/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/proxy-pools/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/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 +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
- 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 +6 -6
- 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/alerts/test/route.js +2 -2
- package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/breaker/route.js +1 -1
- package/app/.next-cli-build/server/app/api/breaker/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +9 -11
- 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 +5 -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 +4 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +5 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +7 -4
- 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/hermes-settings/route.js +10 -9
- 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 +5 -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 +5 -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 +5 -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/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/lab/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/lab/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/lab/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/simulate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/simulate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/simulate/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/dashboard/stream/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 +2 -2
- 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/overview/route.js +1 -0
- package/app/.next-cli-build/server/app/api/health/overview/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/health/overview/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/providers/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/health/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/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/1min/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/1min/import/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/freebuff/import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route_client-reference-manifest.js +1 -0
- 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/kimi-desktop/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js +3 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +3 -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]/onemin-api-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/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/[id]/v0-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/capture/launch/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/capture/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/capture/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/capture/route_client-reference-manifest.js +1 -0
- 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/felo-capture/launch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/felo-capture/route_client-reference-manifest.js +1 -0
- 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/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/smart-routing/active/route.js +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/active/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/active/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/history/route.js +17 -0
- package/app/.next-cli-build/server/app/api/smart-routing/history/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/history/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js +16 -0
- package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/lab/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js +7 -0
- package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/smart-routing/stream/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
- package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/swarm/stream/route.js +4 -2
- package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/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/leaderboard/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/leaderboard/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/meta/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/meta/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/retry-stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/retry-stats/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 +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[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 +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
- 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 +6 -6
- 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 +1 -1
- 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 +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- 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 +6 -6
- 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 +1 -1
- 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 +7 -7
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
- 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 +6 -6
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +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 +25 -10
- package/app/.next-cli-build/server/chunks/1241.js +1 -1
- package/app/.next-cli-build/server/chunks/1350.js +5 -2
- package/app/.next-cli-build/server/chunks/1429.js +1 -1
- package/app/.next-cli-build/server/chunks/1719.js +1 -1
- package/app/.next-cli-build/server/chunks/1891.js +10 -0
- package/app/.next-cli-build/server/chunks/212.js +1 -1
- package/app/.next-cli-build/server/chunks/2409.js +1 -1
- package/app/.next-cli-build/server/chunks/3520.js +1 -0
- package/app/.next-cli-build/server/chunks/3535.js +1 -1
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/3841.js +1 -0
- package/app/.next-cli-build/server/chunks/3988.js +1 -0
- package/app/.next-cli-build/server/chunks/4046.js +1 -1
- package/app/.next-cli-build/server/chunks/4109.js +4 -0
- package/app/.next-cli-build/server/chunks/412.js +5 -5
- package/app/.next-cli-build/server/chunks/422.js +1 -1
- package/app/.next-cli-build/server/chunks/4502.js +16 -0
- package/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/507.js +1 -1
- package/app/.next-cli-build/server/chunks/5253.js +17 -0
- package/app/.next-cli-build/server/chunks/5258.js +1 -1
- package/app/.next-cli-build/server/chunks/5330.js +37 -28
- package/app/.next-cli-build/server/chunks/5612.js +1 -1
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5628.js +1 -1
- package/app/.next-cli-build/server/chunks/5699.js +1 -1
- package/app/.next-cli-build/server/chunks/5961.js +1 -1
- package/app/.next-cli-build/server/chunks/6306.js +1 -1
- package/app/.next-cli-build/server/chunks/6630.js +1 -1
- package/app/.next-cli-build/server/chunks/6777.js +1 -1
- package/app/.next-cli-build/server/chunks/6878.js +1 -0
- package/app/.next-cli-build/server/chunks/698.js +1 -1
- package/app/.next-cli-build/server/chunks/7016.js +3 -0
- package/app/.next-cli-build/server/chunks/7410.js +1 -1
- package/app/.next-cli-build/server/chunks/7566.js +2 -2
- package/app/.next-cli-build/server/chunks/7765.js +13 -0
- package/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/app/.next-cli-build/server/chunks/8048.js +1 -0
- package/app/.next-cli-build/server/chunks/809.js +1 -0
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8266.js +1 -0
- package/app/.next-cli-build/server/chunks/8271.js +1 -1
- package/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/app/.next-cli-build/server/chunks/874.js +2 -2
- package/app/.next-cli-build/server/chunks/8802.js +2 -2
- package/app/.next-cli-build/server/chunks/885.js +11 -7
- package/app/.next-cli-build/server/chunks/8895.js +4 -4
- package/app/.next-cli-build/server/chunks/9365.js +9 -0
- package/app/.next-cli-build/server/chunks/9703.js +5 -5
- package/app/.next-cli-build/server/chunks/9903.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +6 -6
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/FP2YsqoRbzETOIHRfld7X/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1321-a387932dc3179f86.js +1 -0
- package/app/.next-cli-build/static/chunks/5497-c6d8b48c8828240a.js +7 -0
- package/app/.next-cli-build/static/chunks/705-42ad329bbe0c47df.js +1 -0
- package/app/.next-cli-build/static/chunks/9497-d27e455b90c7936e.js +1 -0
- package/app/.next-cli-build/static/chunks/981-eead750d8fdba2cb.js +3 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/{page-c263cd784e69e6f1.js → page-812b19e92ea94f14.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-9a0e996c5bc5a169.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-3c3074cf3f61df46.js → page-0e1d5c3cf52823c3.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-f7cdc992cb310077.js → page-3122fd2735ba291c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a84afe4d66f3439a.js +3 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-959b3ee3c662de33.js → page-9850fafcf9dd605b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-9879594c5128cd91.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-1c94a0710d61767e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-7d472b122fb182f0.js → page-9e98db59d6b1d05f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-83272baae17d38f1.js → page-026721fa921475e0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f36e5ac11783fd1e.js → page-ec37860600228def.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/{page-4069e1d40a3c70a6.js → page-99c8024bece93467.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e794909abbc7a09a.js → page-825c8673e6351d02.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-1d972fd3baee7474.js → page-65072e4024bb73b6.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-b92bc7ebaa0813b2.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-d3be818ebce4ade2.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-5ef2d54550eda9da.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d208597b457fee58.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9eea89b85926cfd8.js +10 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-bcf9d97ab4dc20d9.js → page-aaaaeede554f51a5.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-5b11b61863963cad.js → page-1f465a9d64823fe6.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-58d8d0fa5523ff95.js → page-70bfba02b4fc414f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-e249d28461673557.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-a8b151d5ae9004ea.js → page-17bcf4e0db497e3a.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/smart-routing/page-5c8e7b3b71579268.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-6cda956597418bd9.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-d57c129c03c9cb36.js → page-6e8f34517990d858.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-61d162d7a7f88a11.js → page-d9e35b679b85696a.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7ea08e0acef52ce3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-20cc41f2e1307f06.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/breaker/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cache/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/lab/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/simulate/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/overview/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/providers/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/freebuff/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/felo-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zai-profile/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/capture/launch/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/capture/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/launch/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/smart-routing/active/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/smart-routing/history/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/smart-routing/lab/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/smart-routing/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-bc142d42a8a549b4.js +1 -0
- package/app/.next-cli-build/static/chunks/app/{layout-10bff7b57a2a3c2c.js → layout-0e3fdd66d189006c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-32ab5d7c75651107.js → page-4b39978fc147efa3.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d93feb6893aee449.js +1 -0
- package/app/.next-cli-build/static/css/d30ee18d498368cc.css +1 -0
- package/app/node_modules/playwright-core/browsers.json +75 -0
- package/app/node_modules/playwright-core/index.js +17 -0
- package/app/node_modules/playwright-core/index.mjs +28 -0
- package/app/node_modules/playwright-core/lib/bootstrap.js +88 -0
- package/app/node_modules/playwright-core/lib/coreBundle.js +74830 -0
- package/app/node_modules/playwright-core/lib/utilsBundle.js +90764 -0
- package/app/node_modules/playwright-core/package.json +34 -0
- package/app/package.json +2 -5
- package/app/public/providers/ai21.svg +4 -0
- package/app/public/providers/aihorde.png +0 -0
- package/app/public/providers/aimlapi.svg +4 -0
- package/app/public/providers/ainative.svg +4 -0
- package/app/public/providers/aion.svg +4 -0
- package/app/public/providers/anyapi.svg +4 -0
- package/app/public/providers/arcee-ai.svg +4 -0
- package/app/public/providers/auriko.svg +4 -0
- package/app/public/providers/azure-ai.svg +4 -0
- package/app/public/providers/bai.svg +4 -0
- package/app/public/providers/baseten.svg +4 -0
- package/app/public/providers/bazaarlink.svg +8 -0
- package/app/public/providers/bluesminds.svg +4 -0
- package/app/public/providers/bytez.svg +4 -0
- package/app/public/providers/charm-hyper.svg +4 -0
- package/app/public/providers/chat-oripe.svg +4 -0
- package/app/public/providers/chatanywhere.svg +4 -0
- package/app/public/providers/cheaperinference.svg +4 -0
- package/app/public/providers/chenzk.svg +4 -0
- package/app/public/providers/clarifai.svg +4 -0
- package/app/public/providers/cloudcode-one.svg +4 -0
- package/app/public/providers/conol-web.svg +1 -0
- package/app/public/providers/crof.svg +4 -0
- package/app/public/providers/dahl.png +0 -0
- package/app/public/providers/datarobot.svg +4 -0
- package/app/public/providers/dgrid.png +0 -0
- package/app/public/providers/digitalocean.svg +4 -0
- package/app/public/providers/dit.svg +4 -0
- package/app/public/providers/docker-model-runner.svg +1 -0
- package/app/public/providers/dxnt.svg +4 -0
- package/app/public/providers/electronhub.svg +4 -0
- package/app/public/providers/empower.svg +4 -0
- package/app/public/providers/factory.svg +4 -0
- package/app/public/providers/fastrouter.svg +4 -0
- package/app/public/providers/felo-web.svg +50 -0
- package/app/public/providers/fireworks.svg +3 -0
- package/app/public/providers/fishaudio.svg +1 -0
- package/app/public/providers/free-ai.svg +4 -0
- package/app/public/providers/freeaiapikey.svg +4 -0
- package/app/public/providers/freebuff.svg +6 -0
- package/app/public/providers/freeinference.svg +4 -0
- package/app/public/providers/freemodel-dev.svg +4 -0
- package/app/public/providers/freetheai.svg +4 -0
- package/app/public/providers/friendliai.svg +4 -0
- package/app/public/providers/g4f-gemini.png +0 -0
- package/app/public/providers/g4f-groq.png +0 -0
- package/app/public/providers/g4f-nvidia.png +0 -0
- package/app/public/providers/g4f-ollama.png +0 -0
- package/app/public/providers/g4f-pollinations.svg +9 -0
- package/app/public/providers/gemini-business.svg +1 -0
- package/app/public/providers/getgoapi.svg +4 -0
- package/app/public/providers/gitlab.png +0 -0
- package/app/public/providers/gitlawb-gmi.svg +4 -0
- package/app/public/providers/gitlawb.svg +4 -0
- package/app/public/providers/gladia.svg +1 -0
- package/app/public/providers/hackclub.png +0 -0
- package/app/public/providers/hailuo-web.svg +1 -0
- package/app/public/providers/helixmind.svg +4 -0
- package/app/public/providers/helyxai.png +0 -0
- package/app/public/providers/heroku.svg +4 -0
- package/app/public/providers/hyperagent.svg +1 -0
- package/app/public/providers/inception.svg +4 -0
- package/app/public/providers/inference-net.svg +4 -0
- package/app/public/providers/inner-ai.svg +1 -0
- package/app/public/providers/kenari.svg +4 -0
- package/app/public/providers/kilo-gateway.svg +4 -0
- package/app/public/providers/lambda-ai.svg +4 -0
- package/app/public/providers/laozhang.svg +4 -0
- package/app/public/providers/lemonade.svg +1 -0
- package/app/public/providers/liquid.svg +4 -0
- package/app/public/providers/literouter.svg +4 -0
- package/app/public/providers/llama-cpp.svg +1 -0
- package/app/public/providers/llamafile.svg +1 -0
- package/app/public/providers/llamagate.svg +4 -0
- package/app/public/providers/llm-kiwi.svg +4 -0
- package/app/public/providers/llm7.png +0 -0
- package/app/public/providers/llmgateway.svg +4 -0
- package/app/public/providers/lm-studio.svg +1 -0
- package/app/public/providers/maritalk.svg +4 -0
- package/app/public/providers/meganova-ai.svg +4 -0
- package/app/public/providers/meta-ai.svg +68 -0
- package/app/public/providers/meta-llama.svg +4 -0
- package/app/public/providers/mimocode.png +0 -0
- package/app/public/providers/mixlayer.svg +4 -0
- package/app/public/providers/mnn-ai.svg +4 -0
- package/app/public/providers/modal.svg +4 -0
- package/app/public/providers/modelscope.svg +4 -0
- package/app/public/providers/morph.svg +4 -0
- package/app/public/providers/naga-ac.svg +4 -0
- package/app/public/providers/naga-ai.svg +4 -0
- package/app/public/providers/nanogpt.svg +4 -0
- package/app/public/providers/nara.svg +4 -0
- package/app/public/providers/navy.svg +4 -0
- package/app/public/providers/notion-web.svg +1 -0
- package/app/public/providers/nous-research.svg +4 -0
- package/app/public/providers/nscale.svg +4 -0
- package/app/public/providers/nube.svg +4 -0
- package/app/public/providers/oci.svg +4 -0
- package/app/public/providers/ofoxai.svg +4 -0
- package/app/public/providers/ollama-cloud.svg +4 -0
- package/app/public/providers/oobabooga.svg +1 -0
- package/app/public/providers/openadapter.svg +4 -0
- package/app/public/providers/opencode-zen.svg +4 -0
- package/app/public/providers/openference-api.svg +4 -0
- package/app/public/providers/orcarouter.svg +4 -0
- package/app/public/providers/ovhcloud.svg +4 -0
- package/app/public/providers/piapi.svg +4 -0
- package/app/public/providers/pioneer.svg +4 -0
- package/app/public/providers/poixe-ai.svg +4 -0
- package/app/public/providers/poolside.svg +4 -0
- package/app/public/providers/predibase.svg +4 -0
- package/app/public/providers/publicai.svg +4 -0
- package/app/public/providers/qiniu.svg +4 -0
- package/app/public/providers/regolo.svg +4 -0
- package/app/public/providers/reka.svg +4 -0
- package/app/public/providers/requesty.svg +4 -0
- package/app/public/providers/rev-ai.svg +1 -0
- package/app/public/providers/routeway.svg +4 -0
- package/app/public/providers/sambanova.svg +4 -0
- package/app/public/providers/sap.svg +4 -0
- package/app/public/providers/scaleway.svg +4 -0
- package/app/public/providers/snowflake.svg +4 -0
- package/app/public/providers/soniox.svg +1 -0
- package/app/public/providers/speechmatics.svg +1 -0
- package/app/public/providers/speka.svg +4 -0
- package/app/public/providers/sumopod.svg +4 -0
- package/app/public/providers/synthetic.svg +4 -0
- package/app/public/providers/tencent-aistudio-web.png +0 -0
- package/app/public/providers/thebai.svg +4 -0
- package/app/public/providers/theoldllm.png +0 -0
- package/app/public/providers/tokenharbor.svg +12 -0
- package/app/public/providers/tokenreply.svg +4 -0
- package/app/public/providers/triton.svg +1 -0
- package/app/public/providers/uncloseai.png +0 -0
- package/app/public/providers/unorouter.svg +4 -0
- package/app/public/providers/upstage.svg +4 -0
- package/app/public/providers/vllm.svg +1 -0
- package/app/public/providers/void-ai.svg +4 -0
- package/app/public/providers/wafer.svg +4 -0
- package/app/public/providers/wandb.svg +4 -0
- package/app/public/providers/watsonx.svg +4 -0
- package/app/public/providers/writer.svg +4 -0
- package/app/public/providers/x5lab.svg +4 -0
- package/app/public/providers/xinference.svg +1 -0
- package/app/public/providers/yolo-auto.svg +4 -0
- package/app/public/providers/{chatglm-cn.svg → zai-web.svg} +3 -3
- package/app/public/providers/zerolimitai.svg +4 -0
- package/app/public/providers/zylo-api.svg +4 -0
- package/package.json +3 -1
- package/app/.next-cli-build/server/chunks/2231.js +0 -1
- package/app/.next-cli-build/server/chunks/2701.js +0 -10
- package/app/.next-cli-build/server/chunks/2742.js +0 -1
- package/app/.next-cli-build/server/chunks/6070.js +0 -1
- package/app/.next-cli-build/server/chunks/6560.js +0 -1
- package/app/.next-cli-build/server/chunks/7187.js +0 -1
- package/app/.next-cli-build/server/chunks/7218.js +0 -1
- package/app/.next-cli-build/server/chunks/7872.js +0 -1
- package/app/.next-cli-build/server/chunks/8955.js +0 -16
- package/app/.next-cli-build/server/chunks/9422.js +0 -13
- package/app/.next-cli-build/static/JRaGItQgERhBp83cHyRqE/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/1321-a7bfb848c63bdbf7.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-6eb58895074fec6d.js +0 -7
- package/app/.next-cli-build/static/chunks/705-35d16348285626c8.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-49cec265df0de251.js +0 -1
- package/app/.next-cli-build/static/chunks/981-777b2911f938c030.js +0 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ecd3a85a40e51c66.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b4a78d784383253c.js +0 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5689c88f2746c37a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-133cf1aa2ce53c87.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-2dae733c8e1582bf.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-7325c65533e4cf60.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-e7ba910803086460.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0f877a8a2550a1ea.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b500acebeff856b.js +0 -10
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c02ccb0fd35970d1.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-594a59006196a03a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-483f01fd35d212f5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-0a63db83d5e05667.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/breaker/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cache/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/providers/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/stream/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-bb9f307074c5c23a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-158df2528a1edacc.js +0 -1
- package/app/.next-cli-build/static/css/d25230f8c6390408.css +0 -1
- /package/app/.next-cli-build/static/{JRaGItQgERhBp83cHyRqE → FP2YsqoRbzETOIHRfld7X}/_ssgManifest.js +0 -0
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},smartRoutingRuns:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT",promptPreview:"TEXT",lastUserMessage:"TEXT",routing:"TEXT",reason:"TEXT",servedModel:"TEXT",status:"TEXT",error:"TEXT",startedAt:"TEXT NOT NULL",completedAt:"TEXT",totalDurationMs:"INTEGER"},indexes:["CREATE INDEX IF NOT EXISTS idx_srr_started ON smartRoutingRuns(startedAt DESC)","CREATE INDEX IF NOT EXISTS idx_srr_status ON smartRoutingRuns(status)","CREATE INDEX IF NOT EXISTS idx_srr_combo ON smartRoutingRuns(comboName)","CREATE INDEX IF NOT EXISTS idx_srr_reason ON smartRoutingRuns(reason)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";exports.id=4502,exports.ids=[4502],exports.modules={24467:(a,b,c)=>{c.d(b,{DS:()=>r,GK:()=>m,MX:()=>l,RF:()=>s,X6:()=>f,Yh:()=>t,aS:()=>p,gI:()=>h,hy:()=>i,i5:()=>o,j8:()=>n});var d=c(78474);global._circuitBreakers||(global._circuitBreakers=new Map,global._breakerEmitter=new d.EventEmitter,global._breakerEmitter.setMaxListeners(50));let e=global._circuitBreakers,f=global._breakerEmitter,g={enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1};function h(a,b){let c=b&&"object"==typeof b?b:{};if(!c.connectionProxyEnabled)return a;let d=c.connectionProxyPoolId||"",e=c.connectionProxyUrl||"";return`${a}:proxy:${d||e}`}function i(a){let b=Number(a)||0;return 0===b||429===b||b>=500}function j(a){let b=e.get(a);return b||(b={key:a,state:"closed",failures:[],openedAt:null,cooldownEndsAt:null,halfOpenCalls:0,lastActivityAt:Date.now()},e.set(a,b)),b}function k(a){let b=e.get(a);b&&f.emit("breaker:update",{provider:b.key,state:b.state,failures:b.failures.length,openedAt:b.openedAt,cooldownEndsAt:b.cooldownEndsAt})}function l(a,b={},c=null){let d={...g,...b?.circuitBreaker||{}};if(!d.enabled)return!1;let e=c||a,f=j(e);f.lastActivityAt=Date.now();let h=Date.now();if("open"===f.state)if(!f.cooldownEndsAt||!(h>=f.cooldownEndsAt))return!0;else f.state="halfOpen",f.halfOpenCalls=0,k(e);if("halfOpen"===f.state){if(f.halfOpenCalls>=d.halfOpenMaxCalls)return!0;f.halfOpenCalls++}return!1}function m(a,b={},c=null){let d={...g,...b?.circuitBreaker||{}};if(!d.enabled)return!1;let f=e.get(c||a);if(!f)return!1;let h=Date.now();return"open"===f.state?!f.cooldownEndsAt||!(h>=f.cooldownEndsAt):"halfOpen"===f.state&&f.halfOpenCalls>=d.halfOpenMaxCalls}function n(a,b={},c=null){if(!({...g,...b?.circuitBreaker||{}}).enabled)return;let d=c||a,e=j(d);e.lastActivityAt=Date.now(),("closed"!==e.state||e.failures.length>0)&&(e.state="closed",e.failures=[],e.openedAt=null,e.cooldownEndsAt=null,e.halfOpenCalls=0,k(d))}function o(a,b,c={},d=null){let e={...g,...c?.circuitBreaker||{}};if(!e.enabled)return;let f=d||a,h=j(f);h.lastActivityAt=Date.now();let i=Date.now();if("halfOpen"===h.state){h.state="open",h.openedAt=i,h.cooldownEndsAt=i+e.cooldownMs,h.halfOpenCalls=0,h.failures=[{ts:i,status:b}],k(f);return}if("closed"===h.state){h.failures.push({ts:i,status:b});let a=i-e.windowMs;h.failures=h.failures.filter(b=>b.ts>=a),h.failures.length>=e.failureThreshold&&(h.state="open",h.openedAt=i,h.cooldownEndsAt=i+e.cooldownMs,k(f))}}function p(a,b=null){let c=e.get(b||a);!c||(c.lastActivityAt=Date.now(),"halfOpen"===c.state&&c.halfOpenCalls>0&&c.halfOpenCalls--)}let q=0;function r(){let a=Date.now();!function(a){if(a-q<6e4)return;q=a;let b=a-6e5;for(let[a,c]of e)"closed"===c.state&&(c.lastActivityAt||0)<b&&e.delete(a)}(a);let b=[];for(let c of e.values()){let d=c.state,e=null;"open"===c.state&&c.cooldownEndsAt&&0===(e=Math.max(0,c.cooldownEndsAt-a))&&(d="halfOpen"),b.push({provider:c.key,state:d,failures:c.failures.length,openedAt:c.openedAt,cooldownEndsAt:c.cooldownEndsAt,cooldownRemainingMs:e})}return b}function s(a,b=null){let c=e.get(b||a);return c&&"open"===c.state&&c.cooldownEndsAt?c.cooldownEndsAt:null}function t(a,b=null){if(b){let a=e.get(b);return!!a&&(a.state="closed",a.failures=[],a.openedAt=null,a.cooldownEndsAt=null,a.halfOpenCalls=0,k(b),!0)}let c=!1;for(let[b,d]of e)(b===a||b.startsWith(`${a}:`))&&(d.state="closed",d.failures=[],d.openedAt=null,d.cooldownEndsAt=null,d.halfOpenCalls=0,k(b),c=!0);return c}},36701:(a,b,c)=>{c.d(b,{SH:()=>l,ZW:()=>p,_5:()=>k,_s:()=>j,bt:()=>n,gF:()=>m,kA:()=>o,ni:()=>f});var d=c(78474),e=c(77598);global._swarmEmitter||(global._swarmEmitter=new d.EventEmitter,global._swarmEmitter.setMaxListeners(200),global._swarmRuns=new Map,global._swarmEmitTimers={});let f=global._swarmEmitter,g=global._swarmRuns,h=global._swarmEmitTimers;function i(a,b,c=120){let d=b?.worker!==void 0?`:w${b.worker}`:"",e=`${a}:${b?.runId||""}${d}`;h[e]&&clearTimeout(h[e]),h[e]=setTimeout(()=>{delete h[e],f.emit(a,b)},c)}function j({comboName:a,promptPreview:b,managerModel:c,staffModel:d,auditModel:f,workerCount:h}){let k=(0,e.randomUUID)(),l=Date.now(),m={runId:k,comboName:a,promptPreview:(b||"").slice(0,200),managerModel:c,staffModel:d,auditModel:f,workerCount:h||0,status:"running",startedAt:l,completedAt:null,totalDurationMs:null,stages:{gatekeeper:{status:"pending",startedAt:null,completedAt:null,durationMs:null,model:c,verdict:null},manager:{status:"pending",startedAt:null,completedAt:null,durationMs:null,model:c,strategy:null},workers:{status:"pending",startedAt:null,completedAt:null,durationMs:null,workers:[]},audit:{status:"pending",startedAt:null,completedAt:null,durationMs:null,model:d||f},synthesis:{status:"pending",startedAt:null,completedAt:null,durationMs:null,model:c}}};for(let a=0;a<(h||0);a++)m.stages.workers.workers.push({index:a,status:"pending",model:null,durationMs:null});if(g.set(k,m),g.size>50){let a=[...g.entries()].filter(([,a])=>"done"===a.status||"error"===a.status).sort((a,b)=>a[1].startedAt-b[1].startedAt);for(;g.size>50&&a.length>0;)g.delete(a.shift()[0])}return i("swarm:start",{type:"swarm:start",runId:k,comboName:a,promptPreview:m.promptPreview,workerCount:m.workerCount,status:"running"},0),m}function k(a,b,c={}){let d=g.get(a);if(!d)return;let e=d.stages[b];e&&(e.status="running",e.startedAt=Date.now(),Object.assign(e,c),"workers"===b&&"number"==typeof c.workerCount&&(d.workerCount=c.workerCount),i("swarm:stage",{type:"swarm:stage",runId:a,stage:b,status:"running",...c}))}function l(a,b,c={}){let d=g.get(a);if(!d)return;let e=d.stages[b];if(!e||"done"===e.status)return;e.status="done",e.completedAt=Date.now(),e.durationMs=e.startedAt?e.completedAt-e.startedAt:null;let{workers:f,...h}=c;Object.assign(e,h),f&&(e.summary={workerResults:f}),i("swarm:stage",{type:"swarm:stage",runId:a,stage:b,status:"done",durationMs:e.durationMs,...h})}function m(a,b,c,d={}){let e=g.get(a);if(!e)return;for(;e.stages.workers.workers.length<=b;)e.stages.workers.workers.push({index:e.stages.workers.workers.length,status:"pending",model:null,durationMs:null});let f=e.stages.workers.workers[b];f&&("running"!==c||f.startedAt||(f.startedAt=Date.now()),"done"!==c&&"error"!==c||f.completedAt||(f.completedAt=Date.now(),f.durationMs=f.startedAt?f.completedAt-f.startedAt:null),f.status=c,Object.assign(f,d),i("swarm:stage",{type:"swarm:stage",runId:a,stage:"workers",worker:b,status:c,durationMs:f.durationMs,...d}))}function n(a,b){let c=g.get(a);c&&"done"!==c.status&&"error"!==c.status&&(c.status="error",c.error=String(b?.message||b||"unknown"),c.completedAt=Date.now(),c.totalDurationMs=c.completedAt-c.startedAt,i("swarm:error",{type:"swarm:error",runId:a,error:c.error,status:"error",totalDurationMs:c.totalDurationMs},0))}function o(a,b={}){let c=g.get(a);c&&"done"!==c.status&&"error"!==c.status&&(c.status="done",c.completedAt=Date.now(),c.totalDurationMs=c.completedAt-c.startedAt,Object.assign(c,b),i("swarm:complete",{type:"swarm:complete",runId:a,status:"done",totalDurationMs:c.totalDurationMs,...b},0))}function p(a=20){return[...g.values()].sort((a,b)=>b.startedAt-a.startedAt).slice(0,a).map(a=>structuredClone(a))}},50304:(a,b,c)=>{c.d(b,{Fk:()=>n,Jb:()=>s,Xf:()=>l,bt:()=>q,iT:()=>f,kA:()=>r,kc:()=>p,mU:()=>o});var d=c(78474),e=c(77598);global._smartRoutingEmitter||(global._smartRoutingEmitter=new d.EventEmitter,global._smartRoutingEmitter.setMaxListeners(200),global._smartRoutingRuns=new Map,global._smartRoutingEmitTimers={},global._smartRoutingPersistPending=new Map,global._smartRoutingPersistTimer=null);let f=global._smartRoutingEmitter,g=global._smartRoutingRuns,h=global._smartRoutingEmitTimers,i=global._smartRoutingPersistPending;function j(a){if(a&&a.runId)try{i.set(a.runId,a),i.size>=50?(global._smartRoutingPersistTimer&&(clearTimeout(global._smartRoutingPersistTimer),global._smartRoutingPersistTimer=null),k().catch(()=>{})):global._smartRoutingPersistTimer||(global._smartRoutingPersistTimer=setTimeout(()=>{global._smartRoutingPersistTimer=null,k().catch(()=>{})},2e3))}catch{}}async function k(){if(0===i.size)return;let a=[...i.values()];i.clear();try{let{persistRuns:b}=await c.e(5253).then(c.bind(c,55253));await b(a)}catch(b){for(let b of a)i.set(b.runId,b);console.warn("[smartRoutingTelemetry] persist failed (will retry on next flush):",b?.message||b)}}async function l({limit:a=50}={}){if(g.size>0)return!1;try{let{loadRecentRuns:b}=await c.e(5253).then(c.bind(c,55253)),d=await b({limit:a});for(let a of d)a?.runId&&!g.has(a.runId)&&g.set(a.runId,a);return d.length>0}catch(a){return console.warn("[smartRoutingTelemetry] hydrate from DB failed:",a?.message||a),!1}}function m(a,b,c=120){let d=`${a}:${b?.runId||""}`;h[d]&&clearTimeout(h[d]),h[d]=setTimeout(()=>{delete h[d],f.emit(a,b)},c)}function n({comboName:a,promptPreview:b,lastUserMessage:c}){let d=(0,e.randomUUID)(),f=Date.now(),h={runId:d,comboName:a,promptPreview:(b||"").slice(0,200),lastUserMessage:(c||"").slice(0,4e3),routing:null,servedModel:null,status:"running",error:null,startedAt:f,completedAt:null,totalDurationMs:null};if(g.set(d,h),g.size>50){let a=[...g.entries()].filter(([,a])=>"done"===a.status||"error"===a.status).sort((a,b)=>a[1].startedAt-b[1].startedAt);for(;g.size>50&&a.length>0;)g.delete(a.shift()[0])}return m("smart:start",{type:"smart:start",runId:d,comboName:a,promptPreview:h.promptPreview,status:"running"},0),j(h),h}function o(a,b){let c=g.get(a);if(!c)return;let d={reason:b?.reason||"general",order:Array.isArray(b?.order)?b.order:[],excludedCookies:Array.isArray(b?.excludedCookies)?b.excludedCookies:[],cookiePool:Array.isArray(b?.cookiePool)?b.cookiePool:[],normalPool:Array.isArray(b?.normalPool)?b.normalPool:[],intent:b?.intent||null};c.routing=d,m("smart:route",{type:"smart:route",runId:a,routing:d,status:"running"},0),j(c)}function p(a,b){let c=g.get(a);c&&(c.servedModel=b,m("smart:served",{type:"smart:served",runId:a,servedModel:b,status:"running"},0),j(c))}function q(a,b){let c=g.get(a);c&&"done"!==c.status&&"error"!==c.status&&(c.status="error",c.error=String(b?.message||b||"unknown"),c.completedAt=Date.now(),c.totalDurationMs=c.completedAt-c.startedAt,m("smart:error",{type:"smart:error",runId:a,error:c.error,servedModel:c.servedModel,status:"error",totalDurationMs:c.totalDurationMs},0),j(c))}function r(a,b={}){let c=g.get(a);c&&"done"!==c.status&&"error"!==c.status&&(c.status="done",c.completedAt=Date.now(),c.totalDurationMs=c.completedAt-c.startedAt,Object.assign(c,b),m("smart:complete",{type:"smart:complete",runId:a,servedModel:c.servedModel,status:"done",totalDurationMs:c.totalDurationMs,...b},0),j(c))}function s(a=20){return[...g.values()].sort((a,b)=>b.startedAt-a.startedAt).slice(0,a).map(a=>structuredClone(a))}let t=async()=>{try{await k()}catch{}};process.off("beforeExit",t),process.off("SIGINT",t),process.off("SIGTERM",t),process.off("exit",t),process.on("beforeExit",t),process.on("SIGINT",t),process.on("SIGTERM",t),process.on("exit",t)},82121:(a,b,c)=>{c.d(b,{sm:()=>Z,zH:()=>ag,Ci:()=>$,dW:()=>aj,t8:()=>ab,Vt:()=>af,$x:()=>X,Vu:()=>ad,Ni:()=>an,Pr:()=>ae,vt:()=>al,O6:()=>ak,je:()=>O,UP:()=>ac,wj:()=>ai});var d=c(12557),e=c(43659),f=c(66306),g=c(26922),h=c(24467),i=c(31589),j=c(40669);function k(a,b,c){let d,e=new AbortController,f=()=>e.abort(c?.reason||Error("parent aborted"));return c?.aborted?f():c?.addEventListener("abort",f,{once:!0}),{promise:new Promise(c=>{d=setTimeout(()=>{e.abort(Error("combo task timeout")),c({__timeout:!0})},b),Promise.resolve().then(()=>a(e.signal)).then(a=>c(a)).catch(a=>c({__error:a})).finally(()=>clearTimeout(d))}),signal:e.signal,abort(a="combo task cancelled"){e.signal.aborted||e.abort(Error(a))},cleanup(){clearTimeout(d),c?.removeEventListener("abort",f)}}}var l=c(14170);function m(a){return a?.request?.contents?l.h.ANTIGRAVITY:Array.isArray(a?.contents)?l.h.GEMINI:a?.input===void 0||a?.messages?a?.anthropic_version||a?.system!==void 0?l.h.CLAUDE:l.h.OPENAI:l.h.OPENAI_RESPONSES}function n(a,b,c=m(a)){let d={...a};if(c===l.h.ANTIGRAVITY){let c={...a.request||{}};c.contents=[...c.contents||[],{role:"user",parts:[{text:b}]}],d.request=c}else c===l.h.GEMINI?d.contents=[...a.contents||[],{role:"user",parts:[{text:b}]}]:c===l.h.OPENAI_RESPONSES?d.input=[..."string"==typeof a.input?[{role:"user",content:a.input}]:[...a.input||[]],{role:"user",content:[{type:"input_text",text:b}]}]:d.messages=[...a.messages||[],{role:"user",content:b}];return d}function o(a){return(a||[]).filter(Boolean).map(a=>{if("string"==typeof a||!a||"object"!=typeof a)return a;if(a.functionCall)return`[Called tool: ${a.functionCall.name||"tool"}]`;if(a.functionResponse){let b=a.functionResponse.response,c="string"==typeof b?b:JSON.stringify(b);return`[Tool result: ${c||""}]`}return void 0!==a.text?a.text:a})}function p(a){return(a||[]).filter(Boolean).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"assistant",content:`[Tool result: ${(0,g.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,g.kU)(c.content)||"";return{...c,content:`${e}${e?"\n":""}[Called tools: ${d}]`}}if(Array.isArray(a.content)&&a.content.some(a=>a?.type==="tool_use"||a?.type==="tool_result")){let b=a.content.map(a=>a?.text||(a?.type==="tool_use"?`[Called tool: ${a.name||"tool"}]`:a?.type==="tool_result"?`[Tool result: ${(0,g.kU)(a.content)}]`:"")).filter(Boolean).join("\n");return{...a,content:b}}return a})}function q(a,b=m(a)){let{tools:c,tool_choice:d,...e}=a,f={...e,stream:!1};return b===l.h.OPENAI_RESPONSES?Array.isArray(f.input)&&(f.input=p(f.input)):b===l.h.ANTIGRAVITY?f.request={...f.request||{},tools:void 0,contents:Array.isArray(f.request.contents)?f.request.contents.map(a=>({...a,parts:o(a.parts)})):f.request.contents}:b===l.h.GEMINI?f.contents=Array.isArray(f.contents)?f.contents.map(a=>({...a,parts:o(a.parts)})):f.contents:Array.isArray(f.messages)&&(f.messages=p(f.messages)),f}function r(a,b){let c=String(a||"");return c.length<=b?c:`${c.slice(0,b)}
|
|
2
|
+
[truncated by combo budget]`}var s=c(783),t=c(50304);let u=[/you are (an? )?(expert|senior|principal|staff)?\s*(coding|programming|software|ai)\s*(assistant|agent|engineer|companion|specialist)/i,/you are (claude|cursor|cline|copilot|windsurf|aider|roo|cody|continue)/i,/your (primary )?(task|role|job|goal) is to (help|assist|act as)/i,/follow the user[''']?s instructions/i,/you are operating as (a |an )?(pair|interactive|autonomous)/i,/write (clean|idiomatic|production)[- ]ready code/i,/you have access to (a set of |various )?tools/i,/<environment|<context|<system_prompt>/i];function v(a){return!!a&&"string"==typeof a&&!(a.length<80)&&u.some(b=>b.test(a))}function w(a){if(!a)return a;let b={...a};for(let a of["messages","input"])Array.isArray(b[a])&&(b[a]=b[a].filter(a=>{var b;return a?.role!=="system"&&a?.role!=="developer"||!v("string"==typeof(b=a.content)?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.text||"").join("\n"):"")}));if("string"==typeof b.system&&v(b.system))delete b.system;else if(Array.isArray(b.system)){let a=b.system.filter(a=>!(a?.type==="text"&&v(a.text)));b.system=a.length>0?a:void 0,void 0===b.system&&delete b.system}for(let a of["system_instruction","systemInstruction"]){let c=b[a];c&&v(Array.isArray(c.parts)?c.parts.map(a=>a?.text||"").join("\n"):"")&&delete b[a]}return b}let x={default:"You are a specialist worker in a swarm. Focus exclusively on your assigned subtask. Produce complete, production-ready output. Do not attempt other subtasks.",architecture:"You are a software architect. Design the structure, interfaces, and module boundaries for your assigned component. Prioritize clean separation of concerns.","game-logic":"You are a game-logic specialist. Implement mechanics, state machines, and rules with correctness and balance in mind.","data-layer":"You are a data/persistence specialist. Implement storage, schemas, serialization, and access patterns with integrity and performance in mind.",ui:"You are a UI/UX specialist. Build accessible, responsive interfaces with clean component structure.",testing:"You are a testing specialist. Write thorough tests covering happy paths, edge cases, and failure modes.",security:"You are a security specialist. Harden inputs, prevent injection/XSS, and enforce least-privilege.",devops:"You are a DevOps specialist. Handle deployment, configuration, and operational concerns."};function y(a){let b=x[a?.role]||x.default,c=a?.instruction||a?.title||"Complete your assigned subtask.";return["=== SWARM WORKER DIRECTIVE ===",b,"",`Subtask: ${a?.title||"Untitled"}`,"",c,"\nOutput ONLY your work for this subtask. Do not reference other workers or the orchestrator.\n=== END DIRECTIVE ==="].join("\n")}var z=c(36701);let A={workerHardTimeoutMs:9e4,workerQuorum:2,stragglerGraceMs:1e4,managerTimeoutMs:6e4,minWorkers:2,maxWorkers:8},B="=== SWARM GATEKEEPER ===\nYou are the GATEKEEPER of a hierarchical swarm. Classify the user's most recent request as SIMPLE or COMPLEX.\n\nSIMPLE = greeting, small talk, a factual question, a one-line clarification, or anything answerable in under ~50 tokens without decomposition.\nCOMPLEX = a coding task, multi-step build request, design problem, debugging session, or anything benefiting from decomposition into parallel specialist work.\n\nRespond with EXACTLY one line, nothing else:\nVERDICT: SIMPLE\nor\nVERDICT: COMPLEX";function C(a){return['=== SWARM MANAGER (STRATEGY) ===\nYou are the MANAGER of a hierarchical swarm. Analyze the user\'s request and produce a high-level execution strategy that decomposes it into independent parallel subtasks.\n\nRespond with ONLY a JSON object (no markdown fences, no prose) of this exact shape:\n{\n "assessment": "<1-2 sentence summary of what the request needs>",\n "subtasks": [\n { "id": 1, "title": "<short title>", "role": "<architecture|game-logic|data-layer|ui|testing|security|devops|default>", "instruction": "<detailed instruction for the specialist worker>" }\n ]\n}\n\nRules:\n- Aim for 2-5 subtasks. Each must be independently executable in parallel.\n- `role` must be one of the listed values; pick the best specialist fit.\n- `instruction` must be self-contained — a worker sees only its own subtask.\n- Do NOT include integration/assembly as a subtask; the Staff auditor + Manager synthesis handle that.\n\n=== USER REQUEST ===',a].join("\n")}function D(a){return["=== SWARM STAFF (AUDIT) ===\nYou are the STAFF auditor of a hierarchical swarm. Specialist workers have independently completed their assigned subtasks. Your job is to produce a TECHNICAL AUDIT REPORT that the Manager will use to synthesize the final answer.\n\nFor each worker output, evaluate:\n- Completeness: did it fulfill the subtask instruction?\n- Correctness: any bugs, type errors, logic flaws, or missing edge cases?\n- Consistency: naming conflicts, duplicated logic, or mismatched interfaces with other workers?\n- Integration risks: what will need reconciliation when combining outputs?\n\nThen provide a CONSOLIDATION PLAN: the order in which outputs should be merged, what conflicts to resolve, and what gaps remain.\n\n=== SUBTASKS & WORKER OUTPUTS ===",a.map(a=>{let b=a.output||"(worker did not produce output)";return`### Subtask ${a.id}: ${a.title}
|
|
3
|
+
Role: ${a.role}
|
|
4
|
+
Instruction: ${a.instruction}
|
|
5
|
+
|
|
6
|
+
#### Worker Output
|
|
7
|
+
${b}`}).join("\n\n---\n\n"),"=== END ===\n\nNow write the technical audit report. Be concrete and specific. Reference subtask IDs."].join("\n")}function E(a,b){return["=== SWARM MANAGER (SYNTHESIS) ===\nYou are the MANAGER producing the FINAL ANSWER. A Staff auditor has reviewed the parallel worker outputs and produced a technical audit report below. Synthesize ONE cohesive, complete, production-quality answer for the user's original request.\n\nRules:\n- Resolve any conflicts the auditor flagged.\n- Integrate all worker outputs into a single coherent result (codebase, explanation, or both).\n- Do NOT mention the swarm, workers, audit, or that multiple agents were used. The user sees only your final answer.\n- Match the user's language and intent exactly.\n\n=== TECHNICAL AUDIT REPORT ===",a,"=== END AUDIT ===\n\n=== ORIGINAL USER REQUEST ===",b,"\nNow produce the final answer."].join("\n")}function F(a){for(let b of["messages","input"])if(Array.isArray(a[b]))for(let c=a[b].length-1;c>=0;c--){let d=a[b][c];if(d?.role==="user"){if("string"==typeof d.content)return d.content;if(Array.isArray(d.content))return d.content.map(a=>"string"==typeof a?a:a?.text||"").join("")}}if(Array.isArray(a.contents)){let b=a.contents[a.contents.length-1];if(b?.role==="user"&&Array.isArray(b.parts))return b.parts.map(a=>a?.text||"").join("")}return""}function G(a){if(!a)return null;let b=a.replace(/```json\s*/gi,"").replace(/```/g,"").trim(),c=b.indexOf("{"),d=b.lastIndexOf("}");if(-1!==c&&-1!==d&&d>c)try{let a=JSON.parse(b.slice(c,d+1));if(Array.isArray(a.subtasks)&&a.subtasks.length>0)return a}catch{}let e=[];for(let a of function*(a){let b=0,c=-1,d=!1,e=!1;for(let f=0;f<a.length;f++){let g=a[f];if(e){e=!1;continue}if("\\"===g){e=!0;continue}if('"'===g){d=!d;continue}!d&&("{"===g?(0===b&&(c=f),b++):"}"===g&&0==--b&&c>=0&&(yield a.slice(c,f+1),c=-1))}}(b))if(/"id"\s*:/.test(a))try{let b=JSON.parse(a);b&&(b.title||b.instruction||b.role)&&e.push({id:"number"==typeof b.id?b.id:e.length+1,title:b.title||`Subtask ${e.length+1}`,role:b.role||"default",instruction:b.instruction||b.title||""})}catch{}return e.length>0?{assessment:"(recovered from truncated output)",subtasks:e}:null}function H(a){let{tools:b,tool_choice:c,...d}=a,e={...d,stream:!1};return Array.isArray(e.messages)&&(e.messages=X(e.messages)),e}let I=new Map;async function J({runId:a,body:b,managerModel:c,handleSingleModel:d,cfg:e,log:f}){(0,z._5)(a,"gatekeeper",{model:c}),F(b);let g=ag(w(H(b)),B);try{let b=await ai(d(g,c,{isPanel:!0,role:"gatekeeper"}),e.managerTimeoutMs);if(b?.__timeout||b?.__error)return(0,z.SH)(a,"gatekeeper",{verdict:"complex"}),K(c,f),"complex";let h=af(await b.clone().json().catch(()=>({}))),i=/VERDICT:\s*SIMPLE/i.test(h)?"simple":"complex";return(0,z.SH)(a,"gatekeeper",{verdict:i}),I.delete(c),f?.info?.("SWARM",`Gatekeeper verdict: ${i}`),i}catch(b){return f?.warn?.("SWARM",`Gatekeeper error, assuming complex: ${b?.message||b}`),(0,z.SH)(a,"gatekeeper",{verdict:"complex"}),K(c,f),"complex"}}function K(a,b){let c=(I.get(a)||0)+1;I.set(a,c),3===c&&b?.warn?.("SWARM",`Gatekeeper has failed ${c} consecutive times for ${a}. Every request is falling through to a full swarm pipeline — the manager model may be degraded.`)}async function L({runId:a,body:b,managerModel:c,handleSingleModel:d,cfg:e,log:f}){(0,z._5)(a,"manager",{model:c});let g=F(b),h=ag(w(H(b)),C(g));try{let b=await ai(d(h,c,{isPanel:!0,role:"manager"}),e.managerTimeoutMs);if(b?.__timeout||b?.__error)return(0,z.SH)(a,"manager",{strategy:null}),null;let g=af(await b.clone().json().catch(()=>({}))),i=G(g);return(0,z.SH)(a,"manager",{strategy:i?{subtaskCount:i.subtasks.length}:null}),i||f?.warn?.("SWARM","Manager produced unparseable strategy"),i}catch(b){return f?.warn?.("SWARM",`Manager strategy error: ${b?.message||b}`),(0,z.SH)(a,"manager",{strategy:null}),null}}async function M({runId:a,strategy:b,models:c,body:d,handleSingleModel:e,cfg:f,log:g,runBudget:h}){(0,z._5)(a,"workers",{workerCount:b.subtasks.length});let i=b.subtasks,j=c.filter(Boolean);if(0===j.length)return(0,z.SH)(a,"workers",{workers:[]}),[];let k=i.map((b,c)=>{let g=j[c%j.length],i=ag(H(d),y(b));return(0,z.gF)(a,c,"running",{model:g}),ai(e(i,g,{isPanel:!0,role:"worker"}),f.workerHardTimeoutMs).then(async d=>{if(d?.__timeout||d?.__error)return(0,z.gF)(a,c,"error",{model:g}),{ok:!1,text:""};if(!d?.ok)return(0,z.gF)(a,c,"error",{model:g,status:d?.status}),{ok:!1,text:""};let e=af(await d.clone().json().catch(()=>({}))),f=h?h.clampOutput(e):e;return e&&!f?((0,z.gF)(a,c,"error",{model:g,reason:"over_budget"}),{ok:!1,text:""}):((0,z.gF)(a,c,"done",{model:g,outputLen:f.length}),{ok:!0,text:f,subtask:b})}).catch(()=>((0,z.gF)(a,c,"error",{model:g}),{ok:!1,text:""}))}),l=await aj(k,{minPanel:Math.min(f.workerQuorum,k.length),stragglerGraceMs:f.stragglerGraceMs,panelHardTimeoutMs:f.workerHardTimeoutMs}),m=[];for(let a=0;a<l.length;a++){let b=l[a];b&&b.ok&&m.push({subtask:i[a],text:b.text})}return(0,z.SH)(a,"workers",{workers:l.map((a,b)=>({index:b,ok:!!a?.ok}))}),m}async function N({runId:a,strategy:b,workerOutputs:c,staffModel:d,auditModel:e,body:f,handleSingleModel:g,cfg:h,log:i,runBudget:j}){let k=d||e;if(!k)return(0,z.SH)(a,"audit",{skipped:!0}),null;(0,z._5)(a,"audit",{model:k});let l=b.subtasks.map(a=>{let b=c.find(b=>b.subtask===a);return{...a,output:b?.text||"(no output)"}}),m=ag(w(H(f)),D(l));try{let b=await ai(g(m,k,{isPanel:!0,role:"audit"}),h.managerTimeoutMs);if(b?.__timeout||b?.__error)return(0,z.SH)(a,"audit",{skipped:!0}),null;let c=af(await b.clone().json().catch(()=>({})));return(0,z.SH)(a,"audit",{reportLen:c.length}),j?j.clampOutput(c):c}catch(b){return i?.warn?.("SWARM",`Staff audit error: ${b?.message||b}`),(0,z.SH)(a,"audit",{skipped:!0}),null}}async function O({body:a,models:b,handleSingleModel:c,log:d,comboName:e,managerModel:f,staffModel:g,auditModel:h,workerCount:j,swarmTuning:k,telemetry:l=!0,signal:m,runBudget:n,principalId:o,autoScale:p}){let q=b.filter(Boolean);if(0===q.length)return new Response(JSON.stringify({error:"Swarm requires at least one worker model"}),{status:400});let r={...A,...k||{}},s=(f||"").trim()||q[0],t=F(a);if(1===q.length&&!f&&!g&&!h)return c(a,q[0],{role:"manager"});let u=(0,i.Ub)("swarm",{managerModel:f,staffModel:g,auditModel:h},q);if(u.length>0){let a=u.map(a=>a.reason).join(" ");return new Response(JSON.stringify({error:{message:`Swarm role validation failed: ${a}`,type:"capability_error"}}),{status:400,headers:{"Content-Type":"application/json"}})}let v=l?(0,z._s)({comboName:e,promptPreview:t,managerModel:s,staffModel:g,auditModel:h,workerCount:j||r.minWorkers}):null,w=v?.runId;try{let b,e=l?await J({runId:w,body:a,managerModel:s,handleSingleModel:c,cfg:r,log:d}):await P({body:a,managerModel:s,handleSingleModel:c,cfg:r,log:d});if("simple"===e)return d?.info?.("SWARM","Gatekeeper bypass — simple request, direct answer"),w&&(0,z.kA)(w,{bypassed:!0}),c(a,s,{role:"manager"});let f=l?await L({runId:w,body:a,managerModel:s,handleSingleModel:c,cfg:r,log:d}):await Q({body:a,managerModel:s,handleSingleModel:c,cfg:r,log:d});if(!f||!Array.isArray(f.subtasks)||0===f.subtasks.length)return d?.warn?.("SWARM","Strategy decomposition failed — falling back to direct answer"),w&&(0,z.kA)(w,{fallback:!0}),c(a,s,{role:"manager"});p?.enabled?(b=Math.min(Math.max(f.subtasks.length,p.minWorkers||1),p.maxWorkers||r.maxWorkers),d?.info?.("SWARM",`Auto-scale: ${f.subtasks.length} subtasks → ${b} workers (${p.minWorkers||1}–${p.maxWorkers||r.maxWorkers})`)):b="number"==typeof j&&j>0?Math.min(j,r.maxWorkers):r.maxWorkers;let i=f.subtasks.slice(0,b),k=l?await M({runId:w,strategy:{subtasks:i},models:q,body:a,handleSingleModel:c,cfg:r,log:d,runBudget:n}):await R({strategy:{subtasks:i},models:q,body:a,handleSingleModel:c,cfg:r,log:d,runBudget:n});if(k.length<r.minWorkers){if(d?.warn?.("SWARM",`Only ${k.length}/${i.length} workers succeeded — fallback`),w&&(0,z.kA)(w,{fallback:!0}),1===k.length){let b=k[0].text||"";return c(ag(a,`The specialist worker produced this answer for the subtask "${k[0].subtask?.title||""}". Output it verbatim to the user, adjusting only for formatting if needed:
|
|
8
|
+
|
|
9
|
+
${b}`),s,{role:"manager"})}return c(a,s,{role:"manager"})}let m=l?await N({runId:w,strategy:{subtasks:i},workerOutputs:k,staffModel:g,auditModel:h,body:a,handleSingleModel:c,cfg:r,log:d,runBudget:n}):await S({strategy:{subtasks:i},workerOutputs:k,staffModel:g,auditModel:h,body:a,handleSingleModel:c,cfg:r,log:d,runBudget:n}),o=m?E(m,t):E(k.map(a=>a.text).join("\n\n---\n\n"),t),u=ag(a,o);if(d?.info?.("SWARM",`Synthesizing final answer from ${k.length} worker outputs`),w){(0,z._5)(w,"synthesis",{model:s});let a=await c(u,s,{role:"manager"});if(a?.body){let b=a.body,c=new ReadableStream({start(a){let c=b.getReader(),d=()=>c.read().then(({done:b,value:c})=>{if(b){a.close(),(0,z.SH)(w,"synthesis"),(0,z.kA)(w,{workerCount:k.length});return}return a.enqueue(c),d()}).catch(()=>{try{a.close()}catch{}(0,z.SH)(w,"synthesis"),(0,z.kA)(w,{workerCount:k.length})});d()},cancel(a){(0,z.SH)(w,"synthesis"),(0,z.kA)(w,{workerCount:k.length})}});return new Response(c,{status:a.status,statusText:a.statusText,headers:a.headers})}return(0,z.SH)(w,"synthesis"),(0,z.kA)(w,{workerCount:k.length}),a}return c(u,s,{role:"manager"})}catch(b){return d?.error?.("SWARM",`Swarm failed: ${b?.message||b}`),w&&(0,z.bt)(w,b),c(a,s,{role:"manager"})}}async function P({body:a,managerModel:b,handleSingleModel:c,cfg:d,log:e}){let f=ag(w(H(a)),B);try{let a=await ai(c(f,b,{isPanel:!0,role:"gatekeeper"}),d.managerTimeoutMs);if(a?.__timeout||a?.__error)return"complex";let e=af(await a.clone().json().catch(()=>({})));return/VERDICT:\s*SIMPLE/i.test(e)?"simple":"complex"}catch{return"complex"}}async function Q({body:a,managerModel:b,handleSingleModel:c,cfg:d,log:e}){let f=F(a),g=ag(w(H(a)),C(f));try{let a=await ai(c(g,b,{isPanel:!0,role:"manager"}),d.managerTimeoutMs);if(a?.__timeout||a?.__error)return null;let e=af(await a.clone().json().catch(()=>({})));return G(e)}catch{return null}}async function R({strategy:a,models:b,body:c,handleSingleModel:d,cfg:e,log:f,runBudget:g}){let h=b.filter(Boolean);if(0===h.length)return[];let i=a.subtasks.map((a,b)=>{let f=h[b%h.length];return ai(d(ag(H(c),y(a)),f,{isPanel:!0,role:"worker"}),e.workerHardTimeoutMs).then(async b=>{if(b?.__timeout||b?.__error||!b?.ok)return{ok:!1,text:""};let c=af(await b.clone().json().catch(()=>({}))),d=g?g.clampOutput(c):c;return c&&!d?{ok:!1,text:""}:{ok:!0,text:d,subtask:a}}).catch(()=>({ok:!1,text:""}))}),j=await aj(i,{minPanel:Math.min(e.workerQuorum,i.length),stragglerGraceMs:e.stragglerGraceMs,panelHardTimeoutMs:e.workerHardTimeoutMs}),k=[];for(let a of j)a&&a.ok&&a.text&&k.push({subtask:a.subtask,text:a.text});return k}async function S({strategy:a,workerOutputs:b,staffModel:c,auditModel:d,body:e,handleSingleModel:f,cfg:g,log:h,runBudget:i}){let j=c||d;if(!j)return null;let k=a.subtasks.map(a=>{let c=b.find(b=>b.subtask===a);return{...a,output:c?.text||"(no output)"}}),l=ag(w(H(e)),D(k));try{let a=await ai(f(l,j,{isPanel:!0,role:"audit"}),g.managerTimeoutMs);if(a?.__timeout||a?.__error)return null;let b=af(await a.clone().json().catch(()=>({})));return i?i.clampOutput(b):b}catch{return null}}let T=new Set(["vision","pdf","audioInput","videoInput"]);async function U(a,b){if(!Array.isArray(a)||a.length<=1)return{active:a||[],skipped:[]};let d=[],e=[];for(let f of a){let a="string"==typeof f?f.indexOf("/"):-1,g=a>0?f.slice(0,a):"",i=g?(0,j.g2)(g):"";if(i&&(0,h.GK)(i,b))e.push(f);else if(i){let a=null;try{let{getProviderHealth:b}=await c.e(5628).then(c.bind(c,15628));a=b(i)}catch{}a&&a.total>=10&&null!==a.successRate&&a.successRate<.5?e.push(f):d.push(f)}else d.push(f)}return 0===d.length?{active:a,skipped:[]}:{active:d,skipped:e}}let V="[Called tools: ",W="[Tool result: ";function X(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"assistant",content:`${W}${(0,g.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,g.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${V}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,g.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${V}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${W}${d.join("\n")}]`),{...e,content:f}}}return a})}function Y(a){let b="string"==typeof a?a.indexOf("/"):-1,c=b>0?(0,j.g2)(a.slice(0,b)):"",d=b>0?a.slice(b+1):a;return(0,f.nl)(c,d)}let Z="oc/mimo-v2.5-free";function $(a,b,c=""){if(!Array.isArray(a)||0===a.length)return a;let d=[...b||[]].filter(a=>T.has(a));if(0===d.length)return a;let e=a=>{let b=Y(a);return d.every(a=>!0===b[a])};return a.some(e)||!c||a.includes(c)||!e(c)?a:[c,...a]}let _=new Map;function aa(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function ab(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{if(!a||"object"!=typeof a)return;let c=a.type;("image_url"===c||"image"===c||"input_image"===c)&&b.add("vision"),("audio_url"===c||"audio"===c||"input_audio"===c)&&b.add("audioInput"),("video_url"===c||"video"===c||"input_video"===c)&&b.add("videoInput"),("file"===c||"document"===c||"input_file"===c)&&b.add("pdf");let d=a.inlineData?.mimeType||a.fileData?.mimeType;"string"==typeof d&&d.startsWith("image/")&&b.add("vision"),"string"==typeof d&&(d.startsWith("audio/")||"application/ogg"===d)&&b.add("audioInput"),"string"==typeof d&&(d.startsWith("video/")||"application/mp4"===d)&&b.add("videoInput"),"application/pdf"===d&&b.add("pdf")},d=a=>{if(Array.isArray(a))for(let b of a)c(b)};for(let b of aa(a.messages))d(b.content);for(let b of aa(a.input))d(b.content);for(let b of aa(a.contents||a.request?.contents))d(b.parts);return b}function ac(a){a?_.delete(a):_.clear()}function ad(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function ae({body:a,models:b,handleSingleModel:c,log:f,comboName:g,comboStrategy:h,comboStickyLimit:i=1,autoSwitch:j=!0,breakerSettings:k=null,signal:l,runBudget:m,onModelServed:n}){if("fusion"===h||"swarm"===h||"cascade"===h)return f.warn("COMBO",`Combo "${g}" strategy ${h} not supported here (fallback/round-robin only)`),new Response(JSON.stringify({error:{message:`Combo strategy "${h}" is only supported for chat requests`,type:"invalid_request_error",code:"combo_strategy_not_supported"}}),{status:400,headers:{"Content-Type":"application/json"}});let o=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let f=b||"__default__",g=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,h=_.get(f)||{index:0,consecutiveUseCount:0},i=h.index%a.length,j=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,i),k=h.consecutiveUseCount+1;return k>=g?_.set(f,{index:(i+1)%a.length,consecutiveUseCount:0}):_.set(f,{index:i,consecutiveUseCount:k}),j}(b,g,h,i);if(k){let{active:a,skipped:b}=await U(o,k);b.length>0&&(f.info("COMBO",`breaker pre-filter: skipped ${b.length} open-breaker model(s) [${b.join(", ")}]`),o=a)}if(j){let b=ab(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>T.has(a)),d=[...b].filter(a=>!T.has(a));return a.map((a,b)=>{let e;return{m:a,i:b,t:(e=Y(a),c.every(a=>!0===e[a])?+!d.every(a=>!0===e[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(o,b);a[0]!==o[0]&&f.info("COMBO",`auto-switch for [${[...b].join(",")}] → ${a[0]}`),o=a}}let p=null,q=null,r=null;for(let b=0;b<o.length;b++){let e=o[b];f.info("COMBO",`Trying model ${b+1}/${o.length}: ${e}`);try{let b=await c(a,e,{role:"worker"});if(b.ok)return f.info("COMBO",`Model ${e} succeeded`),"function"==typeof n&&n(e),b;let g=b.statusText||"",h=null;try{let a=await b.clone().json();g=a?.error?.message||a?.error||a?.message||g,h=a?.retryAfter||null}catch{}if(h&&(!q||new Date(h)<new Date(q))&&(q=h),"string"!=typeof g)try{g=JSON.stringify(g)}catch{g=String(g)}let{shouldFallback:i,cooldownMs:j}=[400,405,406,413,415,422].includes(b.status)?{shouldFallback:!1,cooldownMs:0}:(0,d.hk)(b.status,g);if(!i)return f.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;j&&j>0&&j<=5e3&&(503===b.status||502===b.status||504===b.status)&&(f.info("COMBO",`Model ${e} transient ${b.status}, waiting ${j}ms before next`),await new Promise(a=>setTimeout(a,j))),p=g||String(b.status),r||(r=b.status),f.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){p=a.message||String(a),r||(r=500),f.warn("COMBO",`Model ${e} threw error, trying next`,{error:p})}}let s=p&&p.toLowerCase().includes("no credentials")?503:r||503,t=p||"All combo models unavailable";if(q){let a=(0,d.Qo)(q);return f.warn("COMBO",`All models failed | ${t} (${a})`),(0,e.wO)(s,t,q,a)}return f.warn("COMBO",`All models failed | ${t}`),new Response(JSON.stringify({error:{message:t,type:"server_error",code:"all_models_failed"}}),{status:s,headers:{"Content-Type":"application/json"}})}function af(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,g.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,g.kU)(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}function ag(a,b){let c={...a};return Array.isArray(a.messages)?c.messages=[...a.messages,{role:"user",content:b}]:Array.isArray(a.input)?c.input=[...a.input,{role:"user",content:b}]:Array.isArray(a.contents)?c.contents=[...a.contents,{role:"user",parts:[{text:b}]}]:c.messages=[{role:"user",content:b}],c}let ah={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};function ai(a,b,c){return"function"==typeof a?k(a,b,c).promise:new Promise(c=>{let d=setTimeout(()=>c({__timeout:!0}),b);Promise.resolve(a).then(a=>{clearTimeout(d),c(a)}).catch(a=>{clearTimeout(d),c({__error:a})})})}function aj(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d,onFinish:e}){return new Promise(f=>{let g=Array(a.length),h=0,i=0,j=!1,k=null,l=()=>{j||(j=!0,clearTimeout(m),k&&clearTimeout(k),e?.(),f(g))},m=setTimeout(l,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{g[e]=a}).catch(a=>{g[e]={__error:a}}).finally(()=>{if(h++,g[e]&&g[e].ok&&i++,h===a.length)return l();i>=b&&!k&&(k=setTimeout(l,c))})})})}async function ak({body:a,models:b,handleSingleModel:c,log:d,comboName:e,config:f,signal:g,runBudget:h,breakerSettings:i,telemetry:j=!0}){let k,l=Array.isArray(b)?b.filter(Boolean):[];if(0===l.length)return new Response(JSON.stringify({error:{message:"Smart Routing combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});let m=(0,s.a$)(a),n=j?(0,t.Fk)({comboName:e,promptPreview:m,lastUserMessage:m}).runId:null,o=(a,...b)=>{n&&a(n,...b)},p=null,q=(0,s.lN)({config:f,handleSingleModel:c,log:d,onIntent:a=>{p=a}});try{k=await (0,s.MS)({body:a,members:l,config:f,resolveIntent:q})}catch(a){d.warn("SMART",`Combo "${e}" routing failed (${a?.message||a}) — using default order`),k={order:l,reason:"general",details:{}},o(t.bt,`routing failed: ${a?.message||a}`)}let{order:r,reason:u,details:v}=k;d.info("SMART",`Combo "${e}" routing=${u} → [${r.join(", ")}]`),v?.excludedCookies?.length&&d.info("SMART",`Combo "${e}" tool_calling: excluded cookie models [${v.excludedCookies.join(", ")}]`),o(t.mU,{reason:u,order:r,...v,intent:p});try{let b=await ae({body:a,models:r,handleSingleModel:c,log:d,comboName:e,comboStrategy:"fallback",breakerSettings:i,signal:g,runBudget:h,onModelServed:a=>o(t.kc,a)});if(!n)return b;if(!b.ok){let a=b.statusText||"all models failed";try{let c=await b.clone().json();a=c?.error?.message||a}catch{}return(0,t.bt)(n,a||"all models failed"),b}if(b.body){let a=b.body,c=new ReadableStream({start(b){let c=a.getReader(),d=()=>c.read().then(({done:a,value:c})=>{if(a){b.close(),(0,t.kA)(n);return}return b.enqueue(c),d()}).catch(()=>{try{b.close()}catch{}(0,t.kA)(n)});d()},cancel(){(0,t.kA)(n)}});return new Response(c,{status:b.status,statusText:b.statusText,headers:b.headers})}return(0,t.kA)(n),b}catch(a){throw n&&(0,t.bt)(n,a?.message||a),a}}async function al({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g,signal:h,runBudget:j}){let l,o=Array.isArray(b)?b.filter(Boolean):[];if(0===o.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===o.length)return c(a,o[0],{role:"judge"});let p=(0,i.Ub)("fusion",{judgeModel:f},o);if(p.length>0){let a=p.map(a=>a.reason).join(" ");return new Response(JSON.stringify({error:{message:`Fusion role validation failed: ${a}`,type:"capability_error"}}),{status:400,headers:{"Content-Type":"application/json"}})}let s={...ah,...g||{}},t=Math.min(Math.max(2,s.minPanel),o.length),u=f&&f.trim()?f.trim():o[0];d.info("FUSION",`Combo "${e}" | panel=${o.length} [${o.join(", ")}] | judge=${u} | quorum=${t}`);let v=async(a,b)=>{let c=k(a,s.panelHardTimeoutMs,h),e=await c.promise;if(c.cleanup(),e?.__error?.name==="AbortError")throw e.__error;return e?.__timeout?(d.warn("FUSION",`${b} timed out after ${s.panelHardTimeoutMs}ms`),new Response(JSON.stringify({error:{message:`${b} timed out`}}),{status:504,headers:{"Content-Type":"application/json"}})):e?.__error?(d.warn("FUSION",`${b} error: ${e.__error?.message||e.__error}`),new Response(JSON.stringify({error:{message:`${b} failed: ${e.__error?.message||"unknown error"}`}}),{status:502,headers:{"Content-Type":"application/json"}})):e},w=m(a),x=q(a,w),y=o.map(a=>k(b=>c(x,a,{isPanel:!0,signal:b,trafficClass:"panel",role:"panel"}),s.panelHardTimeoutMs,h)),z=Date.now(),A=await aj(y.map(a=>a.promise),{...s,minPanel:t,onFinish:()=>y.forEach(a=>a.abort("fusion panel closed"))});y.forEach(a=>a.cleanup()),d.info("FUSION",`fan-out collected in ${Date.now()-z}ms`);let B=[];for(let a=0;a<A.length;a++){let b=A[a],c=o[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=af(a);if(e){let a=j?j.clampOutput(e):e;if(!a){d.warn("FUSION",`Panel ${c} exceeded output budget`);continue}B.push({model:c,text:a,res:b}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)}else d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===B.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===B.length)return a?.stream===!0?(d.info("FUSION",`Only ${B[0].model} succeeded — re-running with stream:true to honor client SSE request (no fusion)`),v(b=>c(a,B[0].model,{role:"panel",signal:b,trafficClass:"user"}),`Re-run ${B[0].model}`)):(d.info("FUSION",`Only ${B[0].model} succeeded — returning its response directly (no fusion, no re-run)`),B[0].res);let C=j?.limits?.maxOutputChars||12e4,D=n(a,r((l=B.map((a,b)=>`[Source ${b+1}]
|
|
10
|
+
${a.text}`).join("\n\n"),[`You are the JUDGE in a model-fusion panel. ${B.length} expert models independently answered the user's most recent request. Their responses are below, anonymized by source.`,"\nDo NOT mention that multiple models were used, and do NOT refer to the sources. Produce ONE authoritative final answer addressed directly to the user.\n\nFirst, internally analyze the panel along these dimensions: consensus (points most sources agree on — treat as higher-confidence), contradictions (where they disagree — resolve with your own judgment), partial coverage, unique insights only one source surfaced, and blind spots every source missed. Then write the best possible final answer grounded in that analysis — more complete and correct than any single response, with no filler.\n\n=== PANEL RESPONSES ===",l,"=== END PANEL RESPONSES ===\n\nNow write the final answer to the user's original request."].join("\n")),C),w);return d.info("FUSION",`Judging ${B.length} answers with ${u}`),v(a=>c(D,u,{role:"judge",signal:a,trafficClass:"user"}),`Judge ${u}`)}let am={confidenceThreshold:70,confidencePrompt:"Rate your confidence in this answer from 0 to 100. End your response with exactly: CONFIDENCE: <number>",escalatePrompt:"A prior model gave the following answer with low confidence. Review it, correct any issues, and provide a better answer.",maxStages:3};async function an({body:a,models:b,handleSingleModel:c,log:d,comboName:e,tuning:f,signal:g,runBudget:h}){let i=Array.isArray(b)?b.filter(Boolean):[];if(0===i.length)return new Response(JSON.stringify({error:{message:"Cascade combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});let j={...am,...f||{}},k=Math.min(Math.max(1,j.maxStages),i.length),l=m(a),o=q(a,l),p=null,s=null;for(let a=0;a<k;a++){var t;let b,e=i[a],f=a===k-1,m=o;m=null!=p?n(m,`${j.escalatePrompt}
|
|
11
|
+
|
|
12
|
+
--- Prior Answer (${s}) ---
|
|
13
|
+
${r(p,6e4)}
|
|
14
|
+
--- End Prior Answer ---
|
|
15
|
+
|
|
16
|
+
${j.confidencePrompt}`,l):n(m,j.confidencePrompt,l),d.info("CASCADE",`Stage ${a+1}/${k}: ${e}${p?" (escalated)":""}`);try{b=await c(m,e,{isPanel:!0,role:"worker",signal:g})}catch(b){if(b?.name==="AbortError")throw b;if(d.warn("CASCADE",`Stage ${a+1} (${e}) threw: ${b?.message||b}`),f)return new Response(JSON.stringify({error:{message:`Cascade failed at final stage: ${b?.message||"unknown"}`}}),{status:502,headers:{"Content-Type":"application/json"}});p=null,s=e;continue}if(b?.__timeout||b?.__error){if(d.warn("CASCADE",`Stage ${a+1} (${e}) ${b.__timeout?"timed out":"errored"}`),f)return new Response(JSON.stringify({error:{message:"Cascade failed at final stage"}}),{status:502,headers:{"Content-Type":"application/json"}});p=null,s=e;continue}if(!b?.ok){if(d.warn("CASCADE",`Stage ${a+1} (${e}) returned status ${b?.status}`),f)return b;p=null,s=e;continue}if(f)return d.info("CASCADE",`Final stage (${e}) returning`),b;let q="";try{let a=await b.clone().json().catch(()=>({}));(q=af(a))&&h&&(q=h.clampOutput(q))}catch{}let u=function(a){if(!a||"string"!=typeof a)return -1;let b=a.match(/CONFIDENCE:\s*(\d{1,3})\s*$/i);if(!b)return -1;let c=Number.parseInt(b[1],10);return Number.isFinite(c)&&c>=0&&c<=100?c:-1}(q);if(d.info("CASCADE",`Stage ${a+1} (${e}) confidence=${u}`),u>=0&&u>=j.confidenceThreshold)return d.info("CASCADE",`Stage ${a+1} confident (${u} ≥ ${j.confidenceThreshold}) — returning`),b;p=((t=q)&&"string"==typeof t?t.replace(/\s*CONFIDENCE:\s*\d{1,3}\s*$/i,"").trim():t)||q,s=e}return new Response(JSON.stringify({error:{message:"Cascade exhausted all stages"}}),{status:502,headers:{"Content-Type":"application/json"}})}}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},smartRoutingRuns:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT",promptPreview:"TEXT",lastUserMessage:"TEXT",routing:"TEXT",reason:"TEXT",servedModel:"TEXT",status:"TEXT",error:"TEXT",startedAt:"TEXT NOT NULL",completedAt:"TEXT",totalDurationMs:"INTEGER"},indexes:["CREATE INDEX IF NOT EXISTS idx_srr_started ON smartRoutingRuns(startedAt DESC)","CREATE INDEX IF NOT EXISTS idx_srr_status ON smartRoutingRuns(status)","CREATE INDEX IF NOT EXISTS idx_srr_combo ON smartRoutingRuns(comboName)","CREATE INDEX IF NOT EXISTS idx_srr_reason ON smartRoutingRuns(reason)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},smartRoutingRuns:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT",promptPreview:"TEXT",lastUserMessage:"TEXT",routing:"TEXT",reason:"TEXT",servedModel:"TEXT",status:"TEXT",error:"TEXT",startedAt:"TEXT NOT NULL",completedAt:"TEXT",totalDurationMs:"INTEGER"},indexes:["CREATE INDEX IF NOT EXISTS idx_srr_started ON smartRoutingRuns(startedAt DESC)","CREATE INDEX IF NOT EXISTS idx_srr_status ON smartRoutingRuns(status)","CREATE INDEX IF NOT EXISTS idx_srr_combo ON smartRoutingRuns(comboName)","CREATE INDEX IF NOT EXISTS idx_srr_reason ON smartRoutingRuns(reason)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90507:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(76040);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},smartRoutingRuns:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT",promptPreview:"TEXT",lastUserMessage:"TEXT",routing:"TEXT",reason:"TEXT",servedModel:"TEXT",status:"TEXT",error:"TEXT",startedAt:"TEXT NOT NULL",completedAt:"TEXT",totalDurationMs:"INTEGER"},indexes:["CREATE INDEX IF NOT EXISTS idx_srr_started ON smartRoutingRuns(startedAt DESC)","CREATE INDEX IF NOT EXISTS idx_srr_status ON smartRoutingRuns(status)","CREATE INDEX IF NOT EXISTS idx_srr_combo ON smartRoutingRuns(comboName)","CREATE INDEX IF NOT EXISTS idx_srr_reason ON smartRoutingRuns(reason)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90507:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(76040);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";exports.id=5253,exports.ids=[5253],exports.modules={644:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},36366:(a,b,c)=>{c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(874).then(c.bind(c,90874));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},55253:(a,b,c)=>{c.d(b,{ZG:()=>i,dU:()=>h,loadRecentRuns:()=>j,mo:()=>k,persistRuns:()=>f});var d=c(36366),e=c(644);async function f(a){if(!Array.isArray(a)||0===a.length)return;let b=await (0,d.c)(),c=Number(process.env.SMART_ROUTING_MAX_RECORDS)||1e3;b.transaction(()=>{for(let c of a){if(!c||!c.runId)continue;let a=null!=c.startedAt?String(c.startedAt):new Date().toISOString();b.run(`INSERT INTO smartRoutingRuns(id, comboName, promptPreview, lastUserMessage, routing, reason, servedModel, status, error, startedAt, completedAt, totalDurationMs)
|
|
2
|
+
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
3
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
4
|
+
comboName = excluded.comboName,
|
|
5
|
+
promptPreview = excluded.promptPreview,
|
|
6
|
+
lastUserMessage = excluded.lastUserMessage,
|
|
7
|
+
routing = excluded.routing,
|
|
8
|
+
reason = excluded.reason,
|
|
9
|
+
servedModel = excluded.servedModel,
|
|
10
|
+
status = excluded.status,
|
|
11
|
+
error = excluded.error,
|
|
12
|
+
startedAt = excluded.startedAt,
|
|
13
|
+
completedAt = excluded.completedAt,
|
|
14
|
+
totalDurationMs = excluded.totalDurationMs`,[c.runId,c.comboName||null,c.promptPreview||null,c.lastUserMessage||null,c.routing?(0,e.s)(c.routing):null,c.routing?.reason||null,c.servedModel||null,c.status||"running",c.error||null,a,null!=c.completedAt?String(c.completedAt):null,null!=c.totalDurationMs?Number(c.totalDurationMs):null])}let d=b.get("SELECT COUNT(*) as c FROM smartRoutingRuns");d&&d.c>c&&b.run(`DELETE FROM smartRoutingRuns WHERE id IN (
|
|
15
|
+
SELECT id FROM smartRoutingRuns ORDER BY startedAt ASC LIMIT ?
|
|
16
|
+
)`,[d.c-c])})}function g(a){return a?{runId:a.id,comboName:a.comboName,promptPreview:a.promptPreview,lastUserMessage:a.lastUserMessage||null,routing:a.routing?(0,e.q)(a.routing,null):null,servedModel:a.servedModel,status:a.status,error:a.error,startedAt:null!=a.startedAt?Number(a.startedAt):null,completedAt:null!=a.completedAt?Number(a.completedAt):null,totalDurationMs:null!=a.totalDurationMs?Number(a.totalDurationMs):null}:null}async function h({page:a=1,pageSize:b=20,comboName:c,status:e,reason:f,startDate:i,endDate:j}={}){let k=await (0,d.c)(),l=[],m=[];if(c&&(l.push("comboName = ?"),m.push(c)),e&&(l.push("status = ?"),m.push(e)),f&&(l.push("reason = ?"),m.push(f)),i){let a=new Date(i).getTime();Number.isFinite(a)&&(l.push("CAST(startedAt AS INTEGER) >= ?"),m.push(a))}if(j){let a=new Date(j).getTime();Number.isFinite(a)&&(l.push("CAST(startedAt AS INTEGER) <= ?"),m.push(a))}let n=l.length?`WHERE ${l.join(" AND ")}`:"",o=k.get(`SELECT COUNT(*) as c FROM smartRoutingRuns ${n}`,m),p=o?o.c:0,q=Math.min(Math.max(Number(b)||20,1),200),r=Math.max(1,Math.ceil(p/q)),s=Math.min(Math.max(Number(a)||1,1),r);return{runs:k.all(`SELECT * FROM smartRoutingRuns ${n} ORDER BY startedAt DESC LIMIT ? OFFSET ?`,[...m,q,(s-1)*q]).map(g).filter(Boolean),pagination:{page:s,pageSize:q,totalItems:p,totalPages:r,hasNext:s<r,hasPrev:s>1}}}async function i(a){return a?g((await (0,d.c)()).get("SELECT * FROM smartRoutingRuns WHERE id = ?",[a])):null}async function j({limit:a=50,comboName:b,status:c}={}){let{runs:d}=await h({page:1,pageSize:a,comboName:b,status:c});return d}async function k(){return(await (0,d.c)()).all("SELECT DISTINCT comboName FROM smartRoutingRuns WHERE comboName IS NOT NULL AND comboName != '' ORDER BY comboName").map(a=>a.comboName)}},58273:(a,b,c)=>{c.d(b,{n:()=>r});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(76760),k=c.n(j),l=c(48161),m=c.n(l);function n(a){if(!a)return!1;try{let b=k().join(a,".migrated-from");if(e().existsSync(b))return!1;let c="win32"===process.platform?k().join(process.env.APPDATA||k().join(m().homedir(),"AppData","Roaming"),"9router"):k().join(m().homedir(),".9router");if(!c||!e().existsSync(c))return e().mkdirSync(a,{recursive:!0}),e().writeFileSync(b,"none\n"),!1;if(function(a){let b=["db.sqlite","db.json","usage.json","settings.json"],c=[];try{for(let d of e().readdirSync(a))b.includes(d)&&c.push(d)}catch{}return c}(a).length>0)return e().writeFileSync(b,"skipped: new dir already populated\n"),!1;return e().mkdirSync(a,{recursive:!0}),function a(b,c){for(let d of(e().mkdirSync(c,{recursive:!0}),e().readdirSync(b,{withFileTypes:!0}))){if("runtime"===d.name)continue;let f=k().join(b,d.name),g=k().join(c,d.name);d.isDirectory()?a(f,g):e().copyFileSync(f,g)}}(c,a),e().writeFileSync(b,`${c}
|
|
17
|
+
`),console.log(`[extremerouter] migrated data from ${c} → ${a}`),!0}catch(a){return console.warn(`[extremerouter] data migration skipped: ${a?.message||a}`),!1}}let o="extremerouter";function p(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),o):g().join(i().homedir(),`.${o}`)}function q(){let a=p();return e().mkdirSync(a,{recursive:!0}),n(a),a}let r=function(){let a=process.env.DATA_DIR,b=a||p();if("win32"===process.platform&&a&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),q();try{return e().mkdirSync(b,{recursive:!0}),a||n(b),b}catch(a){if(a?.code==="EACCES"||a?.code==="EPERM")return console.warn(`[DATA_DIR] '${b}' not writable → fallback ~/.${o}`),q();throw a}}()},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(58273);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",allowedModels:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",strategyConfig:"TEXT NOT NULL DEFAULT '{}'",revision:"INTEGER NOT NULL DEFAULT 1",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",latencyTtftMs:"INTEGER DEFAULT 0",latencyTotalMs:"INTEGER DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_status ON usageHistory(status)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},smartRoutingRuns:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT",promptPreview:"TEXT",lastUserMessage:"TEXT",routing:"TEXT",reason:"TEXT",servedModel:"TEXT",status:"TEXT",error:"TEXT",startedAt:"TEXT NOT NULL",completedAt:"TEXT",totalDurationMs:"INTEGER"},indexes:["CREATE INDEX IF NOT EXISTS idx_srr_started ON smartRoutingRuns(startedAt DESC)","CREATE INDEX IF NOT EXISTS idx_srr_status ON smartRoutingRuns(status)","CREATE INDEX IF NOT EXISTS idx_srr_combo ON smartRoutingRuns(comboName)","CREATE INDEX IF NOT EXISTS idx_srr_reason ON smartRoutingRuns(reason)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|