nggrouter 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +14 -12
- package/app/.next-cli-build/build-manifest.json +4 -4
- package/app/.next-cli-build/prerender-manifest.json +49 -21
- package/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/app/.next-cli-build/routes-manifest.json +12 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/addons/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/addons/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/addons/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/arena/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/arena/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/arena/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/checkin/page.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/checkin/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/checkin/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -5
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/system-status/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/system-status/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/system-status/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +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/_not-found/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/addons/list/route.js +1 -1
- package/app/.next-cli-build/server/app/api/addons/list/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/addons/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/addons/update/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/saml/acs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/checkin/route.js +1 -0
- package/app/.next-cli-build/server/app/api/checkin/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/checkin/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js +22 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/bulk-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/bulk-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +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/health/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/system/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/system/status/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]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/error-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/error-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +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/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/arena.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/arena.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/arena.segments/!KGRhc2hib2FyZCk/dashboard/arena/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/arena.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/arena.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/checkin.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/checkin.meta +44 -0
- package/app/.next-cli-build/server/app/dashboard/checkin.rsc +45 -0
- package/app/.next-cli-build/server/app/dashboard/checkin.segments/!KGRhc2hib2FyZCk/dashboard/checkin/__PAGE__.segment.rsc +47 -0
- package/app/.next-cli-build/server/app/dashboard/checkin.segments/_full.segment.rsc +45 -0
- package/app/.next-cli-build/server/app/dashboard/checkin.segments/_tree.segment.rsc +11 -0
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.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 +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/system-status.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/system-status.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/system-status.segments/!KGRhc2hib2FyZCk/dashboard/system-status/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/system-status.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/system-status.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/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 +6 -6
- package/app/.next-cli-build/server/app/index.segments/_full.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 +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +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/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.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 +6 -6
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +14 -12
- package/app/.next-cli-build/server/chunks/1132.js +1 -1
- package/app/.next-cli-build/server/chunks/1306.js +1 -1
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1757.js +22 -2
- package/app/.next-cli-build/server/chunks/1782.js +51 -0
- package/app/.next-cli-build/server/chunks/2236.js +1 -0
- package/app/.next-cli-build/server/chunks/238.js +1 -1
- package/app/.next-cli-build/server/chunks/24.js +1 -1
- package/app/.next-cli-build/server/chunks/2559.js +1 -1
- package/app/.next-cli-build/server/chunks/2925.js +1 -1
- package/app/.next-cli-build/server/chunks/2970.js +2 -2
- package/app/.next-cli-build/server/chunks/3192.js +3 -3
- package/app/.next-cli-build/server/chunks/{1851.js → 3360.js} +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/3966.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/4334.js +1 -0
- package/app/.next-cli-build/server/chunks/4386.js +1 -1
- package/app/.next-cli-build/server/chunks/444.js +1 -0
- package/app/.next-cli-build/server/chunks/4732.js +2 -0
- package/app/.next-cli-build/server/chunks/4775.js +1 -1
- package/app/.next-cli-build/server/chunks/4803.js +9 -0
- package/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/app/.next-cli-build/server/chunks/{3277.js → 5274.js} +1 -1
- package/app/.next-cli-build/server/chunks/5299.js +11 -4
- package/app/.next-cli-build/server/chunks/5330.js +11 -7
- package/app/.next-cli-build/server/chunks/5360.js +2 -0
- package/app/.next-cli-build/server/chunks/539.js +1 -0
- package/app/.next-cli-build/server/chunks/5390.js +1 -1
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5800.js +9 -0
- package/app/.next-cli-build/server/chunks/6103.js +1 -0
- package/app/.next-cli-build/server/chunks/6252.js +9 -0
- package/app/.next-cli-build/server/chunks/6267.js +1 -0
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6877.js +1 -1
- package/app/.next-cli-build/server/chunks/6922.js +1 -1
- package/app/.next-cli-build/server/chunks/7121.js +1 -1
- package/app/.next-cli-build/server/chunks/7141.js +1 -0
- package/app/.next-cli-build/server/chunks/7211.js +1 -1
- package/app/.next-cli-build/server/chunks/7247.js +1 -1
- package/app/.next-cli-build/server/chunks/7373.js +2 -2
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7774.js +13 -13
- package/app/.next-cli-build/server/chunks/7828.js +1 -1
- package/app/.next-cli-build/server/chunks/7911.js +1 -1
- package/app/.next-cli-build/server/chunks/7965.js +2 -2
- package/app/.next-cli-build/server/chunks/8062.js +9 -0
- package/app/.next-cli-build/server/chunks/8228.js +9 -0
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8432.js +1 -0
- package/app/.next-cli-build/server/chunks/8469.js +9 -0
- package/app/.next-cli-build/server/chunks/8499.js +4 -54
- package/app/.next-cli-build/server/chunks/8895.js +13 -8
- package/app/.next-cli-build/server/chunks/8910.js +1 -1
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- package/app/.next-cli-build/server/chunks/915.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +2 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +6 -6
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/prefetch-hints.json +24 -0
- package/app/.next-cli-build/server/preview-props.json +3 -3
- 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/chunks/2985-0edfac861dcab249.js +1 -0
- package/app/.next-cli-build/static/chunks/{3794-39f2d5bb0d40336b.js → 3794-04350b0fcecd82e5.js} +1 -1
- package/app/.next-cli-build/static/chunks/5497-2ad88f6a28d488f2.js +7 -0
- package/app/.next-cli-build/static/chunks/{620-eb4703fefb0a8224.js → 620-664195c468db3646.js} +1 -1
- package/app/.next-cli-build/static/chunks/{761-ee86f920b407fe8e.js → 761-4b979ab522d3ca71.js} +11 -4
- package/app/.next-cli-build/static/chunks/8105-8f6822fa963b7f8e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/checkin/page-42825bd41f565908.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-cfb01ebc3a0d2693.js → page-96c2c298c3e438e7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/error-log/page-41255a729606a996.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b9356341fb501ec9.js +27 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5fb01979338d3c54.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-e2e50aefcea07c9b.js → page-002702d0d2cd95ab.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-c2ab03a59a42ed24.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-bac485d168267329.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/addons/list/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/addons/update/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/checkin/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/bulk-proxy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/system/status/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/{main-00cd8c01f6f6e461.js → main-ca004678a0b6b16d.js} +1 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-9080ff61af91a815.js +1 -0
- package/app/.next-cli-build/static/chunks/{webpack-c056b5babdc7a81f.js → webpack-d22e163354099479.js} +1 -1
- package/app/.next-cli-build/static/css/5ce1d74323ea1a81.css +1 -0
- package/app/.next-cli-build/static/o6uo4o14Oyh19p0YQDVpi/_buildManifest.js +1 -0
- package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +94 -1589
- package/app/node_modules/@aws-sdk/core/package.json +2 -2
- package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/package.json +3 -3
- package/app/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
- package/app/node_modules/@aws-sdk/credential-provider-http/package.json +3 -3
- package/app/node_modules/@aws-sdk/credential-provider-ini/package.json +10 -10
- package/app/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
- package/app/node_modules/@aws-sdk/credential-provider-node/package.json +8 -8
- package/app/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
- package/app/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
- package/app/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
- package/app/node_modules/@aws-sdk/credential-providers/package.json +13 -13
- package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/app/node_modules/@aws-sdk/nested-clients/package.json +3 -3
- package/app/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +37 -19
- package/app/node_modules/@aws-sdk/token-providers/package.json +4 -4
- package/app/node_modules/@next/env/package.json +1 -1
- package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
- package/app/node_modules/baseline-browser-mapping/package.json +4 -4
- package/app/node_modules/next/dist/build/swc/index.js +1 -1
- package/app/node_modules/next/dist/build/webpack-config.js +3 -3
- package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
- package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
- package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/app/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
- package/app/node_modules/next/dist/server/config.js +1 -1
- package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/app/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/app/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
- package/app/node_modules/next/dist/server/lib/router-server.js +1 -1
- package/app/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/app/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
- package/app/node_modules/next/dist/server/typescript/rules/config.js +2 -2
- package/app/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/app/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/app/node_modules/next/package.json +10 -10
- package/app/node_modules/sql.js/dist/sql-wasm.js +92 -92
- package/app/node_modules/sql.js/package.json +1 -1
- package/app/package.json +2 -2
- package/app/public/fonts/material-symbols-outlined.woff2 +0 -0
- package/app/src/mitm/server.js +25 -25
- package/package.json +1 -1
- package/src/cli/menus/providers.js +4 -0
- package/app/.next-cli-build/server/chunks/2708.js +0 -1
- package/app/.next-cli-build/server/chunks/3726.js +0 -1
- package/app/.next-cli-build/server/chunks/700.js +0 -1
- package/app/.next-cli-build/server/chunks/7066.js +0 -1
- package/app/.next-cli-build/server/chunks/8251.js +0 -1
- package/app/.next-cli-build/server/chunks/8402.js +0 -1
- package/app/.next-cli-build/server/chunks/8716.js +0 -1
- package/app/.next-cli-build/static/-A8yVxeQUhunMwVeISlwZ/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-bdb464e8bf997966.js +0 -7
- package/app/.next-cli-build/static/chunks/6808-e6340e2d4cfe01fe.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-5dd3fc022d984a17.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/error-log/page-b29648e60668531b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-deb38e87524ff14e.js +0 -27
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-06427d5637ff9cb2.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-07ce5bf168a701aa.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-8d03e04e4f7e0bcc.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/addons/list/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/addons/update/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/bulk-proxy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/system/status/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-7d5b3595c7187b08.js +0 -1
- package/app/.next-cli-build/static/css/a97374177c39fad4.css +0 -1
- /package/app/.next-cli-build/static/{-A8yVxeQUhunMwVeISlwZ → o6uo4o14Oyh19p0YQDVpi}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(()=>{var a={};a.id=8929,a.ids=[8929],a.modules={1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},2258:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={INSTANT_SLOT_MARKER_PREFIX:function(){return f},INSTANT_SLOT_MARKER_SUFFIX:function(){return g},INSTANT_VALIDATION_BOUNDARY_NAME:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_instant_validation_boundary__",f="__next_instant_slot_",g="__"},2886:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+k.F*!(y&&c(46)(function(a){v.all(a).catch(x)})),s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},3144:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),d=c(8582),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4522:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},4945:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(11042),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},6062:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isAbortError:function(){return j},pipeNodeReadableToNodeResponse:function(){return m},pipeToNodeResponse:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(88450),g=c(29299),h=c(12726),i=c(88026);function j(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===f.ResponseAbortedName}let k="performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX;async function l(a,b,c,d){try{let{errored:e,destroyed:j}=b;if(e||j)return;let l=(0,f.createAbortController)(b),m=function(a,b,c){let d=!1,e=(0,g.createPromiseWithResolvers)();function f(){e.resolve()}a.on("drain",f),a.once("close",()=>{a.off("drain",f),e.resolve()});let j=(0,g.createPromiseWithResolvers)();return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!d){if(d=!0,k){let a=null==c?void 0:c.snapshot();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await e.promise,e=(0,g.createPromiseWithResolvers)())}catch(b){throw a.end(),Error("failed to write chunk to response",{cause:b})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c,d);await a.pipeTo(m,{signal:l.signal})}catch(a){if(j(a))return;throw Error("failed to pipe response",{cause:a})}}async function m(a,b,c,d){try{let{errored:e,destroyed:f}=b;if(e||f)return;let k=!1,l=(0,g.createPromiseWithResolvers)(),m=!1,n=()=>{m&&!a.destroyed&&(m=!1,a.resume())};b.on("drain",n),b.once("close",()=>{b.off("drain",n),a.destroy(),l.resolve()}),a.on("data",c=>{if(!k){if(k=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=null==d?void 0:d.snapshot();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}b.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}let e=b.write(c);"flush"in b&&"function"==typeof b.flush&&b.flush(),e||(m=!0,a.pause())}),a.on("end",async()=>{c&&await c,b.writableFinished||b.end(),l.resolve()}),a.on("error",a=>{j(a)||b.destroy(a),l.resolve()}),await l.promise}catch(a){if(j(a))return;throw Error("failed to pipe response",{cause:a})}}},6365:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(22697),e=c(86013);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},6492:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),HEAD:new Uint8Array([60,104,101,97,100]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},6796:(a,b,c)=>{"use strict";a.exports=c(10846)},6872:(a,b)=>{"use strict";function c(a){return"1"===a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isRSCRequestHeader",{enumerable:!0,get:function(){return c}})},7039:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},7125:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return h}});let d=c(27048),e=c(6062),f=c(42776);function g(a){return null!==a&&"object"==typeof a&&"function"==typeof a.pipe&&"function"==typeof a.on&&!(a instanceof ReadableStream)}class h{static #a=this.EMPTY=new h(null,{metadata:{},contentType:null});static fromStatic(a,b){return new h(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js");return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):g(this.response)?require("node:stream").Readable.toWeb(this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:g(this.response)?[require("node:stream").Readable.toWeb(this.response)]:[this.response]}pipeThrough(a){this.response=this.readable.pipeThrough(a)}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){null!==this.response&&"string"!=typeof this.response&&!Buffer.isBuffer(this.response)&&!Array.isArray(this.response)&&g(this.response)?await (0,e.pipeNodeReadableToNodeResponse)(this.response,a,this.waitUntil,this.metadata.clientComponentLoadTracker):await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil,this.metadata.clientComponentLoadTracker)}}},7370:(a,b)=>{"use strict";function c(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getEdgePreviewProps",{enumerable:!0,get:function(){return c}})},7465:a=>{"use strict";a.exports=require("next/dist/server/lib/router-utils/instrumentation-globals.external")},7597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createTieredCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(29294),e=c(33163);function f(a,b){let c=new Map;function f(a,b){let e,f=c.get(a);e=(e=f?f.then(b):b()).finally(()=>{c.get(a)===e&&c.delete(a)}),c.set(a,e);let g=d.workAsyncStorage.getStore();g&&(g.pendingRevalidateWrites??=[],g.pendingRevalidateWrites.push(e))}return{async get(c,d){let i=await a.get(c,d);if(i)return f(c,()=>g(a,b,c,d,i)),i;let j=await b.get(c,d);if(!j)return;let[k,l]=(0,e.cloneCacheEntry)(j);return f(c,()=>h(a,c,l)),k},async set(c,d){let f=await d,[g,h]=(0,e.cloneCacheEntry)(f);await Promise.all([a.set(c,Promise.resolve(g)),b.set(c,Promise.resolve(h))])}}}async function g(a,b,c,d,e){try{let f=await b.get(c,d);if(!f)return void await a.set(c,Promise.resolve({...e,expire:-1,value:new ReadableStream({start(a){a.enqueue(new Uint8Array(1)),a.close()}})}));f.timestamp>e.timestamp?await a.set(c,Promise.resolve(f)):f.value.cancel()}catch{}}async function h(a,b,c){try{await a.set(b,Promise.resolve(c))}catch{}}},7841:(a,b,c)=>{"use strict";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(72045);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})}},8007:(a,b,c)=>{"use strict";function d(a){return function(){let{cookie:b}=a;if(!b)return{};let{parse:d}=c(19560);return d(Array.isArray(b)?b.join("; "):b)}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCookieParser",{enumerable:!0,get:function(){return d}})},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return f}});let d=c(29294),e=c(63033);function f(a){let b=d.workAsyncStorage.getStore(),c=e.workUnitAsyncStorage.getStore();if(!b||!c)throw Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context");let{afterContext:f}=b;return f.after(a,c)}},8912:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f={DynamicHoleKind:function(){return W},PreludeState:function(){return ae},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return G},annotateDynamicAccess:function(){return L},consumeDynamicAccess:function(){return H},createDynamicTrackingState:function(){return t},createDynamicValidationState:function(){return u},createHangingInputAbortSignal:function(){return J},createInstantValidationState:function(){return X},formatDynamicAPIAccesses:function(){return I},getDisallowedReasonsInStaticRoute:function(){return aj},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return al},getStaticShellDisallowedDynamicReasons:function(){return ak},isPrerenderInterruptedError:function(){return F},logDisallowedDynamicError:function(){return af},markCurrentScopeAsDynamic:function(){return x},throwIfDisallowedDynamic:function(){return ah},throwIfDisallowedDynamicInStaticRoute:function(){return ai},throwIfSyncIOUsed:function(){return ag},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return V},trackDynamicAccessInStaticRoute:function(){return U},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return Y},trackDynamicHoleInStaticShell:function(){return ac},trackThrownErrorInNavigation:function(){return ab}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});c(34539);let h=c(89198),i=c(49540),j=c(63033),k=c(80311),l=c(50158),m=c(28704),n=c(38742),o=c(42776),p=c(2258),q=c(77150),r=c(82745),s=c(70627);function t(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function u(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function v(a){return a.syncDynamicErrorWithStackPostMicrotask?null:a.syncDynamicErrorWithStack}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw new i.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(b&&b.type==="prerender-legacy"){b.revalidate=0;let d=new h.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=new h.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=E(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c,queueMicrotask(()=>{e.syncDynamicErrorWithStackPostMicrotask=!0})),A(a,b,d)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw E(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}let D="NEXT_PRERENDER_INTERRUPTED";function E(a){let b=Error(a);return b.digest=D,b}function F(a){return"object"==typeof a&&null!==a&&a.digest===D&&"name"in a&&"message"in a&&a instanceof Error}function G(a){return a.length>0}function H(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function I(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
|
|
2
|
-
${b}`))}function J(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,j.getStagedRenderingController)(a);c&&null!==c.finalStage?c.waitForStage(c.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>b.abort()),K):(0,m.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"validation-client":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"build-time-generator":return}}function K(){}function L(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}let M=/\n\s+at Suspense \(<anonymous>\)/,N=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${l.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),O=RegExp(`\\n\\s+at ${l.METADATA_BOUNDARY_NAME}[\\n\\s]`),P=RegExp(`\\n\\s+at ${l.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${l.OUTLET_BOUNDARY_NAME}[\\n\\s]`),R=RegExp(`\\n\\s+at ${p.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),S=RegExp(`\\n\\s+at ${p.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${p.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function T(a,b){N.test(a)&&(b.hasSuspenseAboveBody=!0)}function U(a,b,c,d,e,f,g){let h=v(e);if(Q.test(c))return void T(c,d);if(O.test(c))return void d.dynamicErrors.push(ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeMetadataErrorInStaticRoute)(b);case 5:return(0,n.createDynamicMetadataErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableMetadataErrorInStaticRoute)(b)}}(g,b.route),c,null));if(P.test(c))return void d.dynamicErrors.push(ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeViewportErrorInStaticRoute)(b);case 5:return(0,n.createDynamicViewportErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableViewportErrorInStaticRoute)(b)}}(g,b.route),c,null));let i=!1;if(N.test(c)?(d.hasSuspenseAboveBody=!0,i=!0):M.test(c)&&(i=!0),i){if(!f||h||(0,k.isClientHookDynamicError)(a)){d.hasAllowedDynamic=!0;return}d.dynamicErrors.push(ad(aa(g,b.route),c,null));return}if(h)return void d.dynamicErrors.push(h);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let j=ad(f?aa(g,b.route):Z(g,b.route),c,null);d.dynamicErrors.push(j)}function V(a,b,c,d,e){let f=v(e);if(Q.test(c))return void T(c,d);if(O.test(c)){d.hasDynamicMetadata=!0;return}if(P.test(c)){d.hasDynamicViewport=!0;return}if(N.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(M.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let g=ad(Z(6,b.route),c,null);d.dynamicErrors.push(g)}var W=((d={})[d.Runtime=1]="Runtime",d[d.Link=2]="Link",d[d.Navigation=3]="Navigation",d[d.Prefetch=4]="Prefetch",d[d.Dynamic=5]="Dynamic",d[d.RuntimeOrDynamic=6]="RuntimeOrDynamic",d);function X(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:a}}function Y(a,b,c,d,e,f,g){let h=v(e);if(Q.test(c))return;let i=function(a,b){let{slotStacks:c}=b;if(c.length>1){let b=S.exec(a);if(b){let a=c[parseInt(b[1],10)+1];if(null!=a)return a}}return c[0]??null}(c,d);if(O.test(c)){d.dynamicMetadata=ad($(f,b.route),c,i);return}if(P.test(c)){let a=ad(_(f,b.route),c,i);d.dynamicErrors.push(a);return}let j=R.exec(c);if(j){let a=M.exec(c);if(a&&a.index<j.index){d.hasAllowedDynamic=!0;return}}else if((0,q.allRequiredBoundariesRendered)(g)){d.hasAllowedClientDynamicAboveBoundary=!0,d.hasAllowedDynamic=!0;return}else{let a=ad(Error(`Route "${b.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),c,i);d.validationPreventingErrors.push(a);return}if(h){null!==i&&void 0===h.cause&&(h.cause=i()),d.dynamicErrors.push(h);return}if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,i));let l=ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeBodyErrorInNavigation)(b);case 2:return(0,n.createLinkBodyErrorInNavigation)(b);case 3:return(0,n.createNavigationBodyErrorInNavigation)(b);case 4:return(0,n.createPrefetchBodyErrorInNavigation)(b);case 5:return(0,n.createDynamicBodyErrorInNavigation)(b)}}(f,b.route),c,i);d.dynamicErrors.push(l)}function Z(a,b){switch(a){case 1:return(0,n.createRuntimeBodyError)(b);case 5:return(0,n.createDynamicBodyError)(b);case 6:return(0,n.createDynamicOrRuntimeBodyError)(b)}}function $(a,b){switch(a){case 1:return(0,n.createRuntimeMetadataError)(b);case 2:return(0,n.createLinkMetadataError)(b);case 3:return(0,n.createNavigationMetadataError)(b);case 4:return(0,n.createPrefetchMetadataError)(b);case 5:return(0,n.createDynamicMetadataError)(b);case 6:return(0,n.createDynamicOrRuntimeMetadataError)(b)}}function _(a,b){switch(a){case 1:return(0,n.createRuntimeViewportError)(b);case 2:return(0,n.createLinkViewportError)(b);case 3:return(0,n.createNavigationViewportError)(b);case 4:return(0,n.createPrefetchViewportError)(b);case 5:return(0,n.createDynamicViewportError)(b);case 6:return(0,n.createDynamicOrRuntimeViewportError)(b)}}function aa(a,b){switch(a){case 1:return(0,n.createRuntimeBodyErrorInStaticRoute)(b);case 5:return(0,n.createDynamicBodyErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableBodyErrorInStaticRoute)(b)}}function ab(a,b,c,d,e){let f=R.exec(d);if(f){let g=M.exec(d);if(g&&g.index<f.index)return;if(e){let a=(0,s.getReactBrowserBailoutReason)(c);void 0!==a&&(c.cause=a)}let h=ad(Error(`Route "${a.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:c}),d,null);b.validationPreventingErrors.push(h)}else{if(e){let a=(0,s.getReactBrowserBailoutReason)(c);void 0!==a&&(c.cause=a)}let a=ad(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d,e,f){let g=v(e);if(Q.test(c))return void T(c,d);if(O.test(c)){d.dynamicMetadata=ad($(f,b.route),c,null);return}if(P.test(c)){let a=ad(_(f,b.route),c,null);d.dynamicErrors.push(a);return}if(N.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(M.test(c)){d.hasAllowedDynamic=!0;return}else if(g)return void d.dynamicErrors.push(g);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let h=ad(1===f?(0,n.createRuntimeBodyError)(b.route):(0,n.createDynamicBodyError)(b.route),c,null);d.dynamicErrors.push(h)}function ad(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var ae=((e={})[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e);function af(a,b){console.error(b),(0,n.logBuildDebugHint)(a.route)}function ag(a,b){if(b.syncDynamicErrorWithStack)throw af(a,b.syncDynamicErrorWithStack),new i.StaticGenBailoutError}function ah(a,b,c,d,e){if(ag(a,d),0===b&&!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error($(6,a.route).message),new i.StaticGenBailoutError;if(!e&&!c.hasSuspenseAboveBody&&0!==b){let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)af(a,d[b]);throw new i.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(_(6,a.route).message),new i.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new i.StaticGenBailoutError}}function ai(a,b,c,d,e,f,g){let h=aj(a,b,c,d,e,f,g);if(h.length>0){for(let b of h)af(a,b);throw new i.StaticGenBailoutError}}function aj(a,b,c,d,e,f,g){if(d&&d.syncDynamicErrorWithStack)return[d.syncDynamicErrorWithStack];if(e||!g&&(f||c.hasSuspenseAboveBody))return[];let{dynamicErrors:h}=c;return h.length>0?h:g?[Error(`Route "${a.route}": Next.js encountered data that is not available during a static prerender, but is unable to provide a location.`)]:1===b||2===b?[new o.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`)]:[]}function ak(a,b,c,d){if(0===b&&!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[new o.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`)]}return[]}function al(a,b,c,d,e,f){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:g}=c;if(g.length>0)return g;if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b&&!c.hasAllowedClientDynamicAboveBoundary&&(0,q.allRequiredBoundariesRendered)(e))return new o.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`)}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}if(!(0,q.allRequiredBoundariesRendered)(e)){let{thrownErrorsOutsideBoundary:b}=c,d=c.slotStacks[0];if(0===b.length){let b=[];for(let[a,c]of e.requiredIds)if(!e.renderedIds.has(a))for(let a of c){let c=a.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");b.push(c)}return b.sort(),(0,r.createUnrenderedSegmentError)(a.route,b)}if(1===b.length){let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,b[0]])}{let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,...b])}}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b,a))??1;if(d<=0)throw Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`);if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return m},findMissingCanonicalInterceptionRoutes:function(){return n},isInterceptionRouteAppPath:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){let b=a.split("/").filter(Boolean),c=b.at(-1),d=void 0!==c&&c.startsWith("[[...")&&c.endsWith("]]"),e=void 0!==c&&c.startsWith("[...")&&c.endsWith("]"),f=d||e,g=f?b.slice(0,-1):b;return{prefix:g.map(a=>a.startsWith("[")&&a.endsWith("]")?null:a),minLength:g.length+(e&&!d?1:0),unbounded:f}}function i(a,b){return a.unbounded?b>=a.minLength:b===a.minLength}function j(a,b){return a.prefix.every((a,c)=>{if(null===a)return!0;let d=b.prefix[c];return null!=d&&a===d})}function k(a,b,c){return i(a,c)&&i(b,c)&&j(a,b)}function l(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function m(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`);d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`);d=e.slice(0,-2).concat(d).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:b,interceptedRoute:d}}function n(a){let b=Object.keys(a).filter(a=>!l(a)).map(h);return Object.keys(a).filter(l).map(a=>({interceptionRoute:a,canonicalRoute:m(a).interceptedRoute})).filter(({canonicalRoute:a})=>!function(a,b){let c=h(a);if(!c.unbounded)return b.some(a=>k(a,c,c.minLength));let d=1/0;for(let a of b)a.unbounded&&j(a,c)&&(d=Math.min(d,Math.max(c.minLength,a.minLength)));if(1/0===d)return!1;for(let a=c.minLength;a<d;a++)if(!b.some(b=>k(b,c,a)))return!1;return!0}(a,b)).sort((a,b)=>a.interceptionRoute.localeCompare(b.interceptionRoute))}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return r},SpanKind:function(){return p},SpanStatusCode:function(){return o},getTracer:function(){return z},isBubbledError:function(){return s}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;function k(){}Symbol.for("@next/local-span-recorder");try{d=c(58930)}catch(a){d=c(58930)}let{context:l,propagation:m,trace:n,SpanStatusCode:o,SpanKind:p,ROOT_CONTEXT:q}=d;class r extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function s(a){return"object"==typeof a&&null!==a&&a instanceof r}let t=(a,b,c)=>{s(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:o.ERROR,message:null==b?void 0:b.message})),a.end(c)},u=new Map,v=d.createContextKey("next.rootSpanId"),w=0,x={set(a,b,c){a.push({key:b,value:c})}};class y{getTracerInstance(){return n.getTracer("next.js","16.4.1")}isOpenTelemetryEnabled(){var a,b;let c=n.getSpan(l.active());if(null==c?void 0:c.isRecording())return!0;let d=n.getTracerProvider();return!("getDelegate"in d)||(null==d.getDelegate||null==(b=d.getDelegate.call(d))||null==(a=b.constructor)?void 0:a.name)!=="NoopTracerProvider"}getContext(){return l}getTracePropagationData(){let a=l.active(),b=[];return m.inject(a,b,x),b}getActiveScopeSpan(){let a=k(),b=null==a?void 0:a.getActiveLocalSpan();return b&&(null==a?void 0:a.isOpenTelemetryIsolatedSpan(b))?b:n.getSpan(l.active())}runWithDetachedContext(a){return j||this.isOpenTelemetryEnabled()?l.with(q,a):a()}withPropagatedContext(a,b,c,d=!1){let e=l.active();if(!j&&!this.isOpenTelemetryEnabled()&&!n.getSpanContext(e))return b();if(d){let d=m.extract(q,a,c);if(n.getSpanContext(d))return l.with(d,b);let f=m.extract(e,a,c);return l.with(f,b)}if(n.getSpanContext(e))return b();let f=m.extract(e,a,c);return l.with(f,b)}trace(...a){let[b,c,d]=a,e=!!j||this.isOpenTelemetryEnabled(),f=k(),g=(null==f?void 0:f.isLocalSpanRecordingEnabled())??!1;if(!e&&!g)return"function"==typeof c?c():d();let{fn:m,options:n}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},o=n.spanName??b,p=n.parentSpan??this.getActiveScopeSpan(),r=p&&(null==f?void 0:f.isOpenTelemetryIsolatedSpan(p))?p:void 0,s=!r&&(h.NextVanillaSpanAllowlist.has(b)||"1"===process.env.NEXT_OTEL_VERBOSE);if(!(s||(null==f?void 0:f.isRequestInsightsEnabled()))||n.hideSpan)return m();let x=r?l.active():this.getSpanContext(p);x||(x=(null==l?void 0:l.active())??q);let y=x.getValue(v),z="number"!=typeof y||!u.has(y),A=w++;return n.attributes={"next.span_category":"nextjs","next.span_name":o,"next.span_type":b,...n.attributes},l.with(x.setValue(v,A),()=>this.runWithActiveSpan(o,n,x,e&&s,g,r,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,e=()=>{!d&&(d=!0,u.delete(A),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(z&&u.set(A,new Map(Object.entries(n.attributes??{}))),m.length>1)try{return m(a,b=>{b?t(a,b,n.endTime):a.end(n.endTime)})}catch(b){throw t(a,b,n.endTime),b}finally{e()}try{let b=m(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(n.endTime),b)).catch(b=>{throw t(a,b,n.endTime),b}).finally(e);return a.end(n.endTime),e(),b}catch(b){throw t(a,b,n.endTime),e(),b}}))}runWithActiveSpan(a,b,c,d,e,f,g){if(d)return this.getTracerInstance().startActiveSpan(a,b,d=>g(e?this.createLocalRecordingSpan(a,b,c,d,f):d));let h=this.createLocalRecordingSpan(a,b,c,void 0,f),i=k();return i.withLocalSpan(h,()=>i.isOpenTelemetryIsolatedSpan(h)?g(h):l.with(n.setSpan(l.active(),h),g,void 0,h))}createLocalRecordingSpan(a,b,c,d,e){let f=(null==e?void 0:e.spanContext())??n.getSpanContext(c),g=null==d?void 0:d.spanContext();return k().createLocalSpan({name:a,attributes:b.attributes,links:b.links,startTime:b.startTime,delegateSpan:d,traceId:(null==g?void 0:g.traceId)??(null==f?void 0:f.traceId),spanId:null==g?void 0:g.spanId,parentSpanId:null==f?void 0:f.spanId,isolateOpenTelemetry:void 0!==e})}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(l.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=c?{...c,attributes:{"next.span_category":"nextjs",...c.attributes}}:{attributes:{"next.span_category":"nextjs"}},e=k(),f=d.parentSpan??this.getActiveScopeSpan(),g=f&&(null==e?void 0:e.isOpenTelemetryIsolatedSpan(f))?f:void 0,h=(g?void 0:this.getSpanContext(f))??l.active();if(!(null==e?void 0:e.isLocalSpanRecordingEnabled()))return this.getTracerInstance().startSpan(b,d,h);let i=!g&&this.isOpenTelemetryEnabled()?this.getTracerInstance().startSpan(b,d,h):void 0;return this.createLocalRecordingSpan(b,d,h,i,g)}getSpanContext(a){return a?n.setSpan(l.active(),a):void 0}getRootSpanAttributes(){let a=l.active().getValue(v);return u.get(a)}setRootSpanAttribute(a,b){let c=l.active().getValue(v),d=u.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=k();return(null==c?void 0:c.isLocalRecordingSpan(a))?c.withLocalSpan(a,()=>c.isOpenTelemetryIsolatedSpan(a)?b():l.with(n.setSpan(l.active(),a),b)):l.with(n.setSpan(l.active(),a),b)}}let z=(e=new y,()=>e)},13462:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"UnderscoreNormalizer",{enumerable:!0,get:function(){return c}});class c{normalize(a){return a.replace(/%5F/g,"_")}}},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw new f.PageSignatureError({page:this.sourcePage})}respondWith(){throw new f.PageSignatureError({page:this.sourcePage})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{API_KEY_COLUMNS:()=>k,apiKeyInsertValues:()=>o,apiKeyRowToExport:()=>l,apiKeyUpdateValues:()=>s,buildApiKeyInsertSql:()=>n,buildApiKeyUpdateSql:()=>r,createApiKey:()=>q,deleteApiKey:()=>u,getApiKeyById:()=>j,getApiKeyByKey:()=>p,getApiKeys:()=>i,normalizeApiKeyForImport:()=>m,recordApiKeyUsageInWindow:()=>w,updateApiKey:()=>t,validateApiKey:()=>x});var d=c(43892),e=c(59339),f=c(46789),g=c(19217);function h(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,tokenLimit:a.tokenLimit||0,usedTokens:a.usedTokens||0,resetInterval:a.resetInterval||"never",lastResetAt:a.lastResetAt||null,allowedModels:a.allowedModels||"*",rpmLimit:a.rpmLimit||0,tpmLimit:a.tpmLimit||0,ipWhitelist:a.ipWhitelist||"",access:(0,f.xE)(a.accessRestricted,a.accessAllow)}:null}async function i(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(h)}async function j(a){return h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}let k=Object.freeze(["id","key","name","machineId","isActive","createdAt","tokenLimit","usedTokens","resetInterval","lastResetAt","allowedModels","rpmLimit","tpmLimit","ipWhitelist","accessRestricted","accessAllow"]);function l(a){if(!a)return null;let b={};for(let c of k)"accessRestricted"!==c&&"accessAllow"!==c&&(b[c]="isActive"===c?1===a.isActive||!0===a.isActive:a[c]);return b.access=(0,f.xE)(a.accessRestricted,a.accessAllow),b}function m(a={}){let b=new Date().toISOString();return{id:a.id,key:a.key,name:a.name??null,machineId:a.machineId??null,isActive:+(!1!==a.isActive),createdAt:a.createdAt||b,tokenLimit:Number(a.tokenLimit)||0,usedTokens:Number(a.usedTokens)||0,resetInterval:a.resetInterval||"never",lastResetAt:a.lastResetAt||null,allowedModels:a.allowedModels||"*",rpmLimit:Number(a.rpmLimit)||0,tpmLimit:Number(a.tpmLimit)||0,ipWhitelist:"string"==typeof a.ipWhitelist?a.ipWhitelist:"",...(0,f.aB)(a.access??g.M0)}}function n(){let a=k.join(", "),b=k.map(()=>"?").join(", ");return`INSERT OR REPLACE INTO apiKeys(${a}) VALUES(${b})`}function o(a){return k.map(b=>a[b])}async function p(a){return a?h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a])):null}async function q(a,b,f={}){if(!b)throw Error("machineId is required");let g=await (0,e.c)(),{generateApiKeyWithMachine:h}=await c.e(241).then(c.bind(c,22622)),i=h(b),j=new Date().toISOString(),k={id:(0,d.A)(),name:a,key:i.key,machineId:b,isActive:!0,createdAt:j,tokenLimit:Number(f.tokenLimit)||0,usedTokens:Number(f.usedTokens)||0,resetInterval:f.resetInterval||"never",lastResetAt:f.lastResetAt||j,allowedModels:f.allowedModels||"*",rpmLimit:Number(f.rpmLimit)||0,tpmLimit:Number(f.tpmLimit)||0,ipWhitelist:f.ipWhitelist||"",access:{restricted:!1,allow:[]}};return g.run(n(),o(m(k))),k}function r(){let a=k.filter(a=>"id"!==a).map(a=>`${a} = ?`).join(", ");return`UPDATE apiKeys SET ${a} WHERE id = ?`}function s(a){return[...k.filter(a=>"id"!==a).map(b=>a[b]),a.id]}async function t(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let f={...h(e),...b};c.run(r(),s(m({...f,id:a}))),d=h(c.get("SELECT * FROM apiKeys WHERE id = ?",[a]))}),d}async function u(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}global._apiKeyRateLimits||(global._apiKeyRateLimits={});let v=global._apiKeyRateLimits;function w(a,b=0){if(!a)return;let c=Date.now();v[a]||(v[a]=[]),v[a].push({ts:c,tokens:b||0})}async function x(a,b=null,c=null){let d=await (0,e.c)(),f=!1;return d.transaction(()=>{let e=d.get("SELECT * FROM apiKeys WHERE key = ?",[a]);if(!e||1!==e.isActive&&!0!==e.isActive){f=!1;return}let g=(e.ipWhitelist||"").trim();if(g&&c){let a=g.split(",").map(a=>a.trim()).filter(Boolean);if(a.length>0&&!a.includes(c)){f="IP_NOT_ALLOWED";return}}let h=Number(e.tokenLimit)||0,i=Number(e.usedTokens)||0,j=e.resetInterval||"never",k=e.allowedModels||"*",l=Date.now(),m=e.lastResetAt?new Date(e.lastResetAt).getTime():new Date(e.createdAt).getTime();isNaN(m)&&(m=l);let n=!1;if(j&&"never"!==j){let a=0,b=parseInt(j,10);if(j.endsWith("h")?a=60*b*6e4:j.endsWith("d")&&(a=24*b*36e5),a>0&&l-m>=a){n=!0;let b=Math.floor((l-m)/a);m+=b*a}}if(n){i=0;let a=new Date(m).toISOString();d.run("UPDATE apiKeys SET usedTokens = 0, lastResetAt = ? WHERE id = ?",[a,e.id])}if(h>0&&i>=h){f="QUOTA_EXCEEDED";return}if(b&&k&&"*"!==k.trim()&&""!==k.trim()){let a=k.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean),c=b.toLowerCase();if(!a.some(a=>{if("*"===a||a===c)return!0;if(a.endsWith("*")){let b=a.slice(0,-1);return c.startsWith(b)}if(a.startsWith("*")){let b=a.slice(1);return c.endsWith(b)}return!1})){f="MODEL_NOT_ALLOWED";return}}let o=function(a,b,c){if(b<=0&&c<=0)return!0;let d=Date.now();v[a]||(v[a]=[]),v[a]=v[a].filter(a=>d-a.ts<6e4);let e=v[a];return b>0&&e.length>=b?"RPM_EXCEEDED":!(c>0&&e.reduce((a,b)=>a+(b.tokens||0),0)>=c)||"TPM_EXCEEDED"}(a,Number(e.rpmLimit)||0,Number(e.tpmLimit)||0);if(!0!==o){f=o;return}f=!0}),f}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Error("request.headers must be an instance of Headers");let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);let c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw RangeError('Failed to execute "redirect" on "response": Invalid status code');let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19217:(a,b,c)=>{"use strict";c.d(b,{M0:()=>d});let d=Object.freeze({restricted:!1,allow:Object.freeze([])});Object.freeze(["webSearch","webFetch"])},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return l}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776),k=c(20797);function l(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&!(0,i.isRequestApiAllowedInCurrentPhase)(b))throw Error(`Route ${a.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(b)switch(b.type){case"cache":{let b=(0,k.createConnectionInPublicUseCacheError)(a.route);throw Error.captureStackTrace(b,l),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=(0,k.createConnectionInPrivateUseCacheError)(a.route);throw Error.captureStackTrace(b,l),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw(0,k.createConnectionInUnstableCacheError)(a.route);case"build-time-generator":throw Error(`Route ${a.route} used \`connection()\` inside \`${b.functionName}\`. This is not supported because \`${b.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeDynamicHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`)}case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return 47===a.charCodeAt(a.length-1)&&a.length>1?a.slice(0,-1):a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){throw e}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){throw d}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},20797:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createCacheLifeOutsideUseCacheError:function(){return A},createCacheTagOutsideUseCacheError:function(){return z},createConnectionInPrivateUseCacheError:function(){return p},createConnectionInPublicUseCacheError:function(){return o},createConnectionInUnstableCacheError:function(){return q},createCookiesInUnstableCacheError:function(){return k},createCookiesInUseCacheError:function(){return j},createDraftModeMutationInUnstableCacheError:function(){return u},createDraftModeMutationInUseCacheError:function(){return t},createHeadersInUnstableCacheError:function(){return m},createHeadersInUseCacheError:function(){return l},createNestedCacheShortExpireError:function(){return C},createNestedCacheZeroRevalidateError:function(){return B},createRevalidateDuringRenderError:function(){return v},createRevalidateInBuildTimeGeneratorError:function(){return x},createRevalidateInCachedFunctionError:function(){return w},createRouteHandlerRequestInUnstableCacheError:function(){return s},createRouteHandlerRequestInUseCacheError:function(){return r},createSearchParamsInUseCacheError:function(){return n},createUseCachePrivateInsidePublicUseCacheError:function(){return D},createUseCachePrivateInsideUnstableCacheError:function(){return E},createUseCachePrivateOutsideRequestContextError:function(){return F}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="https://nextjs.org/docs/messages/next-request-in-use-cache",f="https://nextjs.org/docs/app/api-reference/functions/unstable_cache",g="https://nextjs.org/docs/messages/use-cache-private-composition",h="https://nextjs.org/docs/messages/revalidate-in-use-cache",i="https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife";function j(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
|
|
2
|
+
${b}`))}function J(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,j.getStagedRenderingController)(a);c&&null!==c.finalStage?c.waitForStage(c.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>b.abort()),K):(0,m.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"validation-client":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"build-time-generator":return}}function K(){}function L(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}let M=/\n\s+at Suspense \(<anonymous>\)/,N=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${l.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),O=RegExp(`\\n\\s+at ${l.METADATA_BOUNDARY_NAME}[\\n\\s]`),P=RegExp(`\\n\\s+at ${l.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${l.OUTLET_BOUNDARY_NAME}[\\n\\s]`),R=RegExp(`\\n\\s+at ${p.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),S=RegExp(`\\n\\s+at ${p.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${p.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function T(a,b){N.test(a)&&(b.hasSuspenseAboveBody=!0)}function U(a,b,c,d,e,f,g){let h=v(e);if(Q.test(c))return void T(c,d);if(O.test(c))return void d.dynamicErrors.push(ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeMetadataErrorInStaticRoute)(b);case 5:return(0,n.createDynamicMetadataErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableMetadataErrorInStaticRoute)(b)}}(g,b.route),c,null));if(P.test(c))return void d.dynamicErrors.push(ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeViewportErrorInStaticRoute)(b);case 5:return(0,n.createDynamicViewportErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableViewportErrorInStaticRoute)(b)}}(g,b.route),c,null));let i=!1;if(N.test(c)?(d.hasSuspenseAboveBody=!0,i=!0):M.test(c)&&(i=!0),i){if(!f||h||(0,k.isClientHookDynamicError)(a)){d.hasAllowedDynamic=!0;return}d.dynamicErrors.push(ad(aa(g,b.route),c,null));return}if(h)return void d.dynamicErrors.push(h);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let j=ad(f?aa(g,b.route):Z(g,b.route),c,null);d.dynamicErrors.push(j)}function V(a,b,c,d,e){let f=v(e);if(Q.test(c))return void T(c,d);if(O.test(c)){d.hasDynamicMetadata=!0;return}if(P.test(c)){d.hasDynamicViewport=!0;return}if(N.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(M.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let g=ad(Z(6,b.route),c,null);d.dynamicErrors.push(g)}var W=((d={})[d.Runtime=1]="Runtime",d[d.Link=2]="Link",d[d.Navigation=3]="Navigation",d[d.Prefetch=4]="Prefetch",d[d.Dynamic=5]="Dynamic",d[d.RuntimeOrDynamic=6]="RuntimeOrDynamic",d);function X(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:a}}function Y(a,b,c,d,e,f,g){let h=v(e);if(Q.test(c))return;let i=function(a,b){let{slotStacks:c}=b;if(c.length>1){let b=S.exec(a);if(b){let a=c[parseInt(b[1],10)+1];if(null!=a)return a}}return c[0]??null}(c,d);if(O.test(c)){d.dynamicMetadata=ad($(f,b.route),c,i);return}if(P.test(c)){let a=ad(_(f,b.route),c,i);d.dynamicErrors.push(a);return}let j=R.exec(c);if(j){let a=M.exec(c);if(a&&a.index<j.index){d.hasAllowedDynamic=!0;return}}else if((0,q.allRequiredBoundariesRendered)(g)){d.hasAllowedClientDynamicAboveBoundary=!0,d.hasAllowedDynamic=!0;return}else{let a=ad(Error(`Route "${b.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),c,i);d.validationPreventingErrors.push(a);return}if(h){null!==i&&void 0===h.cause&&(h.cause=i()),d.dynamicErrors.push(h);return}if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,i));let l=ad(function(a,b){switch(a){case 1:return(0,n.createRuntimeBodyErrorInNavigation)(b);case 2:return(0,n.createLinkBodyErrorInNavigation)(b);case 3:return(0,n.createNavigationBodyErrorInNavigation)(b);case 4:return(0,n.createPrefetchBodyErrorInNavigation)(b);case 5:return(0,n.createDynamicBodyErrorInNavigation)(b)}}(f,b.route),c,i);d.dynamicErrors.push(l)}function Z(a,b){switch(a){case 1:return(0,n.createRuntimeBodyError)(b);case 5:return(0,n.createDynamicBodyError)(b);case 6:return(0,n.createDynamicOrRuntimeBodyError)(b)}}function $(a,b){switch(a){case 1:return(0,n.createRuntimeMetadataError)(b);case 2:return(0,n.createLinkMetadataError)(b);case 3:return(0,n.createNavigationMetadataError)(b);case 4:return(0,n.createPrefetchMetadataError)(b);case 5:return(0,n.createDynamicMetadataError)(b);case 6:return(0,n.createDynamicOrRuntimeMetadataError)(b)}}function _(a,b){switch(a){case 1:return(0,n.createRuntimeViewportError)(b);case 2:return(0,n.createLinkViewportError)(b);case 3:return(0,n.createNavigationViewportError)(b);case 4:return(0,n.createPrefetchViewportError)(b);case 5:return(0,n.createDynamicViewportError)(b);case 6:return(0,n.createDynamicOrRuntimeViewportError)(b)}}function aa(a,b){switch(a){case 1:return(0,n.createRuntimeBodyErrorInStaticRoute)(b);case 5:return(0,n.createDynamicBodyErrorInStaticRoute)(b);case 6:return(0,n.createNonPrerenderableBodyErrorInStaticRoute)(b)}}function ab(a,b,c,d,e){let f=R.exec(d);if(f){let g=M.exec(d);if(g&&g.index<f.index)return;if(e){let a=(0,s.getReactBrowserBailoutReason)(c);void 0!==a&&(c.cause=a)}let h=ad(Error(`Route "${a.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:c}),d,null);b.validationPreventingErrors.push(h)}else{if(e){let a=(0,s.getReactBrowserBailoutReason)(c);void 0!==a&&(c.cause=a)}let a=ad(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d,e,f){let g=v(e);if(Q.test(c))return void T(c,d);if(O.test(c)){d.dynamicMetadata=ad($(f,b.route),c,null);return}if(P.test(c)){let a=ad(_(f,b.route),c,null);d.dynamicErrors.push(a);return}if(N.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(M.test(c)){d.hasAllowedDynamic=!0;return}else if(g)return void d.dynamicErrors.push(g);if((0,k.isClientHookDynamicError)(a))return void d.dynamicErrors.push(ad(a,c,null));let h=ad(1===f?(0,n.createRuntimeBodyError)(b.route):(0,n.createDynamicBodyError)(b.route),c,null);d.dynamicErrors.push(h)}function ad(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var ae=((e={})[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e);function af(a,b){console.error(b),(0,n.logBuildDebugHint)(a.route)}function ag(a,b){if(b.syncDynamicErrorWithStack)throw af(a,b.syncDynamicErrorWithStack),new i.StaticGenBailoutError}function ah(a,b,c,d,e){if(ag(a,d),0===b&&!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error($(6,a.route).message),new i.StaticGenBailoutError;if(!e&&!c.hasSuspenseAboveBody&&0!==b){let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)af(a,d[b]);throw new i.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(_(6,a.route).message),new i.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new i.StaticGenBailoutError}}function ai(a,b,c,d,e,f,g){let h=aj(a,b,c,d,e,f,g);if(h.length>0){for(let b of h)af(a,b);throw new i.StaticGenBailoutError}}function aj(a,b,c,d,e,f,g){if(d&&d.syncDynamicErrorWithStack)return[d.syncDynamicErrorWithStack];if(e||!g&&(f||c.hasSuspenseAboveBody))return[];let{dynamicErrors:h}=c;return h.length>0?h:g?[Error(`Route "${a.route}": Next.js encountered data that is not available during a static prerender, but is unable to provide a location.`)]:1===b||2===b?[new o.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`)]:[]}function ak(a,b,c,d){if(0===b&&!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[new o.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`)]}return[]}function al(a,b,c,d,e,f){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:g}=c;if(g.length>0)return g;if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b&&!c.hasAllowedClientDynamicAboveBoundary&&(0,q.allRequiredBoundariesRendered)(e))return new o.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`)}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}if(!(0,q.allRequiredBoundariesRendered)(e)){let{thrownErrorsOutsideBoundary:b}=c,d=c.slotStacks[0];if(0===b.length){let b=[];for(let[a,c]of e.requiredIds)if(!e.renderedIds.has(a))for(let a of c){let c=a.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");b.push(c)}return b.sort(),(0,r.createUnrenderedSegmentError)(a.route,b)}if(1===b.length){let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,b[0]])}{let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,...b])}}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b,a))??1;if(d<=0)throw Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`);if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return m},findMissingCanonicalInterceptionRoutes:function(){return n},isInterceptionRouteAppPath:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){let b=a.split("/").filter(Boolean),c=b.at(-1),d=void 0!==c&&c.startsWith("[[...")&&c.endsWith("]]"),e=void 0!==c&&c.startsWith("[...")&&c.endsWith("]"),f=d||e,g=f?b.slice(0,-1):b;return{prefix:g.map(a=>a.startsWith("[")&&a.endsWith("]")?null:a),minLength:g.length+(e&&!d?1:0),unbounded:f}}function i(a,b){return a.unbounded?b>=a.minLength:b===a.minLength}function j(a,b){return a.prefix.every((a,c)=>{if(null===a)return!0;let d=b.prefix[c];return null!=d&&a===d})}function k(a,b,c){return i(a,c)&&i(b,c)&&j(a,b)}function l(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function m(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`);d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`);d=e.slice(0,-2).concat(d).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:b,interceptedRoute:d}}function n(a){let b=Object.keys(a).filter(a=>!l(a)).map(h);return Object.keys(a).filter(l).map(a=>({interceptionRoute:a,canonicalRoute:m(a).interceptedRoute})).filter(({canonicalRoute:a})=>!function(a,b){let c=h(a);if(!c.unbounded)return b.some(a=>k(a,c,c.minLength));let d=1/0;for(let a of b)a.unbounded&&j(a,c)&&(d=Math.min(d,Math.max(c.minLength,a.minLength)));if(1/0===d)return!1;for(let a=c.minLength;a<d;a++)if(!b.some(b=>k(b,c,a)))return!1;return!0}(a,b)).sort((a,b)=>a.interceptionRoute.localeCompare(b.interceptionRoute))}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return r},SpanKind:function(){return p},SpanStatusCode:function(){return o},getTracer:function(){return z},isBubbledError:function(){return s}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;function k(){}Symbol.for("@next/local-span-recorder");try{d=c(58930)}catch(a){d=c(58930)}let{context:l,propagation:m,trace:n,SpanStatusCode:o,SpanKind:p,ROOT_CONTEXT:q}=d;class r extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function s(a){return"object"==typeof a&&null!==a&&a instanceof r}let t=(a,b,c)=>{s(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:o.ERROR,message:null==b?void 0:b.message})),a.end(c)},u=new Map,v=d.createContextKey("next.rootSpanId"),w=0,x={set(a,b,c){a.push({key:b,value:c})}};class y{getTracerInstance(){return n.getTracer("next.js","16.4.2")}isOpenTelemetryEnabled(){var a,b;let c=n.getSpan(l.active());if(null==c?void 0:c.isRecording())return!0;let d=n.getTracerProvider();return!("getDelegate"in d)||(null==d.getDelegate||null==(b=d.getDelegate.call(d))||null==(a=b.constructor)?void 0:a.name)!=="NoopTracerProvider"}getContext(){return l}getTracePropagationData(){let a=l.active(),b=[];return m.inject(a,b,x),b}getActiveScopeSpan(){let a=k(),b=null==a?void 0:a.getActiveLocalSpan();return b&&(null==a?void 0:a.isOpenTelemetryIsolatedSpan(b))?b:n.getSpan(l.active())}runWithDetachedContext(a){return j||this.isOpenTelemetryEnabled()?l.with(q,a):a()}withPropagatedContext(a,b,c,d=!1){let e=l.active();if(!j&&!this.isOpenTelemetryEnabled()&&!n.getSpanContext(e))return b();if(d){let d=m.extract(q,a,c);if(n.getSpanContext(d))return l.with(d,b);let f=m.extract(e,a,c);return l.with(f,b)}if(n.getSpanContext(e))return b();let f=m.extract(e,a,c);return l.with(f,b)}trace(...a){let[b,c,d]=a,e=!!j||this.isOpenTelemetryEnabled(),f=k(),g=(null==f?void 0:f.isLocalSpanRecordingEnabled())??!1;if(!e&&!g)return"function"==typeof c?c():d();let{fn:m,options:n}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},o=n.spanName??b,p=n.parentSpan??this.getActiveScopeSpan(),r=p&&(null==f?void 0:f.isOpenTelemetryIsolatedSpan(p))?p:void 0,s=!r&&(h.NextVanillaSpanAllowlist.has(b)||"1"===process.env.NEXT_OTEL_VERBOSE);if(!(s||(null==f?void 0:f.isRequestInsightsEnabled()))||n.hideSpan)return m();let x=r?l.active():this.getSpanContext(p);x||(x=(null==l?void 0:l.active())??q);let y=x.getValue(v),z="number"!=typeof y||!u.has(y),A=w++;return n.attributes={"next.span_category":"nextjs","next.span_name":o,"next.span_type":b,...n.attributes},l.with(x.setValue(v,A),()=>this.runWithActiveSpan(o,n,x,e&&s,g,r,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,e=()=>{!d&&(d=!0,u.delete(A),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(z&&u.set(A,new Map(Object.entries(n.attributes??{}))),m.length>1)try{return m(a,b=>{b?t(a,b,n.endTime):a.end(n.endTime)})}catch(b){throw t(a,b,n.endTime),b}finally{e()}try{let b=m(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(n.endTime),b)).catch(b=>{throw t(a,b,n.endTime),b}).finally(e);return a.end(n.endTime),e(),b}catch(b){throw t(a,b,n.endTime),e(),b}}))}runWithActiveSpan(a,b,c,d,e,f,g){if(d)return this.getTracerInstance().startActiveSpan(a,b,d=>g(e?this.createLocalRecordingSpan(a,b,c,d,f):d));let h=this.createLocalRecordingSpan(a,b,c,void 0,f),i=k();return i.withLocalSpan(h,()=>i.isOpenTelemetryIsolatedSpan(h)?g(h):l.with(n.setSpan(l.active(),h),g,void 0,h))}createLocalRecordingSpan(a,b,c,d,e){let f=(null==e?void 0:e.spanContext())??n.getSpanContext(c),g=null==d?void 0:d.spanContext();return k().createLocalSpan({name:a,attributes:b.attributes,links:b.links,startTime:b.startTime,delegateSpan:d,traceId:(null==g?void 0:g.traceId)??(null==f?void 0:f.traceId),spanId:null==g?void 0:g.spanId,parentSpanId:null==f?void 0:f.spanId,isolateOpenTelemetry:void 0!==e})}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(l.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=c?{...c,attributes:{"next.span_category":"nextjs",...c.attributes}}:{attributes:{"next.span_category":"nextjs"}},e=k(),f=d.parentSpan??this.getActiveScopeSpan(),g=f&&(null==e?void 0:e.isOpenTelemetryIsolatedSpan(f))?f:void 0,h=(g?void 0:this.getSpanContext(f))??l.active();if(!(null==e?void 0:e.isLocalSpanRecordingEnabled()))return this.getTracerInstance().startSpan(b,d,h);let i=!g&&this.isOpenTelemetryEnabled()?this.getTracerInstance().startSpan(b,d,h):void 0;return this.createLocalRecordingSpan(b,d,h,i,g)}getSpanContext(a){return a?n.setSpan(l.active(),a):void 0}getRootSpanAttributes(){let a=l.active().getValue(v);return u.get(a)}setRootSpanAttribute(a,b){let c=l.active().getValue(v),d=u.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=k();return(null==c?void 0:c.isLocalRecordingSpan(a))?c.withLocalSpan(a,()=>c.isOpenTelemetryIsolatedSpan(a)?b():l.with(n.setSpan(l.active(),a),b)):l.with(n.setSpan(l.active(),a),b)}}let z=(e=new y,()=>e)},13462:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"UnderscoreNormalizer",{enumerable:!0,get:function(){return c}});class c{normalize(a){return a.replace(/%5F/g,"_")}}},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw new f.PageSignatureError({page:this.sourcePage})}respondWith(){throw new f.PageSignatureError({page:this.sourcePage})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{API_KEY_COLUMNS:()=>k,apiKeyInsertValues:()=>o,apiKeyRowToExport:()=>l,apiKeyUpdateValues:()=>s,buildApiKeyInsertSql:()=>n,buildApiKeyUpdateSql:()=>r,createApiKey:()=>q,deleteApiKey:()=>u,getApiKeyById:()=>j,getApiKeyByKey:()=>p,getApiKeys:()=>i,normalizeApiKeyForImport:()=>m,recordApiKeyUsageInWindow:()=>w,updateApiKey:()=>t,validateApiKey:()=>x});var d=c(43892),e=c(59339),f=c(46789),g=c(19217);function h(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,tokenLimit:a.tokenLimit||0,usedTokens:a.usedTokens||0,resetInterval:a.resetInterval||"never",lastResetAt:a.lastResetAt||null,allowedModels:a.allowedModels||"*",rpmLimit:a.rpmLimit||0,tpmLimit:a.tpmLimit||0,ipWhitelist:a.ipWhitelist||"",access:(0,f.xE)(a.accessRestricted,a.accessAllow)}:null}async function i(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(h)}async function j(a){return h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}let k=Object.freeze(["id","key","name","machineId","isActive","createdAt","tokenLimit","usedTokens","resetInterval","lastResetAt","allowedModels","rpmLimit","tpmLimit","ipWhitelist","accessRestricted","accessAllow"]);function l(a){if(!a)return null;let b={};for(let c of k)"accessRestricted"!==c&&"accessAllow"!==c&&(b[c]="isActive"===c?1===a.isActive||!0===a.isActive:a[c]);return b.access=(0,f.xE)(a.accessRestricted,a.accessAllow),b}function m(a={}){let b=new Date().toISOString();return{id:a.id,key:a.key,name:a.name??null,machineId:a.machineId??null,isActive:+(!1!==a.isActive),createdAt:a.createdAt||b,tokenLimit:Number(a.tokenLimit)||0,usedTokens:Number(a.usedTokens)||0,resetInterval:a.resetInterval||"never",lastResetAt:a.lastResetAt||null,allowedModels:a.allowedModels||"*",rpmLimit:Number(a.rpmLimit)||0,tpmLimit:Number(a.tpmLimit)||0,ipWhitelist:"string"==typeof a.ipWhitelist?a.ipWhitelist:"",...(0,f.aB)(a.access??g.M0)}}function n(){let a=k.join(", "),b=k.map(()=>"?").join(", ");return`INSERT OR REPLACE INTO apiKeys(${a}) VALUES(${b})`}function o(a){return k.map(b=>a[b])}async function p(a){return a?h((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a])):null}async function q(a,b,f={}){if(!b)throw Error("machineId is required");let g=await (0,e.c)(),{generateApiKeyWithMachine:h}=await c.e(241).then(c.bind(c,22622)),i=h(b),j=new Date().toISOString(),k={id:(0,d.A)(),name:a,key:i.key,machineId:b,isActive:!0,createdAt:j,tokenLimit:Number(f.tokenLimit)||0,usedTokens:Number(f.usedTokens)||0,resetInterval:f.resetInterval||"never",lastResetAt:f.lastResetAt||j,allowedModels:f.allowedModels||"*",rpmLimit:Number(f.rpmLimit)||0,tpmLimit:Number(f.tpmLimit)||0,ipWhitelist:f.ipWhitelist||"",access:{restricted:!1,allow:[]}};return g.run(n(),o(m(k))),k}function r(){let a=k.filter(a=>"id"!==a).map(a=>`${a} = ?`).join(", ");return`UPDATE apiKeys SET ${a} WHERE id = ?`}function s(a){return[...k.filter(a=>"id"!==a).map(b=>a[b]),a.id]}async function t(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let f={...h(e),...b};c.run(r(),s(m({...f,id:a}))),d=h(c.get("SELECT * FROM apiKeys WHERE id = ?",[a]))}),d}async function u(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}global._apiKeyRateLimits||(global._apiKeyRateLimits={});let v=global._apiKeyRateLimits;function w(a,b=0){if(!a)return;let c=Date.now();v[a]||(v[a]=[]),v[a].push({ts:c,tokens:b||0})}async function x(a,b=null,c=null){let d=await (0,e.c)(),f=!1;return d.transaction(()=>{let e=d.get("SELECT * FROM apiKeys WHERE key = ?",[a]);if(!e||1!==e.isActive&&!0!==e.isActive){f=!1;return}let g=(e.ipWhitelist||"").trim();if(g&&c){let a=g.split(",").map(a=>a.trim()).filter(Boolean);if(a.length>0&&!a.includes(c)){f="IP_NOT_ALLOWED";return}}let h=Number(e.tokenLimit)||0,i=Number(e.usedTokens)||0,j=e.resetInterval||"never",k=e.allowedModels||"*",l=Date.now(),m=e.lastResetAt?new Date(e.lastResetAt).getTime():new Date(e.createdAt).getTime();isNaN(m)&&(m=l);let n=!1;if(j&&"never"!==j){let a=0,b=parseInt(j,10);if(j.endsWith("h")?a=60*b*6e4:j.endsWith("d")&&(a=24*b*36e5),a>0&&l-m>=a){n=!0;let b=Math.floor((l-m)/a);m+=b*a}}if(n){i=0;let a=new Date(m).toISOString();d.run("UPDATE apiKeys SET usedTokens = 0, lastResetAt = ? WHERE id = ?",[a,e.id])}if(h>0&&i>=h){f="QUOTA_EXCEEDED";return}if(b&&k&&"*"!==k.trim()&&""!==k.trim()){let a=k.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean),c=b.toLowerCase();if(!a.some(a=>{if("*"===a||a===c)return!0;if(a.endsWith("*")){let b=a.slice(0,-1);return c.startsWith(b)}if(a.startsWith("*")){let b=a.slice(1);return c.endsWith(b)}return!1})){f="MODEL_NOT_ALLOWED";return}}let o=function(a,b,c){if(b<=0&&c<=0)return!0;let d=Date.now();v[a]||(v[a]=[]),v[a]=v[a].filter(a=>d-a.ts<6e4);let e=v[a];return b>0&&e.length>=b?"RPM_EXCEEDED":!(c>0&&e.reduce((a,b)=>a+(b.tokens||0),0)>=c)||"TPM_EXCEEDED"}(a,Number(e.rpmLimit)||0,Number(e.tpmLimit)||0);if(!0!==o){f=o;return}f=!0}),f}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Error("request.headers must be an instance of Headers");let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);let c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw RangeError('Failed to execute "redirect" on "response": Invalid status code');let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19217:(a,b,c)=>{"use strict";c.d(b,{M0:()=>d});let d=Object.freeze({restricted:!1,allow:Object.freeze([])});Object.freeze(["webSearch","webFetch"])},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return l}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776),k=c(20797);function l(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&!(0,i.isRequestApiAllowedInCurrentPhase)(b))throw Error(`Route ${a.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(b)switch(b.type){case"cache":{let b=(0,k.createConnectionInPublicUseCacheError)(a.route);throw Error.captureStackTrace(b,l),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=(0,k.createConnectionInPrivateUseCacheError)(a.route);throw Error.captureStackTrace(b,l),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw(0,k.createConnectionInUnstableCacheError)(a.route);case"build-time-generator":throw Error(`Route ${a.route} used \`connection()\` inside \`${b.functionName}\`. This is not supported because \`${b.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeDynamicHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`)}case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return 47===a.charCodeAt(a.length-1)&&a.length>1?a.slice(0,-1):a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){throw e}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){throw d}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},20797:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createCacheLifeOutsideUseCacheError:function(){return A},createCacheTagOutsideUseCacheError:function(){return z},createConnectionInPrivateUseCacheError:function(){return p},createConnectionInPublicUseCacheError:function(){return o},createConnectionInUnstableCacheError:function(){return q},createCookiesInUnstableCacheError:function(){return k},createCookiesInUseCacheError:function(){return j},createDraftModeMutationInUnstableCacheError:function(){return u},createDraftModeMutationInUseCacheError:function(){return t},createHeadersInUnstableCacheError:function(){return m},createHeadersInUseCacheError:function(){return l},createNestedCacheShortExpireError:function(){return C},createNestedCacheZeroRevalidateError:function(){return B},createRevalidateDuringRenderError:function(){return v},createRevalidateInBuildTimeGeneratorError:function(){return x},createRevalidateInCachedFunctionError:function(){return w},createRouteHandlerRequestInUnstableCacheError:function(){return s},createRouteHandlerRequestInUseCacheError:function(){return r},createSearchParamsInUseCacheError:function(){return n},createUseCachePrivateInsidePublicUseCacheError:function(){return D},createUseCachePrivateInsideUnstableCacheError:function(){return E},createUseCachePrivateOutsideRequestContextError:function(){return F}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="https://nextjs.org/docs/messages/next-request-in-use-cache",f="https://nextjs.org/docs/app/api-reference/functions/unstable_cache",g="https://nextjs.org/docs/messages/use-cache-private-composition",h="https://nextjs.org/docs/messages/revalidate-in-use-cache",i="https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife";function j(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
|
|
3
3
|
Learn more: ${e}`)}function k(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.
|
|
4
4
|
Learn more: ${f}`)}function l(a){return Error(`Route "${a}": \`headers()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
|
|
5
5
|
Learn more: ${e}`)}function m(a){return Error(`Route "${a}": \`headers()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.
|
|
@@ -21,7 +21,7 @@ Learn more: ${i}`,{cause:b})}function C(a,b){return Error(`Route "${a}": A neste
|
|
|
21
21
|
Learn more: ${i}`,{cause:b})}function D(a){return Error(`Route "${a}": \`"use cache: private"\` can't be nested inside \`"use cache"\` because a shared cached function can't depend on private request data. Nest it only inside another \`"use cache: private"\`.
|
|
22
22
|
Learn more: ${g}`)}function E(a){return Error(`Route "${a}": \`"use cache: private"\` can't be used inside \`unstable_cache()\` because \`unstable_cache()\` uses a shared cache that can't contain private request data. Call the private cached function outside \`unstable_cache()\`.
|
|
23
23
|
Learn more: ${g}`)}function F(a,b){return Error(`Route "${a}": \`"use cache: private"\` needs an active request, so it can't be used during \`${b}\` or other build-time contexts. Move it to a request-time component or function.
|
|
24
|
-
Learn more: ${g}`)}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(90428);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStore:function(){return p},createRequestStoreForAPI:function(){return o},createRequestStoreForRender:function(){return n},synchronizeMutableCookies:function(){return q}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751),l=new Set([...f.FLIGHT_HEADERS,f.NEXT_REQUEST_ID_HEADER,f.NEXT_HTML_REQUEST_ID_HEADER].map(a=>a.toLowerCase()));function m(a,b){if("x-middleware-set-cookie"in a&&"string"==typeof a["x-middleware-set-cookie"]){let c=a["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function n(a,b,c,d,e,f,g,h,i,j,k,l){return p({phase:"render",headers:a.headers,onUpdateCookies:f??(b?a=>{b.setHeader("Set-Cookie",a)}:void 0),url:c,rootParams:d,implicitTags:e,resumeDataCache:j,previewProps:g,isHmrRefresh:h,serverComponentsHmrCache:i,hmrRefreshHash:l,stagedFallbackParams:k})}function o(a,b,c,d,e,f){return p({phase:"action",headers:a.headers,onUpdateCookies:d,url:b,rootParams:{},implicitTags:c,resumeDataCache:null,previewProps:e,isHmrRefresh:!1,serverComponentsHmrCache:void 0,hmrRefreshHash:f,stagedFallbackParams:null})}function p(a){let{phase:b,headers:c,onUpdateCookies:d,url:e,rootParams:f,implicitTags:k,resumeDataCache:n,previewProps:o,isHmrRefresh:p,serverComponentsHmrCache:q,hmrRefreshHash:r,stagedFallbackParams:s}=a,t={};return{type:"request",phase:b,implicitTags:k,url:{pathname:e.pathname,search:e.search??""},rootParams:f,get headers(){return t.headers||(t.headers=g.HeadersAdapter.seal(g.HeadersAdapter.from(c),l)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(c));m(c,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(a){t.cookies=a},get mutableCookies(){if(!t.mutableCookies){let a,b=(a=new i.RequestCookies(g.HeadersAdapter.from(c)),h.MutableRequestCookiesAdapter.wrap(a,d));m(c,b),t.mutableCookies=b}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,c,this.cookies,this.mutableCookies)),t.draftMode},resumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,hmrRefreshHash:r,stagedFallbackParams:s,usedDynamic:!1}}function q(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={CLOSE_TAG:function(){return G},chainStreams:function(){return q},chainTransformers:function(){return K},continueDynamicHTMLResume:function(){return P},continueDynamicPrerender:function(){return M},continueFizzStream:function(){return L},continueStaticFallbackPrerender:function(){return O},continueStaticPrerender:function(){return N},createBufferedTransformStream:function(){return z},createDeferredSuffixStream:function(){return E},createDocumentClosingStream:function(){return Q},createFlightDataInjectionTransformStream:function(){return F},createHeadInsertionTransformStream:function(){return C},createHtmlDataDplIdTransformStream:function(){return I},createMetadataTransformStream:function(){return B},createMoveSuffixStream:function(){return H},createRootLayoutValidatorStream:function(){return J},createRuntimePrefetchTransformStream:function(){return R},nodestreamToUint8Array:function(){return v},renderToInitialFizzStream:function(){return A},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return x},streamToString:function(){return y},streamToUint8Array:function(){return w},webstreamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(29299),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){let b,c=[];for await(let d of a instanceof(b=require("node:stream").Readable)?a:b.fromWeb(a))c.push("string"==typeof d?Buffer.from(d):d);return Buffer.concat(c)}async function w(a){return a instanceof require("node:stream").Readable?v(a):u(a)}async function x(a){return Buffer.concat(await t(a))}async function y(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function z(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=(0,h.createPromiseWithResolvers)();b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function A({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function B(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function C(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function D(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})<\/script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}function E(a){let b,c=!1;return new TransformStream({transform(d,e){if(e.enqueue(d),!c){let d;c=!0,b=d=(0,h.createPromiseWithResolvers)(),(0,i.scheduleImmediate)(()=>{try{e.enqueue(p.encode(a))}catch{}finally{b=void 0,d.resolve()}})}},flush(d){if(b)return b.promise;c||d.enqueue(p.encode(a))}})}function F(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let G="</body></html>";function H(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function I(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function J(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
|
|
24
|
+
Learn more: ${g}`)}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(68047);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStore:function(){return p},createRequestStoreForAPI:function(){return o},createRequestStoreForRender:function(){return n},synchronizeMutableCookies:function(){return q}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751),l=new Set([...f.FLIGHT_HEADERS,f.NEXT_REQUEST_ID_HEADER,f.NEXT_HTML_REQUEST_ID_HEADER].map(a=>a.toLowerCase()));function m(a,b){if("x-middleware-set-cookie"in a&&"string"==typeof a["x-middleware-set-cookie"]){let c=a["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function n(a,b,c,d,e,f,g,h,i,j,k,l){return p({phase:"render",headers:a.headers,onUpdateCookies:f??(b?a=>{b.setHeader("Set-Cookie",a)}:void 0),url:c,rootParams:d,implicitTags:e,resumeDataCache:j,previewProps:g,isHmrRefresh:h,serverComponentsHmrCache:i,hmrRefreshHash:l,stagedFallbackParams:k})}function o(a,b,c,d,e,f){return p({phase:"action",headers:a.headers,onUpdateCookies:d,url:b,rootParams:{},implicitTags:c,resumeDataCache:null,previewProps:e,isHmrRefresh:!1,serverComponentsHmrCache:void 0,hmrRefreshHash:f,stagedFallbackParams:null})}function p(a){let{phase:b,headers:c,onUpdateCookies:d,url:e,rootParams:f,implicitTags:k,resumeDataCache:n,previewProps:o,isHmrRefresh:p,serverComponentsHmrCache:q,hmrRefreshHash:r,stagedFallbackParams:s}=a,t={};return{type:"request",phase:b,implicitTags:k,url:{pathname:e.pathname,search:e.search??""},rootParams:f,get headers(){return t.headers||(t.headers=g.HeadersAdapter.seal(g.HeadersAdapter.from(c),l)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(c));m(c,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(a){t.cookies=a},get mutableCookies(){if(!t.mutableCookies){let a,b=(a=new i.RequestCookies(g.HeadersAdapter.from(c)),h.MutableRequestCookiesAdapter.wrap(a,d));m(c,b),t.mutableCookies=b}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,c,this.cookies,this.mutableCookies)),t.draftMode},resumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,hmrRefreshHash:r,stagedFallbackParams:s,usedDynamic:!1}}function q(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={CLOSE_TAG:function(){return G},chainStreams:function(){return q},chainTransformers:function(){return K},continueDynamicHTMLResume:function(){return P},continueDynamicPrerender:function(){return M},continueFizzStream:function(){return L},continueStaticFallbackPrerender:function(){return O},continueStaticPrerender:function(){return N},createBufferedTransformStream:function(){return z},createDeferredSuffixStream:function(){return E},createDocumentClosingStream:function(){return Q},createFlightDataInjectionTransformStream:function(){return F},createHeadInsertionTransformStream:function(){return C},createHtmlDataDplIdTransformStream:function(){return I},createMetadataTransformStream:function(){return B},createMoveSuffixStream:function(){return H},createRootLayoutValidatorStream:function(){return J},createRuntimePrefetchTransformStream:function(){return R},nodestreamToUint8Array:function(){return v},renderToInitialFizzStream:function(){return A},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return x},streamToString:function(){return y},streamToUint8Array:function(){return w},webstreamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(29299),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){let b,c=[];for await(let d of a instanceof(b=require("node:stream").Readable)?a:b.fromWeb(a))c.push("string"==typeof d?Buffer.from(d):d);return Buffer.concat(c)}async function w(a){return a instanceof require("node:stream").Readable?v(a):u(a)}async function x(a){return Buffer.concat(await t(a))}async function y(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function z(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=(0,h.createPromiseWithResolvers)();b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function A({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function B(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function C(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function D(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})<\/script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}function E(a){let b,c=!1;return new TransformStream({transform(d,e){if(e.enqueue(d),!c){let d;c=!0,b=d=(0,h.createPromiseWithResolvers)(),(0,i.scheduleImmediate)(()=>{try{e.enqueue(p.encode(a))}catch{}finally{b=void 0,d.resolve()}})}},flush(d){if(b)return b.promise;c||d.enqueue(p.encode(a))}})}function F(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let G="</body></html>";function H(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function I(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function J(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
|
|
25
25
|
<template
|
|
26
26
|
data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
|
|
27
27
|
Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
|
|
@@ -287,12 +287,12 @@ Ways to fix this:
|
|
|
287
287
|
|
|
288
288
|
Learn more: https://nextjs.org/docs/messages/static-viewport-dynamic`)}function H(a){console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
289
289
|
- Start the app in development mode by running \`next dev\`, then open "${a}" in your browser to investigate the error.
|
|
290
|
-
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead')}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},44468:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>bz,handler:()=>by});var e={};c.r(e),c.d(e,{config:()=>br,default:()=>bq}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(59339),k=c(17343);c(46789);var l=c(85304);c(56840),c(95160);var m=c(71509);(0,m.U)("modelAliases"),(0,m.U)("customModels"),(0,m.U)("mitmAlias"),c(36241);var n=c(94735);c(91117),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new n.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsEmitter;var o=c(33323);let p=null,q=0;async function r(){if(p&&Date.now()-q<5e3)return p;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return p={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},q=Date.now(),p;let e="false"!==process.env.OBSERVABILITY_ENABLED;p={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{p={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return q=Date.now(),p}let s=[],t=null,u=!1;function v(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function w(){if(!u&&0!==s.length){u=!0;try{for(;s.length>0;){let a=s.splice(0,s.length),b=await (0,j.c)(),c=await r();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:v(d.request,c.maxJsonSize),providerRequest:v(d.providerRequest,c.maxJsonSize),providerResponse:v(d.providerResponse,c.maxJsonSize),response:v(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,o.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{u=!1}}}let x=async()=>{t&&(clearTimeout(t),t=null),s.length>0&&await w()};process.off("beforeExit",x),process.off("SIGINT",x),process.off("SIGTERM",x),process.off("exit",x),process.on("beforeExit",x),process.on("SIGINT",x),process.on("SIGTERM",x),process.on("exit",x);var y=c(21820);let z={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,y.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,y.arch)()}})(),function(){switch((0,y.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,y.platform)()}}();let A="https://daily-cloudcode-pa.googleapis.com",B="antigravity/ide/2.11.0 darwin/arm64",C={id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image","webSearch"],transport:{baseUrls:[A],format:"antigravity",headers:{"User-Agent":B},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${A}/v1internal:fetchAvailableModels`,quotaSummaryApiUrl:`${A}/v1internal:retrieveUserQuotaSummary`,loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)",upstreamModelId:"gemini-3.1-pro-low(low)"},{id:"claude-sonnet-5-5-high",name:"Claude Sonnet 5.5 (High)",upstreamModelId:"claude-sonnet-5-5-high(high)"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5 (Medium)",upstreamModelId:"claude-sonnet-5-5-medium(medium)"},{id:"claude-sonnet-5-5-low",name:"Claude Sonnet 5.5 (Low)",upstreamModelId:"claude-sonnet-5-5-low(low)"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5 (Thinking)",upstreamModelId:"claude-sonnet-5-5-high(high)"},{id:"claude-opus-5-5-high",name:"Claude Opus 5.5 (High)",upstreamModelId:"claude-opus-5-5-high(high)"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5 (Medium)",upstreamModelId:"claude-opus-5-5-medium(medium)"},{id:"claude-opus-5-5-low",name:"Claude Opus 5.5 (Low)",upstreamModelId:"claude-opus-5-5-low(low)"},{id:"claude-opus-5-5",name:"Claude Opus 5.5 (Thinking)",upstreamModelId:"claude-opus-5-5-high(high)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:B,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${A}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},D="0.159.0",E=["low","medium","high","xhigh","max"],F={id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,cliVersion:D,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${D}`,version:D},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6.1-sol",name:"GPT 6.1 Sol",responsesLite:!0,thinkingLevels:E},{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-6-astra[1m]",name:"GPT 6.0 Astra (extended context)",upstreamModelId:"gpt-6-astra"},{id:"gpt-6-sol",name:"GPT 6.0 Sol",responsesLite:!0,thinkingLevels:E},{id:"gpt-6-sol[1m]",name:"GPT 6.0 Sol (extended context)",upstreamModelId:"gpt-6-sol",responsesLite:!0,thinkingLevels:E},{id:"gpt-6-luna",name:"GPT 6.0 Luna",responsesLite:!0,thinkingLevels:E},{id:"gpt-6-luna[1m]",name:"GPT 6.0 Luna (extended context)",upstreamModelId:"gpt-6-luna",responsesLite:!0,thinkingLevels:E},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol[1m]",name:"GPT 5.6 Sol (extended context)",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra[1m]",name:"GPT 5.6 Terra (extended context)",upstreamModelId:"gpt-5.6-terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna[1m]",name:"GPT 5.6 Luna (extended context)",upstreamModelId:"gpt-5.6-luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-daybreak-blue-latest",name:"GPT Daybreak Blue"},{id:"gpt-reserve",name:"GPT Reserve"},{id:"codex-auto-review",name:"Codex Auto Review",upstreamModelId:"codex-auto-review",quotaFamily:"review"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:6e5,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},G={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"},quirks:{claudeSupportedToolTypes:["web_search_20250305","web_search_20260209"]}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},H={id:"glm",priority:140,alias:"glm",display:{name:"Zai GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys",signupUrl:"https://chat.z.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,oauth:{providerId:"zai",cliInitUrl:"https://zcode.z.ai/api/v1/oauth/cli/init",cliPollUrl:"https://zcode.z.ai/api/v1/oauth/cli/poll",businessLoginUrl:"https://api.z.ai/api/auth/z/login",apiBaseUrl:"https://api.z.ai",planApiKeyName:"zcode-api-key"},transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.z.ai/api/mcp/web_search_prime/mcp",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},features:{usage:!0,usageApikey:!0}},I="1.0.44",J="https://cli-chat-proxy.grok.com/v1",K="grok-shell",L=`grok-shell/${I} (linux; x86_64)`,M={id:"grok-cli",priority:275,alias:"gcli",aliases:["grok-build","gb"],uiAlias:"gcli",display:{name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"},transport:{baseUrl:`${J}/responses`,format:"openai-responses",forceStream:!0,modelsUrl:`${J}/models`,userUrl:`${J}/user`,billingUrl:`${J}/billing`,clientVersion:I,clientIdentifier:K,tokenAuth:"xai-grok-cli",headers:{"User-Agent":L,"x-grok-client-identifier":K,"x-grok-client-version":I},usage:{url:`${J}/billing?format=credits`,userUrl:`${J}/user?include=subscription`},retry:{429:{attempts:2,delayMs:2e3},502:{attempts:2,delayMs:1500},503:{attempts:2,delayMs:1500}}},models:[{id:"grok-build",name:"Grok Build",contextLength:5e5,maxOutputTokens:64e3},{id:"grok-4.7",name:"Grok 4.7"},{id:"grok-4.7-xhigh",name:"Grok 4.7 (Extra High)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-high",name:"Grok 4.7 (High)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-medium",name:"Grok 4.7 (Medium)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-low",name:"Grok 4.7 (Low)",upstreamModelId:"grok-4.7"},{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.6-xhigh",name:"Grok 4.6 (Extra High)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-high",name:"Grok 4.6 (High)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-medium",name:"Grok 4.6 (Medium)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-low",name:"Grok 4.6 (Low)",upstreamModelId:"grok-4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],features:{usage:!0},oauth:{clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:"openid profile email offline_access grok-cli:access api:access conversations:read conversations:write",referrer:"grok-build",refreshLeadMs:3e5}},N={id:"kimi",priority:170,alias:"kimi",aliases:["kimi-coding","kmc"],display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...z},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},{format:"openai-responses",baseUrl:"https://api.kimi.com/coding/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},oauth:{clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5,authorizeDeviceUrl:"https://www.kimi.com/code/authorize_device"},features:{usage:!0,usageApikey:!0}},O={id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...z},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},P={id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...z},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}};function Q(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function R(a,b){return process.env[a]?.trim()||b}let S=R("SEARXNG_URL","http://localhost:8888/search");R("OPENCODE_CLIENT_VERSION","1.19.0"),R("OPENCODE_UA_SUFFIX","ai-sdk/provider-utils/4.0.23 runtime/bun/1.3.14"),Q("STREAM_STALL_TIMEOUT_MS",36e4),Q("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),Q("FETCH_CONNECT_TIMEOUT_MS",6e4),Q("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);let T=[{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Coding",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://www.alibabacloud.com/product/coding",notice:{apiKeyUrl:"https://www.alibabacloud.com/product/coding"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"anthropic-version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},C,{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.280 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings",profileUrl:"https://api.anthropic.com/api/oauth/profile",resetUrl:"https://api.anthropic.com/api/organizations/{org_id}/reset_rate_limits"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},quirks:{clineEnvelope:!0},validateUrl:"https://api.cline.bot/api/v1/users/me",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-free/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (Free)"},{id:"cline-free/kimi-k3",name:"Kimi K3 (Free)"},{id:"cline-free/muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor (Free)"},{id:"z-ai/glm-5.3-flash",name:"GLM 5.3 Flash (Free)"},{id:"cline-free/solar-pro4",name:"Solar Pro 4 (Free)"},{id:"poolside/laguna-s-2.1:free",name:"Poolside Laguna S 2.1 (Free)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["apikey","oauth"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},quirks:{clineEnvelope:!0},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",authType:"apikey",authModes:["apikey"],hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/cloudflare/clef-flash",name:"Clef Flash",kind:"systemone",upstreamModelId:"clef-flash"},{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image","systemone"],systemoneConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/run/{model}",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k3-1",name:"Kimi-K3"},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3",name:"Hy3"},{id:"hy4-preview",name:"Hy4-Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"},{id:"hunyuan-chat",name:"Hunyuan-Turbos"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},F,{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/compatibility/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-a-plus-05-2026",name:"Command A Plus (May 2026)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"},{id:"command-a-reasoning-08-2025",name:"Command A Reasoning (Aug 2025)"},{id:"command-a-vision-07-2025",name:"Command A Vision (Jul 2025)"},{id:"command-a-translate-08-2025",name:"Command A Translate (Aug 2025)"},{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.7-Code-Highspeed",name:"Kimi K2.7 Code HighSpeed"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.2-Fast",name:"GLM 5.2 Fast"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"xiaomi/mimo-v2.5",name:"MiMo V2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"Qwen/Qwen3.7-Max",name:"Qwen 3.7 Max"},{id:"Qwen/Qwen3.7-Plus",name:"Qwen 3.7 Plus"},{id:"stepfun/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"}],features:{usage:!0,usageApikey:!0}},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},G,{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts","stt"],models:[{id:"scribe_v1",name:"Scribe v1",params:["language","response_format","timestamps_granularity","tag_audio_events","diarize","num_speakers"],kind:"stt"},{id:"scribe_v2",name:"Scribe v2",params:["language","response_format","timestamps_granularity","tag_audio_events","diarize","num_speakers"],kind:"stt"}],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},sttConfig:{baseUrl:"https://api.elevenlabs.io/v1/speech-to-text",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs-stt",responseFormats:{segments:"seg_json",subtitles:"srt",captions:"vtt"}}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"featherless",priority:65,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",validateUrl:"https://api.featherless.ai/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}]},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-native-audio-preview-09-17",name:"Gemini Live Transcription (Realtime)",params:["language","prompt","system_instruction","setup_timeout_ms","turn_timeout_ms"],kind:"stt",transport:"gemini-live"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",autoUrl:"https://api.githubcopilot.com/auto",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01",autoApiVersion:"2026-08-01",autoTimeoutMs:5e3,autoSessionRefreshWindowMs:3e5},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"auto",name:"Auto"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},H,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},M,{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models",usage:{url:"https://api.groq.com/openai/v1/chat/completions",modelsUrl:"https://api.groq.com/openai/v1/models"}},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},features:{usage:!0,usageApikey:!0}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens",text:"Runs through the Inference Providers router. Image and speech models are billed by the provider selected per model."}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-dev",name:"FLUX.1 Dev",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-Krea-dev",name:"FLUX.1 Krea",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-Kontext-dev",name:"FLUX.1 Kontext",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-dev",name:"FLUX.2 Dev",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-9B",name:"FLUX.2 Klein 9B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-4B",name:"FLUX.2 Klein 4B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-base-9B",name:"FLUX.2 Klein Base 9B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-base-4B",name:"FLUX.2 Klein Base 4B",params:[],kind:"image",capabilities:["edit"]},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-3.5-large",name:"Stable Diffusion 3.5 Large",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:[],kind:"image"},{id:"Qwen/Qwen-Image",name:"Qwen Image",params:[],kind:"image"},{id:"Qwen/Qwen-Image-2512",name:"Qwen Image 2512",params:[],kind:"image"},{id:"Qwen/Qwen-Image-Edit",name:"Qwen Image Edit",params:[],kind:"image",capabilities:["edit"]},{id:"Qwen/Qwen-Image-Edit-2509",name:"Qwen Image Edit 2509",params:[],kind:"image",capabilities:["edit"]},{id:"Qwen/Qwen-Image-Edit-2511",name:"Qwen Image Edit 2511",params:[],kind:"image",capabilities:["edit"]},{id:"ideogram-ai/ideogram-4-fp8",name:"Ideogram 4",params:[],kind:"image"},{id:"tencent/HunyuanImage-3.0",name:"HunyuanImage 3.0",params:[],kind:"image"},{id:"Tongyi-MAI/Z-Image-Turbo",name:"Z-Image Turbo",params:[],kind:"image"},{id:"krea/Krea-2-Turbo",name:"Krea 2 Turbo",params:[],kind:"image"},{id:"HiDream-ai/HiDream-I1-Fast",name:"HiDream I1 Fast",params:[],kind:"image"},{id:"playgroundai/playground-v2.5-1024px-aesthetic",name:"Playground v2.5",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:[],kind:"stt"},{id:"openai/whisper-large-v3-turbo",name:"Whisper Large v3 Turbo (HF)",params:[],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://router.huggingface.co",modelMap:{"black-forest-labs/FLUX.1-schnell":"fal-ai/fal-ai/flux/schnell","black-forest-labs/FLUX.1-dev":"fal-ai/fal-ai/flux/dev","black-forest-labs/FLUX.1-Krea-dev":"fal-ai/fal-ai/flux/krea","black-forest-labs/FLUX.1-Kontext-dev":{path:"fal-ai/fal-ai/flux-kontext/dev",task:"image-to-image"},"black-forest-labs/FLUX.2-dev":{path:"fal-ai/fal-ai/flux-2/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-9B":{path:"fal-ai/fal-ai/flux-2/klein/9b/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-4B":{path:"fal-ai/fal-ai/flux-2/klein/4b/distilled/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-base-9B":{path:"fal-ai/fal-ai/flux-2/klein/9b/base/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-base-4B":{path:"fal-ai/fal-ai/flux-2/klein/4b/base/edit",task:"image-to-image"},"stabilityai/stable-diffusion-xl-base-1.0":"fal-ai/fal-ai/fast-sdxl","stabilityai/stable-diffusion-3.5-large":"fal-ai/fal-ai/stable-diffusion-v35-large","stabilityai/stable-diffusion-3.5-large-turbo":"fal-ai/fal-ai/stable-diffusion-v35-large/turbo","Qwen/Qwen-Image":"fal-ai/fal-ai/qwen-image","Qwen/Qwen-Image-2512":"fal-ai/fal-ai/qwen-image-2512","Qwen/Qwen-Image-Edit":{path:"fal-ai/fal-ai/qwen-image-edit",task:"image-to-image"},"Qwen/Qwen-Image-Edit-2509":{path:"fal-ai/fal-ai/qwen-image-edit-2509",task:"image-to-image"},"Qwen/Qwen-Image-Edit-2511":{path:"fal-ai/fal-ai/qwen-image-edit-plus",task:"image-to-image"},"ideogram-ai/ideogram-4-fp8":"fal-ai/ideogram/v4","tencent/HunyuanImage-3.0":"fal-ai/fal-ai/hunyuan-image/v3/text-to-image","Tongyi-MAI/Z-Image-Turbo":"fal-ai/fal-ai/z-image/turbo","krea/Krea-2-Turbo":"fal-ai/fal-ai/krea-2/turbo","HiDream-ai/HiDream-I1-Fast":"fal-ai/fal-ai/hidream-i1-fast","playgroundai/playground-v2.5-1024px-aesthetic":"fal-ai/fal-ai/playground-v25"}},sttConfig:{baseUrl:"https://router.huggingface.co/hf-inference/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"freeTier",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},N,{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-opus-5.5-thinking",name:"Claude Opus 5.5 (Thinking)"},{id:"claude-opus-5.5-agentic",name:"Claude Opus 5.5 (Agentic)"},{id:"claude-opus-5.5-thinking-agentic",name:"Claude Opus 5.5 (Thinking + Agentic)"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5-thinking",name:"Claude Opus 5 (Thinking)"},{id:"claude-opus-5-agentic",name:"Claude Opus 5 (Agentic)"},{id:"claude-opus-5-thinking-agentic",name:"Claude Opus 5 (Thinking + Agentic)"},{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"gpt-5.6-sol-thinking",name:"GPT 5.6 Sol (Thinking)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking",name:"GPT 5.6 Terra (Thinking)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking",name:"GPT 5.6 Luna (Thinking)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"gpt-5.6-sol-agentic",name:"GPT 5.6 Sol (Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-agentic",name:"GPT 5.6 Terra (Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-agentic",name:"GPT 5.6 Luna (Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT 5.6 Sol (Thinking + Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT 5.6 Terra (Thinking + Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT 5.6 Luna (Thinking + Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},O,P,{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"},{id:"deepseek-v4.1-flash:cloud",name:"DeepSeek V4.1 Flash"}],serviceKinds:["llm","webFetch"],fetchConfig:{baseUrl:"https://ollama.com/api/web_fetch",method:"POST",authType:"apikey",authHeader:"bearer",formats:["markdown"],maxCharacters:2e5,timeoutMs:3e4},features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 10/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/go/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"deepseek-flash",name:"DeepSeek Flash",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",supportedFormats:["openai"]},{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"mimo-v2-pro",name:"MiMo V2 Pro",supportedFormats:["openai"]},{id:"mimo-v2-omni",name:"MiMo V2 Omni",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"space-bunny-free",name:"Space Bunny Free",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["openai","claude"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"hy3-preview",name:"Hy3 Preview",supportedFormats:["openai"]},{id:"omen-alpha",name:"Omen Alpha",supportedFormats:["openai"]},{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],modelsFetcher:{url:"https://opencode.ai/zen/go/v1/models",type:"opencode-go"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0,quirks:{forceAutoToolChoiceModels:["muse-spark-1.3-contributor-free"]},forceStream:!0},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free"},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free"},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free"},{id:"big-pickle",name:"Big Pickle",isFree:!0},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"deepgram/flux-tts:free",name:"Deepgram Flux TTS (Free)",kind:"tts"},{id:"fish-audio/s2.1-pro-free:free",name:"Fish Audio S2.1 Pro (Free)",kind:"tts"},{id:"deepgram/aura-2",name:"Deepgram Aura-2",kind:"tts"},{id:"fish-audio/s2.1-pro",name:"Fish Audio S2.1 Pro",kind:"tts"},{id:"fish-audio/s2-pro",name:"Fish Audio S2 Pro",kind:"tts"},{id:"fish-audio/s1",name:"Fish Audio S1",kind:"tts"},{id:"google/gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"minimax/speech-2.8-turbo",name:"MiniMax Speech 2.8 Turbo",kind:"tts"},{id:"minimax/speech-2.8-hd",name:"MiniMax Speech 2.8 HD",kind:"tts"},{id:"x-ai/grok-voice-tts-1.0",name:"Grok Voice TTS 1.0",kind:"tts"},{id:"qwen/qwen-audio-3.0-tts-flash",name:"Qwen Audio 3.0 TTS Flash",kind:"tts"},{id:"qwen/qwen-audio-3.0-tts-plus",name:"Qwen Audio 3.0 TTS Plus",kind:"tts"},{id:"mistralai/voxtral-mini-tts-2603",name:"Voxtral Mini TTS",kind:"tts"},{id:"sesame/csm-1b",name:"Sesame CSM 1B",kind:"tts"},{id:"hexgrad/kokoro-82m",name:"Kokoro 82M",kind:"tts"},{id:"canopylabs/orpheus-3b-0.1-ft",name:"Orpheus 3B",kind:"tts"},{id:"microsoft/mai-voice-2",name:"MAI Voice 2",kind:"tts"},{id:"microsoft/mai-voice-2-flash",name:"MAI Voice 2 Flash",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"},{id:"google/veo-3.1",name:"Veo 3.1 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"openai/sora-2-pro",name:"Sora 2 Pro (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"bytedance/seedance-2.0",name:"Seedance 2.0 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"typesafe/jev-1.13",name:"Jev 1.13",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","video","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/audio/speech",defaultModel:"deepgram/flux-tts:free",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},videoConfig:{baseUrl:"https://openrouter.ai/api/v1/videos",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"perplexity-agent",priority:181,alias:"perplexity-agent",aliases:["pplx-agent","pplx-responses"],uiAlias:"pa",display:{name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/responses",validateUrl:"https://api.perplexity.ai/v1/models",format:"openai-responses"},models:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"},modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) từ https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:S,method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"veo-3.1-generate-preview",name:"Veo 3.1 (Preview)",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-3.1-fast-generate-preview",name:"Veo 3.1 Fast (Preview)",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-3.0-generate-001",name:"Veo 3",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-2.0-generate-001",name:"Veo 2",params:["duration","aspect_ratio","negative_prompt","seed","storage_uri"],kind:"video"}],serviceKinds:["llm","imageToText","video"],videoConfig:{baseUrl:"https://aiplatform.googleapis.com"}},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys"}},category:"apikey",serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"}},{id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...z},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"alims-intl",priority:11,alias:"alims-intl",display:{name:"Alibaba Studio",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"IDE/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"IDE","X-IDE-Name":"IDE","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"auto",name:"Auto"},{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k3",name:"Kimi-K3"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3",name:"Hy3"},{id:"hy4-preview",name:"Hy4-Preview"},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash"},{id:"deepseek-v3-0324",name:"DeepSeek-V3"},{id:"gpt-5.6-luna",name:"GPT-5.6-Luna"},{id:"gpt-5.6-sol",name:"GPT-5.6-Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6-Terra"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex"},{id:"claude-opus-4.6",name:"Claude-Opus-4.6"},{id:"claude-opus-4.7-1m",name:"Claude-Opus-4.7-1M"},{id:"claude-sonnet-4.6",name:"Claude-Sonnet-4.6"},{id:"gemini-3.1-pro",name:"Gemini-3.1-Pro"},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash"}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"zed",priority:999,alias:"zd",uiAlias:"zd",display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"api-airforce",alias:"af",aliases:["airforce"],uiAlias:"af",display:{name:"API.airforce",icon:"flight",color:"#0EA5E9",textIcon:"AF",website:"https://api.airforce",notice:{apiKeyUrl:"https://api.airforce"}},category:"freeTier",authType:"apikey",authModes:["apikey"],passthroughModels:!0,modelsFetcher:{url:"https://api.airforce/v1/models",type:"airforce-free"},transport:{baseUrl:"https://api.airforce/v1/chat/completions",validateUrl:"https://api.airforce/v1/models",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},forceStream:!0},models:[{id:"gpt-oss-120b",name:"GPT-OSS 120B (Free)",contextLength:131072},{id:"gpt-oss-20b",name:"GPT-OSS 20B (Free)",contextLength:131072},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code (Free)",contextLength:262144}]},{id:"baidu",alias:"qianfan",aliases:["qianfan","ernie","baidu-qianfan"],uiAlias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}]},{id:"bazaarlink",alias:"bzl",aliases:["bazaar-link"],uiAlias:"bzl",category:"freeTier",authType:"apikey",authModes:["apikey"],display:{name:"Bazaarlink",icon:"storefront",color:"#DC2626",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai"}},transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",validateUrl:"https://bazaarlink.ai/api/v1/models"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7",contextLength:1e6},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:1e6},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5",name:"GPT-5.5",contextLength:105e4},{id:"gpt-5.4",name:"GPT-5.4",contextLength:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextLength:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextLength:4e5},{id:"grok-4.3",name:"Grok 4.3",contextLength:1e6},{id:"grok-4.20",name:"Grok 4.20",contextLength:2e6},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextLength:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",contextLength:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"kimi-k2.5",name:"Kimi K2.5",contextLength:262144},{id:"glm-5.1",name:"GLM 5.1",contextLength:204800},{id:"glm-5",name:"GLM 5",contextLength:204800},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextLength:105e4},{id:"mimo-v2.5",name:"MiMo-V2.5",contextLength:105e4},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576},{id:"minimax-m2.7",name:"MiniMax M2.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",contextLength:1e6},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextLength:1e6}]},{id:"bluesminds",alias:"bm",aliases:["blue-sminds"],uiAlias:"bm",hidden:!0,display:{name:"BluesMinds",icon:"psychology",color:"#2563EB",textIcon:"BM",website:"https://bluesminds.com",notice:{apiKeyUrl:"https://bluesminds.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4.1",name:"GPT-4.1",contextLength:1048576},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextLength:1048576},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",contextLength:1048576},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextLength:1048576},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)",contextLength:1048576},{id:"qwen-turbo",name:"Qwen Turbo",contextLength:1e6},{id:"kimi-k2",name:"Kimi K2",contextLength:262144},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextLength:262144},{id:"glm-4.7",name:"GLM 4.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)",contextLength:2e5},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)",contextLength:1048576}]},{id:"kilo-gateway",alias:"kgw",aliases:["kilo-gateway","kilogateway"],uiAlias:"kgw",category:"freeTier",display:{name:"Kilo Gateway",icon:"login",color:"#8B5CF6",textIcon:"KG",website:"https://kilo.ai",notice:{apiKeyUrl:"https://kilo.ai/dashboard?tab=apiKeys"}},authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/free",name:"Kilo Auto Free",contextLength:256e3},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)",contextLength:262144},{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"Nemotron 3 Ultra 550B (Free)",contextLength:1e6},{id:"kwaipilot/kat-coder-pro-v2.5:free",name:"Kat Coder Pro v2.5 (Free)",contextLength:256e3},{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextLength:1e6},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextLength:1e6}]},{id:"llm7",alias:"llm7",aliases:["llm-7"],uiAlias:"llm7",display:{name:"LLM7",icon:"pool",color:"#7C3AED",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",validateUrl:"https://api.llm7.io/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5 (LLM7)",contextLength:105e4},{id:"claude-opus-5",name:"Claude Opus 5 (LLM7)",contextLength:1e6},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (LLM7)",contextLength:1e6},{id:"grok-4.5",name:"Grok 4.5 (LLM7)",contextLength:5e5},{id:"kimi-k3",name:"Kimi K3 (LLM7)",contextLength:1e6}],passthroughModels:!0},{id:"sambanova",alias:"samba",aliases:["sambanova-ai"],uiAlias:"samba",hidden:!0,display:{name:"SambaNova",icon:"memory",color:"#F97316",textIcon:"SN",website:"https://sambanova.ai",notice:{apiKeyUrl:"https://cloud.sambanova.ai/apis"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextLength:196608}]},{id:"tencent",alias:"hunyuan",aliases:["hunyuan","tencent-hunyuan"],uiAlias:"hunyuan",display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}]},{id:"morph",alias:"morph",aliases:["morphllm"],uiAlias:"morph",display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}]},{id:"poolside",priority:60,alias:"poolside",aliases:["ps"],uiAlias:"ps",display:{name:"Poolside",icon:"water_drop",color:"#0EA5E9",textIcon:"PS",website:"https://poolside.ai",notice:{apiKeyUrl:"https://platform.poolside.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"},{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"}]},{id:"tokenrouter",alias:"tokenrouter",aliases:["tr"],uiAlias:"tokenrouter",display:{name:"TokenRouter",icon:"hub",color:"#0EA5E9",textIcon:"TR",website:"https://www.tokenrouter.com",notice:{text:"OpenAI-compatible gateway. 300+ models (OpenAI, Claude, Gemini, Qwen, DeepSeek, Kimi, GLM, dsb).",apiKeyUrl:"https://www.tokenrouter.com"}},category:"apikey",thinkingConfig:{options:["low","medium","high","xhigh","max"],defaultMode:"high"},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",thinkingFormat:"tokenrouter"},models:[{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 Fast"},{id:"openai/gpt-5.4",name:"Gpt 5.4"},{id:"openai/gpt-5.4-mini",name:"Gpt 5.4 Mini"},{id:"openai/gpt-5.4-pro",name:"Gpt 5.4 Pro"},{id:"openai/gpt-5.5",name:"Gpt 5.5"},{id:"openai/gpt-5.6-sol",name:"Gpt 5.6 Sol"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"deepseek/deepseek-v4-flash",name:"Deepseek V4 Flash"},{id:"deepseek/deepseek-v4-pro",name:"Deepseek V4 Pro"},{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3-free",name:"Kimi K3 Free"},{id:"z-ai/glm-5.3-free",name:"Glm 5.3 Free"},{id:"z-ai/glm-5.2",name:"Glm 5.2"},{id:"z-ai/glm-5-turbo",name:"Glm 5 Turbo"},{id:"x-ai/grok-4.5",name:"Grok 4.5"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.tokenrouter.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.tokenrouter.com/v1/images/generations"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},passthroughModels:!0},{id:"selfhosted-stt",priority:50,hasFree:!0,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"cloud",color:"#ffffffff",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the full transcriptions URL, e.g. http://host:8080/v1/audio/transcriptions. The API key is not checked by local servers; any value works."}},models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"http://localhost:8080/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,hasFree:!0,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"cloud",color:"#ffffffff",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the server root, e.g. http://host:8080 — /v1/audio/speech is appended. The API key is not checked by local servers; any value works."}},models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{baseUrl:"http://localhost:8880",defaultModel:"kokoro",authType:"apikey",format:"openai-speech"}},{id:"selfhosted-embedding",priority:50,hasFree:!0,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"cloud",color:"#ffffffff",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the OpenAI base URL, e.g. http://host:8080/v1 — /embeddings is appended. The API key is not checked by local servers; any value works."}},models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"http://localhost:8080/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"alitp-intl",priority:11,alias:"alitp-intl",display:{name:"Alibaba Token Plan",icon:"cloud",color:"#FF6A00",textIcon:"ATP",website:"https://www.alibabacloud.com/campaign/ai-landing-page-token",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",validateUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/models",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview"},{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"}]},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"ollama-search",alias:"ollama-search",display:{name:"Ollama Search",icon:"cloud",color:"#ffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Web search via Ollama Cloud subscription. Reuses the API key from the Ollama (chat) provider.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch"],credentialFallback:"ollama",searchConfig:{baseUrl:"https://ollama.com/api/web_search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"aihorde",priority:90,alias:"horde",uiAlias:"horde",display:{name:"AI Horde",icon:"aihorde.png",color:"#5C6BC0",textIcon:"AH",website:"https://aihorde.net",notice:{text:"Crowdsourced volunteer inference has variable availability, queues, and model limits. Anonymous requests run at lower priority; add an AI Horde API key for account-backed priority.",apiKeyUrl:"https://aihorde.net/register"}},category:"free",noAuth:!0,authType:"none",authModes:["none"],authHint:"Uses AI Horde's official anonymous sentinel. Availability and latency depend on volunteer workers.",transport:{baseUrl:"https://oai.aihorde.net/v1/chat/completions",baseUrls:["https://oai.aihorde.net/v1/chat/completions"],format:"openai",noAuth:!0,headers:{Authorization:"Bearer 0000000000"}},models:[],modelsFetcher:{url:"https://oai.aihorde.net/v1/models",type:"openai"},passthroughModels:!0},{id:"bai",priority:120,alias:"bai",aliases:["b-ai"],uiAlias:"bai",display:{name:"B.AI",icon:"router",color:"#111827",textIcon:"BAI",website:"https://b.ai",notice:{text:"OpenAI-compatible gateway with one of the larger catalogues here. Accepts a bearer token or an x-api-key header. Model ids are fetched live from the provider.",apiKeyUrl:"https://b.ai"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.b.ai/v1/chat/completions",modelsUrl:"https://api.b.ai/v1/models",validateUrl:"https://api.b.ai/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://api.b.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"tokenharbor",priority:120,alias:"tokenharbor",aliases:["th","thh"],uiAlias:"tokenharbor",display:{name:"Token Harbor",icon:"ship",color:"#0D9488",textIcon:"TH",website:"https://tokenharbor.ai",notice:{text:"OpenAI-compatible aggregator. One API key reaches every model, billed per-token from a prepaid wallet. Model ids are bare (e.g. claude-opus-5.5, gpt-6-astra, deepseek-v4.1-flash:free) and are fetched live from the provider.",apiKeyUrl:"https://tokenharbor.ai/dashboard/api-keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://tokenharbor.ai/v1/chat/completions",modelsUrl:"https://tokenharbor.ai/v1/models",validateUrl:"https://tokenharbor.ai/v1/models",retry:{429:2}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-sol",name:"GPT-6 Sol"},{id:"deepseek-v4.1-flash:free",name:"DeepSeek V4.1 Flash (Free)"},{id:"grok-4.7",name:"Grok 4.7"}],modelsFetcher:{url:"https://tokenharbor.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"nous",alias:"nous",uiAlias:"nous",display:{name:"Nous Research",icon:"router",color:"#B8F135",textIcon:"NO",website:"https://nousresearch.com",notice:{apiKeyUrl:"https://portal.nousresearch.com",text:"Use an inference API key, or sign in with Nous Portal (Hermes CLI device flow)."}},category:"oauth",authType:"apikey",hasOAuth:!0,authModes:["oauth","apikey"],transport:{baseUrl:"https://inference-api.nousresearch.com/v1/chat/completions",modelsUrl:"https://inference-api.nousresearch.com/v1/models",validateUrl:"https://inference-api.nousresearch.com/v1/models",thinkingFormat:"openai",headers:{"User-Agent":"OpenAI/Python 2.24.0","X-Stainless-Arch":"x64","X-Stainless-Async":"false","X-Stainless-Lang":"python","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"2.24.0","X-Stainless-Read-Timeout":"30.0","X-Stainless-Retry-Count":"0","X-Stainless-Runtime":"CPython","X-Stainless-Runtime-Version":"3.11.15"}},oauth:{clientId:"hermes-cli",deviceCodeUrl:"https://portal.nousresearch.com/api/oauth/device/code",tokenUrl:"https://portal.nousresearch.com/api/oauth/token",refreshUrl:"https://portal.nousresearch.com/api/oauth/token",scope:"inference:invoke",userInfoUrl:"https://portal.nousresearch.com/api/oauth/account"},models:[],modelsFetcher:{url:"https://inference-api.nousresearch.com/v1/models",type:"openai"},passthroughModels:!0},{id:"orcarouter",alias:"orcarouter",uiAlias:"orcarouter",display:{name:"OrcaRouter",icon:"router",color:"#1B2A4A",textIcon:"OR",website:"https://www.orcarouter.ai",notice:{apiKeyUrl:"https://www.orcarouter.ai/console"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://www.orcarouter.ai/v1/chat/completions",modelsUrl:"https://www.orcarouter.ai/v1/models",validateUrl:"https://www.orcarouter.ai/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://www.orcarouter.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"apinex",alias:"apinex",uiAlias:"apinex",display:{name:"APInex",icon:"bolt",color:"#D9A441",textIcon:"AX",website:"https://apinex.bond",notice:{apiKeyUrl:"https://apinex.bond/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.apinex.bond/v1/chat/completions",modelsUrl:"https://api.apinex.bond/v1/models",validateUrl:"https://api.apinex.bond/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://api.apinex.bond/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"qwen",priority:12,alias:"qwen",aliases:["qw"],display:{name:"Qwen",icon:"qwen",color:"#6366F1",textIcon:"Qw",website:"https://qwen.ai",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",validateUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max",name:"Qwen3.8 Max"},{id:"qwen3.8-flash",name:"Qwen3.8 Flash"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.7-flash",name:"Qwen3.7 Flash"},{id:"qwen3.8-2.4t-a95b",name:"Qwen3.8 2.4T MoE (Open)"},{id:"qwen3.8-27b",name:"Qwen3.8 27B (Open)"},{id:"qwen3.6-35b-a3b",name:"Qwen3.6 35B MoE (Open)"},{id:"qwen3.6-27b",name:"Qwen3.6 27B (Open)"}]},{id:"unikey",alias:"unikey",uiAlias:"unikey",display:{name:"UniKey",icon:"key",color:"#6C5CE7",textIcon:"UK",website:"https://www.getunikey.ai",notice:{apiKeyUrl:"https://www.getunikey.ai/console/token",text:"Bills in credits (1 credit = $0.01). Remaining is computed as a 5000-credit grant minus spend; set providerSpecificData.unikeyTotalCredits to your real grant if it differs, or unikeyProbeBalance: true to read the exact balance from the relay."}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://www.getunikey.ai/v1/chat/completions",modelsUrl:"https://www.getunikey.ai/v1/models",validateUrl:"https://www.getunikey.ai/v1/models",thinkingFormat:"openai"},models:[{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite"},{id:"google/gemini-3-pro-image",name:"Gemini 3 Pro Image"},{id:"x-ai/grok-4.3",name:"Grok 4.3"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"z-ai/glm-5.1",name:"GLM 5.1"},{id:"minimax/minimax-m3",name:"MiniMax M3"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3",name:"Kimi K3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M3",name:"MiniMax M3 (Direct)"},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (Direct)"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro (Direct)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash (Direct)"},{id:"glm-5.1",name:"GLM 5.1 (Direct)"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code (Direct)"},{id:"kimi-k3",name:"Kimi K3 (Direct)"},{id:"qwen3.7-max",name:"Qwen3.7 Max"}],modelsFetcher:{url:"https://www.getunikey.ai/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"atria",priority:120,alias:"atria",aliases:["atria-asi"],uiAlias:"atria",display:{name:"Atria Dawn",icon:"atria",color:"#1F6FEB",textIcon:"AT",website:"https://atria-asi.ai",notice:{text:"OpenAI-compatible endpoint from Atria Dawn (AtomInnoLab). Currently a research preview offering a single text model, Atria-Dawn-Preview.",apiKeyUrl:"https://api.atria-asi.ai/console/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.atria-asi.ai/v1/chat/completions",modelsUrl:"https://api.atria-asi.ai/v1/models",validateUrl:"https://api.atria-asi.ai/v1/models",thinkingFormat:"openai"},models:[{id:"Atria-Dawn-Preview",name:"Atria Dawn Preview"}],modelsFetcher:{url:"https://api.atria-asi.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",headers:{}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"jev-1.13",name:"Jev 1.13",kind:"systemone"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"qoder-cn",priority:30,alias:"qdcn",uiAlias:"qdcn",display:{name:"Qoder CN",icon:"water_drop",color:"#EC4899",website:"https://qoder.com.cn",notice:{signupUrl:"https://qoder.com.cn"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) from https://qoder.com.cn/account/integrations",transport:{baseUrl:"https://gateway.qoder.com.cn/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.com.cn/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.com.cn",centerBaseUrl:"https://gateway.qoder.com.cn",chatBaseUrl:"https://gateway.qoder.com.cn",deviceTokenUrl:"https://openapi.qoder.com.cn/api/v1/deviceToken/poll",refreshUrl:"https://gateway.qoder.com.cn/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.com.cn/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.com.cn/api/v2/quota/usage",loginUrl:"https://qoder.com.cn/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"dahl",priority:120,alias:"dahl",aliases:["dahl-inference"],uiAlias:"dahl",display:{name:"Dahl Inference",icon:"hub",color:"#1E40AF",textIcon:"DH",website:"https://dahl.global",notice:{text:"OpenAI-compatible Gonka inference node. Small, fixed catalogue (GLM-5.3-Flash, DeepSeek-V4-Flash, MiniMax-M2.7) at a flat per-token rate.",apiKeyUrl:"https://dahl.global/dashboard"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.dahl.global/v1/chat/completions",validateUrl:"https://inference.dahl.global/v1/models"},models:[{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3 Flash"},{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"}],modelsFetcher:{url:"https://inference.dahl.global/v1/models",type:"openai"},passthroughModels:!0},{id:"agnes",priority:120,alias:"agnes",aliases:["agnes-ai"],uiAlias:"agnes",display:{name:"Agnes AI",icon:"auto_awesome",color:"#7C3AED",textIcon:"AG",website:"https://agnes-ai.com",notice:{text:"OpenAI-compatible gateway from Agnes AI, offering free API credits on sign-up. Accepts a bearer token or an x-api-key header.",apiKeyUrl:"https://platform.agnes-ai.com"}},category:"freeTier",authType:"apikey",transport:{baseUrl:"https://apihub.agnes-ai.com/v1/chat/completions",modelsUrl:"https://apihub.agnes-ai.com/v1/models",validateUrl:"https://apihub.agnes-ai.com/v1/models"},serviceKinds:["llm","image","video"],imageConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/images/generations"},videoConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/videos"},models:[{id:"agnes-3.0-flash",name:"Agnes 3.0 Flash"},{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.0-flash",name:"Agnes 2.0 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",kind:"image"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",kind:"image"},{id:"agnes-image-2.0-flash",name:"Agnes Image 2.0 Flash",kind:"image"},{id:"agnes-video-2.5-flash",name:"Agnes Video 2.5 Flash",kind:"video"},{id:"agnes-video-v2.0",name:"Agnes Video v2.0",kind:"video"},{id:"agnes-video-2.5",name:"Agnes Video 2.5",kind:"video"}],modelsFetcher:{url:"https://apihub.agnes-ai.com/v1/models",type:"openai"},passthroughModels:!0},{id:"tinyfish",alias:"tinyfish",display:{name:"TinyFish",color:"#FF6700",textIcon:"TF",website:"https://www.tinyfish.ai/",notice:{apiKeyUrl:"https://agent.tinyfish.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.search.tinyfish.ai",validateUrl:"https://api.search.tinyfish.ai/usage?limit=1",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,searchTypes:["web","news","research_paper"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4},fetchConfig:{baseUrl:"https://api.fetch.tinyfish.ai",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,formats:["markdown","html"],maxCharacters:1e5,timeoutMs:15e4}},{id:"v1m",priority:45,alias:"v1m",aliases:["systemone","jev"],uiAlias:"v1m",display:{name:"v1m (System One)",icon:"psychology",color:"#6366F1",textIcon:"V1",website:"https://v1m.ir",notice:{text:"v1m System One calibrated decision engine. Fast probabilistic evaluations over state and questions.",apiKeyUrl:"https://v1m.ir"}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,models:[{id:"rev-latest",name:"v1m Rev Latest (Calibrated)",kind:"systemone"},{id:"v1m-decision-engine",name:"v1m Decision Engine",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://v1m.ir/v1/systemone",authType:"apikey",authHeader:"bearer"}},{id:"muse",priority:120,alias:"muse",aliases:["muse-ai","meta-model-api","muse-code","muse-subscription"],uiAlias:"muse",display:{name:"Muse (Meta Model API)",icon:"auto_awesome",color:"#0866FF",textIcon:"MU",website:"https://muse.ai",notice:{text:"Sign in with your Meta account (Muse Code subscription) or paste a Model API key from dev.meta.ai. Subscription keys are minted per account; Meta may train on contributor-tier data.",apiKeyUrl:"https://dev.meta.ai",signupUrl:"https://muse.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.meta.ai/v1/chat/completions",validateUrl:"https://api.meta.ai/v1/models",modelsUrl:"https://api.meta.ai/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.meta.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},{format:"openai-responses",baseUrl:"https://api.meta.ai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}}],models:[{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.1",name:"Muse Spark 1.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],passthroughModels:!0,oauth:{clientId:"1031625952748946",deviceCodeUrl:"https://auth.meta.com/oidc/device/authorization/",tokenUrl:"https://auth.meta.com/oidc/device/token/"}},{id:"minimax-code",priority:80,alias:"mm",display:{name:"MiniMax Code",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.cn"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},modelsFetcher:{url:"https://agent.minimax.cn/mavis/api/v1/models?region=cn&buildEnv=prod",type:"minimax-code"},transport:{baseUrl:"https://agent.minimax.cn/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0,hooks:["minimaxHeaders"]}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.cn/oauth2/device/code",tokenUrl:"https://account.minimax.cn/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"minimax-code-global",priority:80,alias:"mmg",display:{name:"MiniMax Code (Global)",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.io"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},modelsFetcher:{url:"https://agent.minimax.io/mavis/api/v1/models?region=en&buildEnv=prod",type:"minimax-code"},transport:{baseUrl:"https://agent.minimax.io/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0,hooks:["minimaxHeaders"]}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.io/oauth2/device/code",tokenUrl:"https://account.minimax.io/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"bedrock",alias:"br",aliases:["aws-bedrock"],uiAlias:"br",category:"apikey",authType:"apikey",apiKeyOptionalWith:"profile",credentialForm:"aws",display:{name:"AWS Bedrock",icon:"cloud",color:"#FF9900",textIcon:"BR",website:"https://aws.amazon.com/bedrock/",notice:{text:"Two ways to authenticate, both entered in the AWS Bedrock Credentials section below. SSO / profile (recommended): fill in Profile and Region, leave the API key empty, then run `aws sso login --profile <name>` — credentials refresh automatically. Static keys: put the AWS secret access key in the API Key field and the key id in Access Key ID, adding Session Token if they are temporary (ASIA…) keys. A profile, if set, takes precedence over static keys.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},transport:{baseUrl:"https://bedrock-runtime.{region}.amazonaws.com",format:"claude",auth:{header:"aws-sigv4",scheme:"raw"}},passthroughModels:!0,models:[{id:"us.anthropic.claude-opus-5",name:"Claude Opus 5"},{id:"us.anthropic.claude-sonnet-5",name:"Claude Sonnet 5"},{id:"us.anthropic.claude-fable-5",name:"Claude Fable 5"},{id:"us.anthropic.claude-opus-4-8",name:"Claude Opus 4.8"},{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7"},{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5"},{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5"},{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1"},{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4"},{id:"us.anthropic.claude-3-haiku-20240307-v1:0",name:"Claude 3 Haiku"}],hasProviderSpecificData:!0},{id:"bedrock-xai",alias:"brx",aliases:["bedrock-grok"],uiAlias:"brx",category:"apikey",authType:"apikey",apiKeyOptionalWith:"profile",credentialForm:"aws",display:{name:"AWS Bedrock (xAI)",icon:"cloud",color:"#FF9900",textIcon:"BX",website:"https://aws.amazon.com/bedrock/",notice:{text:'xAI Grok models hosted on AWS Bedrock. Authenticate exactly like the AWS Bedrock provider: fill in Profile and Region and leave the API key empty, then run `aws sso login --profile <name>`; or use static keys with the AWS secret access key as the API key. Note Grok is a reasoning model and spends output budget thinking before it answers — a small max_tokens returns finish_reason "length" with empty content, so allow a few thousand tokens.',apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},transport:{baseUrl:"https://bedrock-runtime.{region}.amazonaws.com",auth:{header:"aws-sigv4",scheme:"raw"}},passthroughModels:!0,models:[{id:"us.xai.grok-4.6",name:"Grok 4.6"},{id:"global.xai.grok-4.6",name:"Grok 4.6 (global)"}],hasProviderSpecificData:!0}],U="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(T.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:U}:b]}));let V=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],W=a=>Object.fromEntries(T.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),V))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=U),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(a)])),X=W("free"),Y=W("freeTier"),Z=W("oauth"),$=W("apikey"),_=W("webCookie"),aa={...X,...Y,...Z,...$,..._};Object.values(aa).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(aa).reduce((a,b)=>(a[b.id]=b.alias,a),{}),T.filter(a=>a.features?.usage).map(a=>a.id),T.filter(a=>a.features?.usageApikey).map(a=>a.id);var ab=c(2886),ac=c(73024),ad=c.n(ac),ae=c(76760),af=c.n(ae),ag=c(77598),ah=c.n(ag),ai=c(72045);let aj=af().join(ai.n,"machine-id"),ak=af().join(ai.n,"auth"),al=af().join(ak,"cli-secret"),am=null,an=null;async function ao(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(am)return am;try{if(am=ad().readFileSync(aj,"utf8").trim())return am}catch{}try{am=(0,ab.machineIdSync)()}catch{am=ah().randomUUID()}try{ad().mkdirSync(ai.n,{recursive:!0}),ad().writeFileSync(aj,am,{mode:384})}catch{}return am}(),d="9r-cli-auth"===b?function(){if(an)return an;try{if(an=ad().readFileSync(al,"utf8").trim())return an}catch{}an=ah().randomBytes(32).toString("hex");try{ad().mkdirSync(ak,{recursive:!0}),ad().writeFileSync(al,an,{mode:384})}catch{}return an}():"";return ah().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}class ap extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class aq extends ap{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class ar extends ap{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class as extends ap{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class at extends ap{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class au extends ap{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class av extends ap{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class aw extends ap{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let ax=[["verify"],["sign"]];function ay(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:ax}}function az(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:ax,minRsaBits:2048}}function aA(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:ax}}function aB(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:ax}}function aC(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:ax}}let aD=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:ay(256),HS384:ay(384),HS512:ay(512),RS256:az(256),RS384:az(384),RS512:az(512),PS256:az(256,32),PS384:az(384,48),PS512:az(512,64),ES256:aA("P-256",256),ES384:aA("P-384",384),ES512:aA("P-521",512),EdDSA:aB(),Ed25519:aB(),"ML-DSA-44":aC(44),"ML-DSA-65":aC(65),"ML-DSA-87":aC(87)}),aE=new TextEncoder,aF=new TextDecoder,aG=new TextDecoder("utf-8",{fatal:!0}),aH=/[^\x00-\x7f]/;function aI(a){if("string"==typeof a&&a.length>=128){if(aH.test(a))throw TypeError("non-ASCII string encountered in encode()");return aE.encode(a)}let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}function aJ(a){try{return function(a,b=!1){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(a,{alphabet:b?"base64url":"base64"});if(b){if(a.includes("+")||a.includes("/"))throw TypeError("Invalid base64url");a=a.replace(/-/g,"+").replace(/_/g,"/")}let c=atob(a),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}("string"==typeof a?a:aF.decode(a),!0)}catch(a){throw TypeError("The input to be decoded is not correctly encoded.",{cause:a})}}function aK(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);return null===b||null===Object.getPrototypeOf(b)}function aL(a,b,c){try{return aJ(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}let aM={__proto__:null,b64:!0};async function aN(a,b,c){let e,f,{alg:g,secret:h}=a,i="decrypt"===c||"sign"===c;if(h&&b instanceof Uint8Array)return b;if(aK(b)){if("string"!=typeof(e=function(a){let b={__proto__:null,...a};if(void 0!==b.ext&&"boolean"!=typeof b.ext)throw TypeError('"ext" (Extractable) Parameter must be a boolean');if(void 0!==b.key_ops){let a=b.key_ops,c=Array.isArray(a)?[...a]:void 0;if(!c||c.some(a=>"string"!=typeof a)||new Set(c).size!==c.length)throw TypeError('"key_ops" (Key Operations) Parameter must be an array of unique strings');b.key_ops=c}return b}(b)).kty)throw aR(g,b,h);if(!(h?"oct"===e.kty&&"string"==typeof e.k:"oct"!==e.kty&&(i?"AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d:void 0===e.d&&void 0===e.priv)))throw TypeError(h?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${i?"private":"public"} JWK`);if(((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,e,c),"oct"===e.kty)return aJ(e.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}}else{if(!aQ(b))throw aR(g,b,h);let a=h?"secret":i?"private":"public";if(b.type!==a&&(h||["secret","public","private"].includes(b.type)))throw TypeError(`${b[Symbol.toStringTag]} instances must be of type "${a}" for the ${g} algorithm`);if(aP(b))return b;if("secret"===(f=b).type)return f.export()}let j=(d||=new WeakMap).get(b);if(j?.[g])return j[g];if(j||d.set(b,j={}),f&&"function"==typeof f.toCryptoKey){let b="public"===f.type,c=aO[f.asymmetricKeyDetails?.namedCurve],d=a.resolve?.({crv:c,asymmetricKeyType:f.asymmetricKeyType})??a.subtle;return j[g]=f.toCryptoKey(d,b,a.usages[+!b])}return(e??=f.export({format:"jwk"})).alg=g,j[g]=await aT(a,e)}let aO={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"},aP=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},aQ=a=>aP(a)||a?.[Symbol.toStringTag]==="KeyObject";function aR(a,b,c){let d=["CryptoKey","KeyObject","JSON Web Key"];return c&&d.push("Uint8Array"),TypeError(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}(`Key for the ${a} algorithm must be `,b,...d))}let aS=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function aT(a,b,c){if(!a.kty.includes(b.kty))throw new at('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let d=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,e=!!(b.d||b.priv),f={...b,ext:c??b.ext};return"AKP"!==f.kty&&delete f.alg,delete f.use,crypto.subtle.importKey("jwk",f,d,f.ext??!e,b.key_ops??a.usages[+!!e])}async function aU(a,b,c,d=!1){return a instanceof Uint8Array&&(a=await crypto.subtle.importKey("raw",a,b,d,[c])),function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw aS(b.name);if(b.hash&&d.hash?.name!==b.hash)throw aS(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw aS(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw aS(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(a,b,c),a}function aV(a){try{return aI(a)}catch{throw new au("JWS Compact Serialization payload must use only ASCII characters")}}async function aW(a,b,c,d,e){let{protected:f,header:g,payload:h}=a,i=e??(void 0===f?{}:function(a,b,c){let d;try{d=JSON.parse(aG.decode(aJ(a)))}catch{throw new b(c)}if(!aK(d))throw new b(c);return d}(f,au,"JWS Protected Header is invalid"));if(!function(...a){let b=new Set;for(let c of a)if(c)for(let a of Object.keys(c)){if(b.has(a))return!1;b.add(a)}return!0}(i,g))throw new au("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let j={...i,...g},k=function(a,b){if(b.includes("b64")){let b=a.b64;if("boolean"!=typeof b)throw new au('The "b64" (base64url-encode payload) Header Parameter must be a boolean');return b}return!0}(i,function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new at(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(au,aM,b[1],i,j)),{alg:l}=j;if("string"!=typeof l||!l)throw new au('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(l))throw new as('"alg" (Algorithm) Header Parameter value not allowed');if(k){if("string"!=typeof h)throw new au("JWS Payload must be a string")}else if("string"!=typeof h&&!(h instanceof Uint8Array))throw new au("JWS Payload must be a string or an Uint8Array instance");let m=k||"string"!=typeof h?h:d(h),n=!1;"function"==typeof c&&(c=await c(i,a),n=!0);let o=function(a){let b="string"==typeof a?aD[a]:void 0;if(!b)throw new at(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(l),p=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==f?aI(f):new Uint8Array,aI("."),"string"==typeof m?b[2]??=function(a,b,c){try{return aI(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(m,"payload",au):m),q=aL(a.signature,"signature",au),r=await aN(o,c,"verify"),s=await aU(r,o.subtle,"verify");o.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(o.alg,s);let t=!1;try{t=await crypto.subtle.verify(o.signing,s,q,p)}catch{}if(!t)throw new aw;let u={payload:"string"==typeof m?aL(m,"payload",au):m};return void 0!==f&&(u.protectedHeader=i),void 0!==g&&(u.unprotectedHeader=g),n?[{...u,key:r},k]:[u,k]}async function aX(a,b,c){if(a instanceof Uint8Array&&(a=aF.decode(a)),"string"!=typeof a)throw new au("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new au("Invalid Compact JWS");return aW({payload:e,protected:d,signature:f},b,c,aV)}let aY={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},aZ=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,a$="check_failed";function a_(){throw TypeError("Invalid time period format")}function a0(a){"string"!=typeof a&&a_();let b=aZ.exec(a);(!b||b[4]&&b[1])&&a_();let c=Math.round(parseFloat(b[2])*aY[b[3][0].toLowerCase()]);return Number.isFinite(c)||a_(),"-"===b[1]||"ago"===b[4]?-c:c}function a1(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let a2=a=>{let b=a.toLowerCase();return a.includes("/")?b:`application/${b}`};function a3(a,b,c=!1){let d=a[b];if(!(void 0===d&&!c)){if("number"!=typeof d)throw new aq(`"${b}" claim must be a number`,a,b,"invalid");return d}}function a4(a,b){throw new aq(`unexpected "${b}" claim value`,a,b,a$)}async function a5(a,b,c){let[d,e]=await aX(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);return void 0===b?void 0:new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!e)throw new av("JWTs MUST NOT use unencoded payload");let f=function(a,b,c={}){let d,e,f;try{d=JSON.parse(aG.decode(b))}catch{}if(!aK(d))throw new av("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(void 0!==g&&("string"!=typeof a.typ||a2(a.typ)!==a2(g)))throw new aq('unexpected "typ" JWT header value',d,"typ",a$);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(d,a))throw new aq(`missing required "${a}" claim`,d,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(d.iss)||a4(d,"iss"),void 0!==j&&d.sub!==j&&a4(d,"sub"),void 0===k||(e=d.aud,f="string"==typeof k?[k]:k,"string"==typeof e?f.includes(e):!!Array.isArray(e)&&f.some(a=>e.includes(a)))||a4(d,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=a0(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}a1("clockTolerance option",o);let{currentDate:p}=c,q=a1("currentDate option",Math.floor((void 0===p?new Date:p).getTime()/1e3)),r=a3(d,"iat",void 0!==l),s=a3(d,"nbf");if(void 0!==s&&s>q+o)throw new aq('"nbf" claim timestamp check failed',d,"nbf",a$);let t=a3(d,"exp");if(void 0!==t&&t<=q-o)throw new ar('"exp" claim timestamp check failed',d,"exp",a$);if(void 0!==l){let a=q-r;if(a-o>a1("maxTokenAge option","number"==typeof l?l:a0(l)))throw new ar('"iat" claim timestamp check failed (too far in the past)',d,"iat",a$);if(a<-o)throw new aq('"iat" claim timestamp check failed (it should be in the past)',d,"iat",a$)}return d}(d.protectedHeader,d.payload,c);return{...d,payload:f}}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);let a6=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=af().join(ai.n,"jwt-secret");try{return ad().readFileSync(a,"utf8").trim()}catch{}ad().mkdirSync(ai.n,{recursive:!0});let b=ah().randomBytes(32).toString("hex");return ad().writeFileSync(a,b,{mode:384}),b}());async function a7(a){if(!a)return!1;try{return await a5(a,a6),!0}catch{return!1}}let a8=null;async function a9(){return a8||(a8=await ao("9r-cli-auth")),a8}async function ba(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await a9()}let bb=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/auth/saml","/api/version","/api/settings/require-login"],bc=["/v1","/v1beta","/api/v1","/api/v1beta","/codex","/responses"],bd=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import"],be=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop","/api/headroom/proxy"],bf=new Set(["localhost","127.0.0.1","::1"]);function bg(a){if(!a)return!1;let b=String(a).trim().toLowerCase();if(b.startsWith("[")){let a=b.indexOf("]");if(-1===a)return!1;b=b.slice(1,a)}else -1!==b.indexOf(":")&&b.indexOf(":")===b.lastIndexOf(":")&&(b=b.slice(0,b.indexOf(":")));return b.startsWith("::ffff:")&&(b=b.slice(7)),bf.has(b)}function bh(a){let b;if(a.headers.get("x-9r-via-proxy")||!((b=process.env.NINEROUTER_PEER_TOKEN)&&a.headers.get("x-9r-peer-token")===b&&bg(a.headers.get("x-9r-real-ip"))))return!1;let c=a.headers.get("origin");if(c)try{if(!bg(new URL(c).hostname))return!1}catch{return!1}return!0}function bi(a){return bc.some(b=>a===b||a.startsWith(`${b}/`))}async function bj(a){let b=function(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}(a);return!!b&&await (0,k.validateApiKey)(b)}async function bk(a){return!!(bh(a)||await ba(a)||await bm(a))||await bj(a)}async function bl(a){return!!(await ba(a)||bh(a)&&await bo(a))}async function bm(a){let b=a.cookies.get("auth_token")?.value;return await a7(b)}async function bn(){try{return await (0,l.getSettings)()}catch{return null}}async function bo(a){if(await bm(a))return!0;let b=await bn();return!!b&&!1===b.requireLogin}async function bp(a){let{pathname:b}=a.nextUrl;if(be.some(a=>b.startsWith(a))&&!await bl(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(bd.some(a=>b.startsWith(a)))return await ba(a)||await bm(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(bi(b))return"OPTIONS"===a.method||function(a){if("GET"!==a.method)return!1;let{pathname:b}=a.nextUrl;return/^\/(?:api\/)?v1(?:beta)?\/models(?:\/|$)/.test(b)}(a)||await bk(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(b.startsWith("/api/"))return bi(b)||bb.some(a=>b===a||b.startsWith(`${a}/`))||await ba(a)||await bo(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){let b=!0;try{let c=await bn();if(c&&(b=!1!==c.requireLogin,!0!==c.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),d=c.tunnelUrl?new URL(c.tunnelUrl).hostname.toLowerCase():"",e=c.tailscaleUrl?new URL(c.tailscaleUrl).hostname.toLowerCase():"";if(d&&b===d||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b)return i.NextResponse.next();let c=a.cookies.get("auth_token")?.value;return c&&await a7(c)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function bq(a){return bp(a)}let br={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var bs=c(99751);let bt={...e},bu="/src/proxy",bv=(0,bt.proxy||bt.default);class bw extends Error{constructor(a){super(a),this.stack=""}}if("function"!=typeof bv)throw new bw(`The Proxy file "${bu}" must export a function named \`proxy\` or a default function.`);let bx=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:bu,handler:async(...a)=>{try{return await bv(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function by(a,b){let c=await bx({request:{url:a.url,method:a.method,headers:(0,bs.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:bu},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let bz=bx},46293:a=>{"use strict";a.exports=require("sql.js")},46789:(a,b,c)=>{"use strict";c.d(b,{aB:()=>g,xE:()=>f});var d=c(19217);function e(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();if(!a)continue;let e=a.toLowerCase();b.has(e)||(b.add(e),c.push(a))}return c}function f(a,b){if(1!==a&&!0!==a)return{restricted:!1,allow:[]};let c=[];if("string"==typeof b&&b)try{c=JSON.parse(b)}catch{c=[]}return{restricted:!0,allow:e(c)}}function g(a){let b=a||d.M0;return{accessRestricted:+!!b.restricted,accessAllow:JSON.stringify(b.restricted?e(b.allow):[])}}},47866:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Normalizers",{enumerable:!0,get:function(){return c}});class c{constructor(a=[]){this.normalizers=a}push(a){this.normalizers.push(a)}normalize(a){return this.normalizers.reduce((a,b)=>b.normalize(a),a)}}},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},50541:(a,b)=>{"use strict";function c(a){return{normalize:a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"wrapNormalizerFn",{enumerable:!0,get:function(){return c}})},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return j},NOT_FOUND_SEGMENT_KEY:function(){return k},PAGE_SEGMENT_KEY:function(){return i},computeSelectedLayoutSegment:function(){return h},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return h&&h!==i?(f.push(h),a(g,c,!1,f)):f}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===j?null:c}let i="__PAGE__",j="__DEFAULT__",k="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f={RENDER_STAGE_ADVANCE_ORDER:function(){return k},RenderStage:function(){return j},StagedRenderingController:function(){return o},SyncIOMode:function(){return n},getNextStage:function(){return l},isAdvanceableRenderStage:function(){return m}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(42776),i=c(29299);var j=((d={})[d.Before=1]="Before",d[d.ShellStatic=10]="ShellStatic",d[d.PrefetchStatic_prefetchApi=11]="PrefetchStatic_prefetchApi",d[d.PrefetchStatic=12]="PrefetchStatic",d[d.NavigationStatic=13]="NavigationStatic",d[d.Static=14]="Static",d[d.ShellRuntime=20]="ShellRuntime",d[d.PrefetchRuntime_prefetchApi=21]="PrefetchRuntime_prefetchApi",d[d.PrefetchRuntime=22]="PrefetchRuntime",d[d.NavigationRuntime=23]="NavigationRuntime",d[d.Dynamic=30]="Dynamic",d[d.Abandoned=40]="Abandoned",d);let k=[10,11,12,13,14,20,21,22,23,30];function l(a){return k[k.indexOf(a)+1]}function m(a){return 1<a&&a<=30}var n=((e={})[e.Untracked=1]="Untracked",e[e.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",e[e.AllowedInDynamic=3]="AllowedInDynamic",e);class o{constructor({abortSignal:a,abandonController:b,syncIO:c,finalStage:d}){this.currentStage=1,this.syncInterruptReason=null,this.triggers=function(){let a={};for(let b of k)a[b]=function(){let{promise:a,resolve:b,reject:c}=(0,i.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:a,_listeners:[],_resolvePromise:b,_rejectPromise:c}}();return a}(),this.abortSignal=a,this.abandonController=b,this.syncIOMode=c,this.finalStage=d,a&&a.addEventListener("abort",()=>{let{reason:b}=a;for(let a of Object.values(this.triggers)){var c,d;c=a,d=b,"pending"===c.state&&(c.state="cancelled",c._listeners.length=0,c.promise.catch(p),c._rejectPromise(d))}},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){var c,d;c=this.triggers[a],d=b,"pending"===c.state?c._listeners.push(d):d()}shouldTrackSyncInterrupt(){let{syncIOMode:a,currentStage:b}=this;switch(a){case 1:return!1;case 2:return b>1&&b<=14;case 3:return b>1&&b<30}}syncInterruptCurrentStageWithReason(a){let{currentStage:b}=this;if(1!==b&&30!==b&&40!==b){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=40;return}this.syncInterruptReason=a,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(a){return this.triggers[l(a)].triggeredAt??1/0}abandonRender(){let{currentStage:a}=this;if(1===a)throw new h.InvariantError("A render that hasn't started yet cannot be abandoned");if(30===a||40===a)return;let b=k.indexOf(a)+1,c=k.indexOf(30);for(let a=b;a<c;a++)this.resolveStage(k[a]);this.currentStage=40}advanceStage(a){if(null!==this.finalStage&&a>this.finalStage)throw new h.InvariantError(`Attempted to advance to stage ${j[a]} but the render is limited to ${j[this.finalStage]}`);let{currentStage:b}=this;if(30===b||40===b||a<=b)return;this.currentStage=a;let c=1===b?0:k.indexOf(b)+1,d=k.indexOf(a);for(let a=c;a<=d;a++)this.resolveStage(k[a])}resolveStage(a){var b=this.triggers[a];if("pending"===b.state){b.state="triggered",b.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:a}=b;for(let b=0;b<a.length;b++)a[b]();a.length=0}finally{b._resolvePromise()}}}getStagePromise(a){return this.triggers[a].promise}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){let d=this.getStagePromise(a).then(()=>c);return this.abortSignal&&d.catch(p),d}}function p(){}},55122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bulkSetConnectionProxyPool:()=>s,cleanupProviderConnections:()=>t,createProviderConnection:()=>n,deleteProviderConnection:()=>p,deleteProviderConnectionsByProvider:()=>q,getProviderConnectionById:()=>l,getProviderConnections:()=>k,reorderProviderConnections:()=>r,updateProviderConnection:()=>o});var d=c(43892),e=c(59339),f=c(33323);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a,b){if(b?.testStatus!=="active")return b;let c={...b,testStatus:"active",lastError:Object.hasOwn(b,"lastError")?b.lastError:null,lastErrorAt:Object.hasOwn(b,"lastErrorAt")?b.lastErrorAt:null,errorCode:null,rateLimitedUntil:null,backoffLevel:0};for(let b of Object.keys(a||{}))b.startsWith("modelLock_")&&(c[b]=null);return c}function i(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function j(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
290
|
+
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead')}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},43593:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>bJ,handler:()=>bI});var e={};c.r(e),c.d(e,{config:()=>bB,default:()=>bA}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(59339),k=c(17343);c(46789);var l=c(85304);c(56840),c(95160);var m=c(71509);(0,m.U)("modelAliases"),(0,m.U)("customModels"),(0,m.U)("mitmAlias"),c(36241);var n=c(94735);c(91117),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new n.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsEmitter;var o=c(33323);let p=null,q=0;async function r(){if(p&&Date.now()-q<5e3)return p;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return p={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},q=Date.now(),p;let e="false"!==process.env.OBSERVABILITY_ENABLED;p={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{p={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return q=Date.now(),p}let s=[],t=null,u=!1;function v(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function w(){if(!u&&0!==s.length){u=!0;try{for(;s.length>0;){let a=s.splice(0,s.length),b=await (0,j.c)(),c=await r();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:v(d.request,c.maxJsonSize),providerRequest:v(d.providerRequest,c.maxJsonSize),providerResponse:v(d.providerResponse,c.maxJsonSize),response:v(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,o.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{u=!1}}}let x=async()=>{t&&(clearTimeout(t),t=null),s.length>0&&await w()};process.off("beforeExit",x),process.off("SIGINT",x),process.off("SIGTERM",x),process.off("exit",x),process.on("beforeExit",x),process.on("SIGINT",x),process.on("SIGTERM",x),process.on("exit",x);var y=c(21820);let z="2.169.0",A=`CLI/${z} CodeBuddy/${z}`,B={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,y.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,y.arch)()}})(),function(){switch((0,y.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,y.platform)()}}();let C="https://daily-cloudcode-pa.googleapis.com",D="antigravity/ide/2.23.0 darwin/arm64",E={id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image","webSearch"],transport:{baseUrls:[C],format:"antigravity",headers:{"User-Agent":D},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${C}/v1internal:fetchAvailableModels`,quotaSummaryApiUrl:`${C}/v1internal:retrieveUserQuotaSummary`,loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-4-argon-high",name:"Gemini 4 Argon (High)",upstreamModelId:"gemini-4-argon-high(high)"},{id:"gemini-4-argon-medium",name:"Gemini 4 Argon (Medium)",upstreamModelId:"gemini-4-argon-medium(medium)"},{id:"gemini-4-argon-low",name:"Gemini 4 Argon (Low)",upstreamModelId:"gemini-4-argon-low(low)"},{id:"gemini-4-argon",name:"Gemini 4 Argon",upstreamModelId:"gemini-4-argon-medium(medium)"},{id:"gemini-3.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)",upstreamModelId:"gemini-3.1-pro-low(low)"},{id:"claude-sonnet-5-5-high",name:"Claude Sonnet 5.5 (High)",upstreamModelId:"claude-sonnet-5-5-high(high)"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5 (Medium)",upstreamModelId:"claude-sonnet-5-5-medium(medium)"},{id:"claude-sonnet-5-5-low",name:"Claude Sonnet 5.5 (Low)",upstreamModelId:"claude-sonnet-5-5-low(low)"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5 (Thinking)",upstreamModelId:"claude-sonnet-5-5-high(high)"},{id:"claude-opus-5-5-high",name:"Claude Opus 5.5 (High)",upstreamModelId:"claude-opus-5-5-high(high)"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5 (Medium)",upstreamModelId:"claude-opus-5-5-medium(medium)"},{id:"claude-opus-5-5-low",name:"Claude Opus 5.5 (Low)",upstreamModelId:"claude-opus-5-5-low(low)"},{id:"claude-opus-5-5",name:"Claude Opus 5.5 (Thinking)",upstreamModelId:"claude-opus-5-5-high(high)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:D,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${C}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},F="0.159.0",G=["low","medium","high","xhigh","max"],H={id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,cliVersion:F,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${F}`,version:F},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6.1-sol",name:"GPT 6.1 Sol",responsesLite:!0,thinkingLevels:G},{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-6-astra[1m]",name:"GPT 6.0 Astra (extended context)",upstreamModelId:"gpt-6-astra"},{id:"gpt-6-sol",name:"GPT 6.0 Sol",responsesLite:!0,thinkingLevels:G},{id:"gpt-6-sol[1m]",name:"GPT 6.0 Sol (extended context)",upstreamModelId:"gpt-6-sol",responsesLite:!0,thinkingLevels:G},{id:"gpt-6-luna",name:"GPT 6.0 Luna",responsesLite:!0,thinkingLevels:G},{id:"gpt-6-luna[1m]",name:"GPT 6.0 Luna (extended context)",upstreamModelId:"gpt-6-luna",responsesLite:!0,thinkingLevels:G},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol[1m]",name:"GPT 5.6 Sol (extended context)",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra[1m]",name:"GPT 5.6 Terra (extended context)",upstreamModelId:"gpt-5.6-terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna[1m]",name:"GPT 5.6 Luna (extended context)",upstreamModelId:"gpt-5.6-luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-daybreak-blue-latest",name:"GPT Daybreak Blue"},{id:"gpt-reserve",name:"GPT Reserve"},{id:"codex-auto-review",name:"Codex Auto Review",upstreamModelId:"codex-auto-review",quotaFamily:"review"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:6e5,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},I={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"},quirks:{claudeSupportedToolTypes:["web_search_20250305","web_search_20260209"]}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},J={id:"glm",priority:140,alias:"glm",display:{name:"Zai GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys",signupUrl:"https://chat.z.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,oauth:{providerId:"zai",cliInitUrl:"https://zcode.z.ai/api/v1/oauth/cli/init",cliPollUrl:"https://zcode.z.ai/api/v1/oauth/cli/poll",businessLoginUrl:"https://api.z.ai/api/auth/z/login",apiBaseUrl:"https://api.z.ai",planApiKeyName:"zcode-api-key"},transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.z.ai/api/mcp/web_search_prime/mcp",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},features:{usage:!0,usageApikey:!0}},K="1.0.44",L="https://cli-chat-proxy.grok.com/v1",M="grok-shell",N=`grok-shell/${K} (linux; x86_64)`,O={id:"grok-cli",priority:275,alias:"gcli",aliases:["grok-build","gb"],uiAlias:"gcli",display:{name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"},transport:{baseUrl:`${L}/responses`,format:"openai-responses",forceStream:!0,modelsUrl:`${L}/models`,userUrl:`${L}/user`,billingUrl:`${L}/billing`,clientVersion:K,clientIdentifier:M,tokenAuth:"xai-grok-cli",headers:{"User-Agent":N,"x-grok-client-identifier":M,"x-grok-client-version":K},usage:{url:`${L}/billing?format=credits`,userUrl:`${L}/user?include=subscription`},retry:{429:{attempts:2,delayMs:2e3},502:{attempts:2,delayMs:1500},503:{attempts:2,delayMs:1500}}},models:[{id:"grok-build",name:"Grok Build",contextLength:5e5,maxOutputTokens:64e3},{id:"grok-4.7",name:"Grok 4.7"},{id:"grok-4.7-xhigh",name:"Grok 4.7 (Extra High)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-high",name:"Grok 4.7 (High)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-medium",name:"Grok 4.7 (Medium)",upstreamModelId:"grok-4.7"},{id:"grok-4.7-low",name:"Grok 4.7 (Low)",upstreamModelId:"grok-4.7"},{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.6-xhigh",name:"Grok 4.6 (Extra High)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-high",name:"Grok 4.6 (High)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-medium",name:"Grok 4.6 (Medium)",upstreamModelId:"grok-4.6"},{id:"grok-4.6-low",name:"Grok 4.6 (Low)",upstreamModelId:"grok-4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],features:{usage:!0},oauth:{clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:"openid profile email offline_access grok-cli:access api:access conversations:read conversations:write",referrer:"grok-build",refreshLeadMs:3e5}},P={id:"kimi",priority:170,alias:"kimi",aliases:["kimi-coding","kmc"],display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...B},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},{format:"openai-responses",baseUrl:"https://api.kimi.com/coding/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},oauth:{clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5,authorizeDeviceUrl:"https://www.kimi.com/code/authorize_device"},features:{usage:!0,usageApikey:!0}},Q={id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...B},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},R={id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...B},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}};function S(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function T(a,b){return process.env[a]?.trim()||b}let U=T("SEARXNG_URL","http://localhost:8888/search");T("OPENCODE_CLIENT_VERSION","1.19.0"),T("OPENCODE_UA_SUFFIX","ai-sdk/provider-utils/4.0.23 runtime/bun/1.3.14"),S("STREAM_STALL_TIMEOUT_MS",36e4),S("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),S("FETCH_CONNECT_TIMEOUT_MS",6e4),S("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);let V={id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys"}},category:"apikey",serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"}},W={id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...B},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},X="https://inference-api.nousresearch.com/v1",Y=`${X}/chat/completions`,Z=`${X}/models`,$="https://portal.nousresearch.com",_=`${$}/api/oauth/device/code`,aa=`${$}/api/oauth/token`,ab=[{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Coding",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://www.alibabacloud.com/product/coding",notice:{apiKeyUrl:"https://www.alibabacloud.com/product/coding"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"anthropic-version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},E,{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.280 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings",profileUrl:"https://api.anthropic.com/api/oauth/profile",resetUrl:"https://api.anthropic.com/api/organizations/{org_id}/reset_rate_limits"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},quirks:{clineEnvelope:!0},validateUrl:"https://api.cline.bot/api/v1/users/me",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-free/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (Free)"},{id:"cline-free/kimi-k3",name:"Kimi K3 (Free)"},{id:"cline-free/muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor (Free)"},{id:"z-ai/glm-5.3-flash",name:"GLM 5.3 Flash (Free)"},{id:"cline-free/solar-pro4",name:"Solar Pro 4 (Free)"},{id:"poolside/laguna-s-2.1:free",name:"Poolside Laguna S 2.1 (Free)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["apikey","oauth"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},quirks:{clineEnvelope:!0},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",authType:"apikey",authModes:["apikey"],hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/cloudflare/clef-flash",name:"Clef Flash",kind:"systemone",upstreamModelId:"clef-flash"},{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image","systemone"],systemoneConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/run/{model}",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":A,"X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","X-IDE-Version":z,"x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k3-1",name:"Kimi-K3"},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3",name:"Hy3"},{id:"hy4-preview",name:"Hy4-Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"},{id:"hunyuan-chat",name:"Hunyuan-Turbos"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},H,{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/compatibility/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-a-plus-05-2026",name:"Command A Plus (May 2026)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"},{id:"command-a-reasoning-08-2025",name:"Command A Reasoning (Aug 2025)"},{id:"command-a-vision-07-2025",name:"Command A Vision (Jul 2025)"},{id:"command-a-translate-08-2025",name:"Command A Translate (Aug 2025)"},{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.7-Code-Highspeed",name:"Kimi K2.7 Code HighSpeed"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.2-Fast",name:"GLM 5.2 Fast"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"xiaomi/mimo-v2.5",name:"MiMo V2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"Qwen/Qwen3.7-Max",name:"Qwen 3.7 Max"},{id:"Qwen/Qwen3.7-Plus",name:"Qwen 3.7 Plus"},{id:"stepfun/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"}],features:{usage:!0,usageApikey:!0}},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17",usage:{url:"https://api2.cursor.sh/aiserver.v1.DashboardService/GetCurrentPeriodUsage",planInfoUrl:"https://api2.cursor.sh/aiserver.v1.DashboardService/GetPlanInfo",authUsageUrl:"https://api2.cursor.sh/auth/usage"}},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},features:{usage:!0}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},I,{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts","stt"],models:[{id:"scribe_v1",name:"Scribe v1",params:["language","response_format","timestamps_granularity","tag_audio_events","diarize","num_speakers"],kind:"stt"},{id:"scribe_v2",name:"Scribe v2",params:["language","response_format","timestamps_granularity","tag_audio_events","diarize","num_speakers"],kind:"stt"}],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},sttConfig:{baseUrl:"https://api.elevenlabs.io/v1/speech-to-text",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs-stt",responseFormats:{segments:"seg_json",subtitles:"srt",captions:"vtt"}}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"featherless",priority:65,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",validateUrl:"https://api.featherless.ai/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}]},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-4-argon",name:"Gemini 4 Argon"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-native-audio-preview-09-17",name:"Gemini Live Transcription (Realtime)",params:["language","prompt","system_instruction","setup_timeout_ms","turn_timeout_ms"],kind:"stt",transport:"gemini-live"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",autoUrl:"https://api.githubcopilot.com/auto",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01",autoApiVersion:"2026-08-01",autoTimeoutMs:5e3,autoSessionRefreshWindowMs:3e5},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"auto",name:"Auto"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002 (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.githubcopilot.com/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},J,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},O,{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models",usage:{url:"https://api.groq.com/openai/v1/chat/completions",modelsUrl:"https://api.groq.com/openai/v1/models"}},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},features:{usage:!0,usageApikey:!0}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens",text:"Runs through the Inference Providers router. Image and speech models are billed by the provider selected per model."}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-dev",name:"FLUX.1 Dev",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-Krea-dev",name:"FLUX.1 Krea",params:[],kind:"image"},{id:"black-forest-labs/FLUX.1-Kontext-dev",name:"FLUX.1 Kontext",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-dev",name:"FLUX.2 Dev",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-9B",name:"FLUX.2 Klein 9B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-4B",name:"FLUX.2 Klein 4B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-base-9B",name:"FLUX.2 Klein Base 9B",params:[],kind:"image",capabilities:["edit"]},{id:"black-forest-labs/FLUX.2-klein-base-4B",name:"FLUX.2 Klein Base 4B",params:[],kind:"image",capabilities:["edit"]},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-3.5-large",name:"Stable Diffusion 3.5 Large",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:[],kind:"image"},{id:"Qwen/Qwen-Image",name:"Qwen Image",params:[],kind:"image"},{id:"Qwen/Qwen-Image-2512",name:"Qwen Image 2512",params:[],kind:"image"},{id:"Qwen/Qwen-Image-Edit",name:"Qwen Image Edit",params:[],kind:"image",capabilities:["edit"]},{id:"Qwen/Qwen-Image-Edit-2509",name:"Qwen Image Edit 2509",params:[],kind:"image",capabilities:["edit"]},{id:"Qwen/Qwen-Image-Edit-2511",name:"Qwen Image Edit 2511",params:[],kind:"image",capabilities:["edit"]},{id:"ideogram-ai/ideogram-4-fp8",name:"Ideogram 4",params:[],kind:"image"},{id:"tencent/HunyuanImage-3.0",name:"HunyuanImage 3.0",params:[],kind:"image"},{id:"Tongyi-MAI/Z-Image-Turbo",name:"Z-Image Turbo",params:[],kind:"image"},{id:"krea/Krea-2-Turbo",name:"Krea 2 Turbo",params:[],kind:"image"},{id:"HiDream-ai/HiDream-I1-Fast",name:"HiDream I1 Fast",params:[],kind:"image"},{id:"playgroundai/playground-v2.5-1024px-aesthetic",name:"Playground v2.5",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:[],kind:"stt"},{id:"openai/whisper-large-v3-turbo",name:"Whisper Large v3 Turbo (HF)",params:[],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://router.huggingface.co",modelMap:{"black-forest-labs/FLUX.1-schnell":"fal-ai/fal-ai/flux/schnell","black-forest-labs/FLUX.1-dev":"fal-ai/fal-ai/flux/dev","black-forest-labs/FLUX.1-Krea-dev":"fal-ai/fal-ai/flux/krea","black-forest-labs/FLUX.1-Kontext-dev":{path:"fal-ai/fal-ai/flux-kontext/dev",task:"image-to-image"},"black-forest-labs/FLUX.2-dev":{path:"fal-ai/fal-ai/flux-2/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-9B":{path:"fal-ai/fal-ai/flux-2/klein/9b/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-4B":{path:"fal-ai/fal-ai/flux-2/klein/4b/distilled/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-base-9B":{path:"fal-ai/fal-ai/flux-2/klein/9b/base/edit",task:"image-to-image"},"black-forest-labs/FLUX.2-klein-base-4B":{path:"fal-ai/fal-ai/flux-2/klein/4b/base/edit",task:"image-to-image"},"stabilityai/stable-diffusion-xl-base-1.0":"fal-ai/fal-ai/fast-sdxl","stabilityai/stable-diffusion-3.5-large":"fal-ai/fal-ai/stable-diffusion-v35-large","stabilityai/stable-diffusion-3.5-large-turbo":"fal-ai/fal-ai/stable-diffusion-v35-large/turbo","Qwen/Qwen-Image":"fal-ai/fal-ai/qwen-image","Qwen/Qwen-Image-2512":"fal-ai/fal-ai/qwen-image-2512","Qwen/Qwen-Image-Edit":{path:"fal-ai/fal-ai/qwen-image-edit",task:"image-to-image"},"Qwen/Qwen-Image-Edit-2509":{path:"fal-ai/fal-ai/qwen-image-edit-2509",task:"image-to-image"},"Qwen/Qwen-Image-Edit-2511":{path:"fal-ai/fal-ai/qwen-image-edit-plus",task:"image-to-image"},"ideogram-ai/ideogram-4-fp8":"fal-ai/ideogram/v4","tencent/HunyuanImage-3.0":"fal-ai/fal-ai/hunyuan-image/v3/text-to-image","Tongyi-MAI/Z-Image-Turbo":"fal-ai/fal-ai/z-image/turbo","krea/Krea-2-Turbo":"fal-ai/fal-ai/krea-2/turbo","HiDream-ai/HiDream-I1-Fast":"fal-ai/fal-ai/hidream-i1-fast","playgroundai/playground-v2.5-1024px-aesthetic":"fal-ai/fal-ai/playground-v25"}},sttConfig:{baseUrl:"https://router.huggingface.co/hf-inference/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"freeTier",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},P,{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-opus-5.5-thinking",name:"Claude Opus 5.5 (Thinking)"},{id:"claude-opus-5.5-agentic",name:"Claude Opus 5.5 (Agentic)"},{id:"claude-opus-5.5-thinking-agentic",name:"Claude Opus 5.5 (Thinking + Agentic)"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5-thinking",name:"Claude Opus 5 (Thinking)"},{id:"claude-opus-5-agentic",name:"Claude Opus 5 (Agentic)"},{id:"claude-opus-5-thinking-agentic",name:"Claude Opus 5 (Thinking + Agentic)"},{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"gpt-5.6-sol-thinking",name:"GPT 5.6 Sol (Thinking)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking",name:"GPT 5.6 Terra (Thinking)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking",name:"GPT 5.6 Luna (Thinking)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"gpt-5.6-sol-agentic",name:"GPT 5.6 Sol (Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-agentic",name:"GPT 5.6 Terra (Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-agentic",name:"GPT 5.6 Luna (Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT 5.6 Sol (Thinking + Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT 5.6 Terra (Thinking + Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT 5.6 Luna (Thinking + Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},Q,R,{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"},{id:"deepseek-v4.1-flash:cloud",name:"DeepSeek V4.1 Flash"}],serviceKinds:["llm","webFetch"],fetchConfig:{baseUrl:"https://ollama.com/api/web_fetch",method:"POST",authType:"apikey",authHeader:"bearer",formats:["markdown"],maxCharacters:2e5,timeoutMs:3e4},features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 10/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/go/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"deepseek-flash",name:"DeepSeek Flash",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",supportedFormats:["openai"]},{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"mimo-v2-pro",name:"MiMo V2 Pro",supportedFormats:["openai"]},{id:"mimo-v2-omni",name:"MiMo V2 Omni",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"space-bunny-free",name:"Space Bunny Free",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["openai","claude"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"hy3-preview",name:"Hy3 Preview",supportedFormats:["openai"]},{id:"omen-alpha",name:"Omen Alpha",supportedFormats:["openai"]},{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",targetFormat:"claude",supportedFormats:["claude"]}],modelsFetcher:{url:"https://opencode.ai/zen/go/v1/models",type:"opencode-go"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},forceStream:!0,noAuth:!0,reasoningInject:{scope:"all"},quirks:{forceAutoToolChoiceModels:["muse-spark-1.3-contributor-free"],reasoningAliasFields:!0},forceStream:!0},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free"},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free"},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free"},{id:"big-pickle",name:"Big Pickle",isFree:!0},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"deepgram/flux-tts:free",name:"Deepgram Flux TTS (Free)",kind:"tts"},{id:"fish-audio/s2.1-pro-free:free",name:"Fish Audio S2.1 Pro (Free)",kind:"tts"},{id:"deepgram/aura-2",name:"Deepgram Aura-2",kind:"tts"},{id:"fish-audio/s2.1-pro",name:"Fish Audio S2.1 Pro",kind:"tts"},{id:"fish-audio/s2-pro",name:"Fish Audio S2 Pro",kind:"tts"},{id:"fish-audio/s1",name:"Fish Audio S1",kind:"tts"},{id:"google/gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"minimax/speech-2.8-turbo",name:"MiniMax Speech 2.8 Turbo",kind:"tts"},{id:"minimax/speech-2.8-hd",name:"MiniMax Speech 2.8 HD",kind:"tts"},{id:"x-ai/grok-voice-tts-1.0",name:"Grok Voice TTS 1.0",kind:"tts"},{id:"qwen/qwen-audio-3.0-tts-flash",name:"Qwen Audio 3.0 TTS Flash",kind:"tts"},{id:"qwen/qwen-audio-3.0-tts-plus",name:"Qwen Audio 3.0 TTS Plus",kind:"tts"},{id:"mistralai/voxtral-mini-tts-2603",name:"Voxtral Mini TTS",kind:"tts"},{id:"sesame/csm-1b",name:"Sesame CSM 1B",kind:"tts"},{id:"hexgrad/kokoro-82m",name:"Kokoro 82M",kind:"tts"},{id:"canopylabs/orpheus-3b-0.1-ft",name:"Orpheus 3B",kind:"tts"},{id:"microsoft/mai-voice-2",name:"MAI Voice 2",kind:"tts"},{id:"microsoft/mai-voice-2-flash",name:"MAI Voice 2 Flash",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"},{id:"google/veo-3.1",name:"Veo 3.1 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"openai/sora-2-pro",name:"Sora 2 Pro (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"bytedance/seedance-2.0",name:"Seedance 2.0 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"typesafe/jev-1.13",name:"Jev 1.13",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","video","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/audio/speech",defaultModel:"deepgram/flux-tts:free",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},videoConfig:{baseUrl:"https://openrouter.ai/api/v1/videos",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"perplexity-agent",priority:181,alias:"perplexity-agent",aliases:["pplx-agent","pplx-responses"],uiAlias:"pa",display:{name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/responses",validateUrl:"https://api.perplexity.ai/v1/models",format:"openai-responses"},models:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"},modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) từ https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:U,method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-4-argon",name:"Gemini 4 Argon",defaultLocation:"global"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"veo-3.1-generate-preview",name:"Veo 3.1 (Preview)",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-3.1-fast-generate-preview",name:"Veo 3.1 Fast (Preview)",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-3.0-generate-001",name:"Veo 3",params:["duration","aspect_ratio","resolution","negative_prompt","seed","storage_uri","generate_audio"],kind:"video"},{id:"veo-2.0-generate-001",name:"Veo 2",params:["duration","aspect_ratio","negative_prompt","seed","storage_uri"],kind:"video"}],serviceKinds:["llm","imageToText","video"],videoConfig:{baseUrl:"https://aiplatform.googleapis.com"}},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},V,W,{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"alims-intl",priority:11,alias:"alims-intl",display:{name:"Alibaba Studio",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":A,"X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","X-IDE-Version":z,"x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"auto",name:"Auto"},{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k3",name:"Kimi-K3"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3",name:"Hy3"},{id:"hy4-preview",name:"Hy4-Preview"},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash"},{id:"deepseek-v3-0324",name:"DeepSeek-V3"},{id:"gpt-5.6-luna",name:"GPT-5.6-Luna"},{id:"gpt-5.6-sol",name:"GPT-5.6-Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6-Terra"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex"},{id:"claude-opus-4.6",name:"Claude-Opus-4.6"},{id:"claude-opus-4.7-1m",name:"Claude-Opus-4.7-1M"},{id:"claude-sonnet-4.6",name:"Claude-Sonnet-4.6"},{id:"gemini-3.1-pro",name:"Gemini-3.1-Pro"},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash"}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"zed",priority:999,alias:"zd",uiAlias:"zd",display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"api-airforce",alias:"af",aliases:["airforce"],uiAlias:"af",display:{name:"API.airforce",icon:"flight",color:"#0EA5E9",textIcon:"AF",website:"https://api.airforce",notice:{apiKeyUrl:"https://api.airforce"}},category:"freeTier",authType:"apikey",authModes:["apikey"],passthroughModels:!0,modelsFetcher:{url:"https://api.airforce/v1/models",type:"airforce-free"},transport:{baseUrl:"https://api.airforce/v1/chat/completions",validateUrl:"https://api.airforce/v1/models",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},forceStream:!0},models:[{id:"gpt-oss-120b",name:"GPT-OSS 120B (Free)",contextLength:131072},{id:"gpt-oss-20b",name:"GPT-OSS 20B (Free)",contextLength:131072},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code (Free)",contextLength:262144}]},{id:"baidu",alias:"qianfan",aliases:["qianfan","ernie","baidu-qianfan"],uiAlias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}]},{id:"bazaarlink",alias:"bzl",aliases:["bazaar-link"],uiAlias:"bzl",category:"freeTier",authType:"apikey",authModes:["apikey"],display:{name:"Bazaarlink",icon:"storefront",color:"#DC2626",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai"}},transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",validateUrl:"https://bazaarlink.ai/api/v1/models"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7",contextLength:1e6},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:1e6},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5",name:"GPT-5.5",contextLength:105e4},{id:"gpt-5.4",name:"GPT-5.4",contextLength:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextLength:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextLength:4e5},{id:"grok-4.3",name:"Grok 4.3",contextLength:1e6},{id:"grok-4.20",name:"Grok 4.20",contextLength:2e6},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextLength:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",contextLength:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"kimi-k2.5",name:"Kimi K2.5",contextLength:262144},{id:"glm-5.1",name:"GLM 5.1",contextLength:204800},{id:"glm-5",name:"GLM 5",contextLength:204800},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextLength:105e4},{id:"mimo-v2.5",name:"MiMo-V2.5",contextLength:105e4},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576},{id:"minimax-m2.7",name:"MiniMax M2.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",contextLength:1e6},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextLength:1e6}]},{id:"bluesminds",alias:"bm",aliases:["blue-sminds"],uiAlias:"bm",hidden:!0,display:{name:"BluesMinds",icon:"psychology",color:"#2563EB",textIcon:"BM",website:"https://bluesminds.com",notice:{apiKeyUrl:"https://bluesminds.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4.1",name:"GPT-4.1",contextLength:1048576},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextLength:1048576},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",contextLength:1048576},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextLength:1048576},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)",contextLength:1048576},{id:"qwen-turbo",name:"Qwen Turbo",contextLength:1e6},{id:"kimi-k2",name:"Kimi K2",contextLength:262144},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextLength:262144},{id:"glm-4.7",name:"GLM 4.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)",contextLength:2e5},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)",contextLength:1048576}]},{id:"kilo-gateway",alias:"kgw",aliases:["kilo-gateway","kilogateway"],uiAlias:"kgw",category:"freeTier",display:{name:"Kilo Gateway",icon:"login",color:"#8B5CF6",textIcon:"KG",website:"https://kilo.ai",notice:{apiKeyUrl:"https://kilo.ai/dashboard?tab=apiKeys"}},authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/free",name:"Kilo Auto Free",contextLength:256e3},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)",contextLength:262144},{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"Nemotron 3 Ultra 550B (Free)",contextLength:1e6},{id:"kwaipilot/kat-coder-pro-v2.5:free",name:"Kat Coder Pro v2.5 (Free)",contextLength:256e3},{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextLength:1e6},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextLength:1e6}]},{id:"llm7",alias:"llm7",aliases:["llm-7"],uiAlias:"llm7",display:{name:"LLM7",icon:"pool",color:"#7C3AED",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",validateUrl:"https://api.llm7.io/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5 (LLM7)",contextLength:105e4},{id:"claude-opus-5",name:"Claude Opus 5 (LLM7)",contextLength:1e6},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (LLM7)",contextLength:1e6},{id:"grok-4.5",name:"Grok 4.5 (LLM7)",contextLength:5e5},{id:"kimi-k3",name:"Kimi K3 (LLM7)",contextLength:1e6}],passthroughModels:!0},{id:"sambanova",alias:"samba",aliases:["sambanova-ai"],uiAlias:"samba",hidden:!0,display:{name:"SambaNova",icon:"memory",color:"#F97316",textIcon:"SN",website:"https://sambanova.ai",notice:{apiKeyUrl:"https://cloud.sambanova.ai/apis"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextLength:196608}]},{id:"tencent",alias:"hunyuan",aliases:["hunyuan","tencent-hunyuan"],uiAlias:"hunyuan",display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}]},{id:"morph",alias:"morph",aliases:["morphllm"],uiAlias:"morph",display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}]},{id:"poolside",priority:60,alias:"poolside",aliases:["ps"],uiAlias:"ps",display:{name:"Poolside",icon:"water_drop",color:"#0EA5E9",textIcon:"PS",website:"https://poolside.ai",notice:{apiKeyUrl:"https://platform.poolside.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"},{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"}]},{id:"tokenrouter",alias:"tokenrouter",aliases:["tr"],uiAlias:"tokenrouter",display:{name:"TokenRouter",icon:"hub",color:"#0EA5E9",textIcon:"TR",website:"https://www.tokenrouter.com",notice:{text:"OpenAI-compatible gateway. 300+ models (OpenAI, Claude, Gemini, Qwen, DeepSeek, Kimi, GLM, dsb).",apiKeyUrl:"https://www.tokenrouter.com"}},category:"apikey",thinkingConfig:{options:["low","medium","high","xhigh","max"],defaultMode:"high"},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",thinkingFormat:"tokenrouter"},models:[{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 Fast"},{id:"openai/gpt-5.4",name:"Gpt 5.4"},{id:"openai/gpt-5.4-mini",name:"Gpt 5.4 Mini"},{id:"openai/gpt-5.4-pro",name:"Gpt 5.4 Pro"},{id:"openai/gpt-5.5",name:"Gpt 5.5"},{id:"openai/gpt-5.6-sol",name:"Gpt 5.6 Sol"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"deepseek/deepseek-v4-flash",name:"Deepseek V4 Flash"},{id:"deepseek/deepseek-v4-pro",name:"Deepseek V4 Pro"},{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3-free",name:"Kimi K3 Free"},{id:"z-ai/glm-5.3-free",name:"Glm 5.3 Free"},{id:"z-ai/glm-5.2",name:"Glm 5.2"},{id:"z-ai/glm-5-turbo",name:"Glm 5 Turbo"},{id:"x-ai/grok-4.5",name:"Grok 4.5"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.tokenrouter.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.tokenrouter.com/v1/images/generations"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},passthroughModels:!0},{id:"selfhosted-stt",priority:50,hasFree:!0,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"cloud",color:"#ffffffff",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the full transcriptions URL, e.g. http://host:8080/v1/audio/transcriptions. The API key is not checked by local servers; any value works."}},models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"http://localhost:8080/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,hasFree:!0,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"cloud",color:"#ffffffff",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the server root, e.g. http://host:8080 — /v1/audio/speech is appended. The API key is not checked by local servers; any value works."}},models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{baseUrl:"http://localhost:8880",defaultModel:"kokoro",authType:"apikey",format:"openai-speech"}},{id:"selfhosted-embedding",priority:50,hasFree:!0,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"cloud",color:"#ffffffff",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the OpenAI base URL, e.g. http://host:8080/v1 — /embeddings is appended. The API key is not checked by local servers; any value works."}},models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"http://localhost:8080/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"alitp-intl",priority:11,alias:"alitp-intl",display:{name:"Alibaba Token Plan",icon:"cloud",color:"#FF6A00",textIcon:"ATP",website:"https://www.alibabacloud.com/campaign/ai-landing-page-token",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",validateUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/models",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview"},{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"}]},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"ollama-search",alias:"ollama-search",display:{name:"Ollama Search",icon:"cloud",color:"#ffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Web search via Ollama Cloud subscription. Reuses the API key from the Ollama (chat) provider.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch"],credentialFallback:"ollama",searchConfig:{baseUrl:"https://ollama.com/api/web_search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"aihorde",priority:90,alias:"horde",uiAlias:"horde",display:{name:"AI Horde",icon:"aihorde.png",color:"#5C6BC0",textIcon:"AH",website:"https://aihorde.net",notice:{text:"Crowdsourced volunteer inference has variable availability, queues, and model limits. Anonymous requests run at lower priority; add an AI Horde API key for account-backed priority.",apiKeyUrl:"https://aihorde.net/register"}},category:"free",noAuth:!0,authType:"none",authModes:["none"],authHint:"Uses AI Horde's official anonymous sentinel. Availability and latency depend on volunteer workers.",transport:{baseUrl:"https://oai.aihorde.net/v1/chat/completions",baseUrls:["https://oai.aihorde.net/v1/chat/completions"],format:"openai",noAuth:!0,headers:{Authorization:"Bearer 0000000000"}},models:[],modelsFetcher:{url:"https://oai.aihorde.net/v1/models",type:"openai"},passthroughModels:!0},{id:"bai",priority:120,alias:"bai",aliases:["b-ai"],uiAlias:"bai",display:{name:"B.AI",icon:"router",color:"#111827",textIcon:"BAI",website:"https://b.ai",notice:{text:"OpenAI-compatible gateway with one of the larger catalogues here. Accepts a bearer token or an x-api-key header. Model ids are fetched live from the provider.",apiKeyUrl:"https://b.ai"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.b.ai/v1/chat/completions",modelsUrl:"https://api.b.ai/v1/models",validateUrl:"https://api.b.ai/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://api.b.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"tokenharbor",priority:120,alias:"tokenharbor",aliases:["th","thh"],uiAlias:"tokenharbor",display:{name:"Token Harbor",icon:"ship",color:"#0D9488",textIcon:"TH",website:"https://tokenharbor.ai",notice:{text:"OpenAI-compatible aggregator. One API key reaches every model, billed per-token from a prepaid wallet. Model ids are bare (e.g. claude-opus-5.5, gpt-6-astra, deepseek-v4.1-flash:free) and are fetched live from the provider.",apiKeyUrl:"https://tokenharbor.ai/dashboard/api-keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://tokenharbor.ai/v1/chat/completions",modelsUrl:"https://tokenharbor.ai/v1/models",validateUrl:"https://tokenharbor.ai/v1/models",retry:{429:2}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-sol",name:"GPT-6 Sol"},{id:"deepseek-v4.1-flash:free",name:"DeepSeek V4.1 Flash (Free)"},{id:"grok-4.7",name:"Grok 4.7"}],modelsFetcher:{url:"https://tokenharbor.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"nous",priority:65,hasFree:!0,alias:"nous",aliases:["nous-portal","nous-research","ns"],uiAlias:"nous",display:{name:"Nous Research",icon:"router",color:"#B8F135",textIcon:"NO",website:"https://nousresearch.com",notice:{apiKeyUrl:"https://portal.nousresearch.com/api-keys",signupUrl:"https://portal.nousresearch.com",text:"Use an inference API key, or sign in with Nous Portal (Hermes CLI device flow)."}},category:"oauth",authType:"apikey",hasOAuth:!0,authModes:["oauth","apikey"],transport:{baseUrl:Y,modelsUrl:Z,validateUrl:Z,headers:{"User-Agent":"OpenAI/Python 2.24.0","X-Stainless-Arch":"x64","X-Stainless-Async":"false","X-Stainless-Lang":"python","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"2.24.0","X-Stainless-Read-Timeout":"30.0","X-Stainless-Retry-Count":"0","X-Stainless-Runtime":"CPython","X-Stainless-Runtime-Version":"3.11.15"}},oauth:{clientId:"hermes-cli",deviceCodeUrl:_,tokenUrl:aa,refreshUrl:aa,scope:"inference:invoke",userInfoUrl:"https://portal.nousresearch.com/api/oauth/account"},models:[{id:"meituan/longcat-2.0:free",name:"Meituan: LongCat 2.0",contextLength:1048756,maxOutputTokens:262144},{id:"meituan/longcat-2.5-preview:free",name:"Meituan: LongCat 2.5 Preview",contextLength:1048576,maxOutputTokens:131072},{id:"stepfun/step-5-preview:free",name:"StepFun: Step 5 Preview",contextLength:1e6,maxOutputTokens:64e3},{id:"upstage/solar-mini4:free",name:"Upstage: Solar Mini 4",contextLength:524288,maxOutputTokens:131072},{id:"stepfun/step-3.7-flash:free",name:"StepFun: Step 3.7 Flash",contextLength:262144,maxOutputTokens:256e3},{id:"poolside/laguna-s-2.1:free",name:"Poolside: Laguna S 2.1",contextLength:262144,maxOutputTokens:131072},{id:"poolside/laguna-xs-2.1:free",name:"Poolside: Laguna XS 2.1",contextLength:262144,maxOutputTokens:32768},{id:"stealth/missingno",name:"MissingNo",contextLength:262144,maxOutputTokens:131072}],serviceKinds:["llm","imageToText"],modelsFetcher:{url:Z,type:"nous-free"},passthroughModels:!0},{id:"orcarouter",alias:"orcarouter",uiAlias:"orcarouter",display:{name:"OrcaRouter",icon:"router",color:"#1B2A4A",textIcon:"OR",website:"https://www.orcarouter.ai",notice:{apiKeyUrl:"https://www.orcarouter.ai/console"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://www.orcarouter.ai/v1/chat/completions",modelsUrl:"https://www.orcarouter.ai/v1/models",validateUrl:"https://www.orcarouter.ai/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://www.orcarouter.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"apinex",alias:"apinex",uiAlias:"apinex",display:{name:"APInex",icon:"bolt",color:"#D9A441",textIcon:"AX",website:"https://apinex.bond",notice:{apiKeyUrl:"https://apinex.bond/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.apinex.bond/v1/chat/completions",modelsUrl:"https://api.apinex.bond/v1/models",validateUrl:"https://api.apinex.bond/v1/models",thinkingFormat:"openai"},models:[],modelsFetcher:{url:"https://api.apinex.bond/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"qwen",priority:12,alias:"qwen",aliases:["qw"],display:{name:"Qwen",icon:"qwen",color:"#6366F1",textIcon:"Qw",website:"https://qwen.ai",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",validateUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max",name:"Qwen3.8 Max"},{id:"qwen3.8-flash",name:"Qwen3.8 Flash"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.7-flash",name:"Qwen3.7 Flash"},{id:"qwen3.8-2.4t-a95b",name:"Qwen3.8 2.4T MoE (Open)"},{id:"qwen3.8-27b",name:"Qwen3.8 27B (Open)"},{id:"qwen3.6-35b-a3b",name:"Qwen3.6 35B MoE (Open)"},{id:"qwen3.6-27b",name:"Qwen3.6 27B (Open)"}]},{id:"unikey",alias:"unikey",uiAlias:"unikey",display:{name:"UniKey",icon:"key",color:"#6C5CE7",textIcon:"UK",website:"https://www.getunikey.ai",notice:{apiKeyUrl:"https://www.getunikey.ai/console/token",text:"Bills in credits (1 credit = $0.01). Remaining is computed as a 5000-credit grant minus spend; set providerSpecificData.unikeyTotalCredits to your real grant if it differs, or unikeyProbeBalance: true to read the exact balance from the relay."}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://www.getunikey.ai/v1/chat/completions",modelsUrl:"https://www.getunikey.ai/v1/models",validateUrl:"https://www.getunikey.ai/v1/models",thinkingFormat:"openai"},models:[{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite"},{id:"google/gemini-3-pro-image",name:"Gemini 3 Pro Image"},{id:"x-ai/grok-4.3",name:"Grok 4.3"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"z-ai/glm-5.1",name:"GLM 5.1"},{id:"minimax/minimax-m3",name:"MiniMax M3"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3",name:"Kimi K3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M3",name:"MiniMax M3 (Direct)"},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (Direct)"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro (Direct)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash (Direct)"},{id:"glm-5.1",name:"GLM 5.1 (Direct)"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code (Direct)"},{id:"kimi-k3",name:"Kimi K3 (Direct)"},{id:"qwen3.7-max",name:"Qwen3.7 Max"}],modelsFetcher:{url:"https://www.getunikey.ai/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"atria",priority:120,alias:"atria",aliases:["atria-asi"],uiAlias:"atria",display:{name:"Atria Dawn",icon:"atria",color:"#1F6FEB",textIcon:"AT",website:"https://atria-asi.ai",notice:{text:"OpenAI-compatible endpoint from Atria Dawn (AtomInnoLab). Currently a research preview offering a single text model, Atria-Dawn-Preview.",apiKeyUrl:"https://api.atria-asi.ai/console/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.atria-asi.ai/v1/chat/completions",modelsUrl:"https://api.atria-asi.ai/v1/models",validateUrl:"https://api.atria-asi.ai/v1/models",thinkingFormat:"openai"},models:[{id:"Atria-Dawn-Preview",name:"Atria Dawn Preview"}],modelsFetcher:{url:"https://api.atria-asi.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",headers:{},quirks:{reasoningAliasFields:!0}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"jev-1.13",name:"Jev 1.13",kind:"systemone"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"qoder-cn",priority:30,alias:"qdcn",uiAlias:"qdcn",display:{name:"Qoder CN",icon:"water_drop",color:"#EC4899",website:"https://qoder.com.cn",notice:{signupUrl:"https://qoder.com.cn"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) from https://qoder.com.cn/account/integrations",transport:{baseUrl:"https://gateway.qoder.com.cn/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.com.cn/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.com.cn",centerBaseUrl:"https://gateway.qoder.com.cn",chatBaseUrl:"https://gateway.qoder.com.cn",deviceTokenUrl:"https://openapi.qoder.com.cn/api/v1/deviceToken/poll",refreshUrl:"https://gateway.qoder.com.cn/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.com.cn/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.com.cn/api/v2/quota/usage",loginUrl:"https://qoder.com.cn/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"dahl",priority:120,alias:"dahl",aliases:["dahl-inference"],uiAlias:"dahl",display:{name:"Dahl Inference",icon:"hub",color:"#1E40AF",textIcon:"DH",website:"https://dahl.global",notice:{text:"OpenAI-compatible Gonka inference node. Small, fixed catalogue (GLM-5.3-Flash, DeepSeek-V4-Flash, MiniMax-M2.7) at a flat per-token rate.",apiKeyUrl:"https://dahl.global/dashboard"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.dahl.global/v1/chat/completions",validateUrl:"https://inference.dahl.global/v1/models"},models:[{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3 Flash"},{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"}],modelsFetcher:{url:"https://inference.dahl.global/v1/models",type:"openai"},passthroughModels:!0},{id:"agnes",priority:120,alias:"agnes",aliases:["agnes-ai"],uiAlias:"agnes",display:{name:"Agnes AI",icon:"auto_awesome",color:"#7C3AED",textIcon:"AG",website:"https://agnes-ai.com",notice:{text:"OpenAI-compatible gateway from Agnes AI, offering free API credits on sign-up. Accepts a bearer token or an x-api-key header.",apiKeyUrl:"https://platform.agnes-ai.com"}},category:"freeTier",authType:"apikey",transport:{baseUrl:"https://apihub.agnes-ai.com/v1/chat/completions",modelsUrl:"https://apihub.agnes-ai.com/v1/models",validateUrl:"https://apihub.agnes-ai.com/v1/models"},serviceKinds:["llm","image","video"],imageConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/images/generations"},videoConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/videos"},models:[{id:"agnes-3.0-flash",name:"Agnes 3.0 Flash"},{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.0-flash",name:"Agnes 2.0 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",kind:"image"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",kind:"image"},{id:"agnes-image-2.0-flash",name:"Agnes Image 2.0 Flash",kind:"image"},{id:"agnes-video-2.5-flash",name:"Agnes Video 2.5 Flash",kind:"video"},{id:"agnes-video-v2.0",name:"Agnes Video v2.0",kind:"video"},{id:"agnes-video-2.5",name:"Agnes Video 2.5",kind:"video"}],modelsFetcher:{url:"https://apihub.agnes-ai.com/v1/models",type:"openai"},passthroughModels:!0},{id:"tinyfish",alias:"tinyfish",display:{name:"TinyFish",color:"#FF6700",textIcon:"TF",website:"https://www.tinyfish.ai/",notice:{apiKeyUrl:"https://agent.tinyfish.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.search.tinyfish.ai",validateUrl:"https://api.search.tinyfish.ai/usage?limit=1",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,searchTypes:["web","news","research_paper"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4},fetchConfig:{baseUrl:"https://api.fetch.tinyfish.ai",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,formats:["markdown","html"],maxCharacters:1e5,timeoutMs:15e4}},{id:"v1m",priority:45,alias:"v1m",aliases:["systemone","jev"],uiAlias:"v1m",display:{name:"v1m (System One)",icon:"psychology",color:"#6366F1",textIcon:"V1",website:"https://v1m.ir",notice:{text:"v1m System One calibrated decision engine. Fast probabilistic evaluations over state and questions.",apiKeyUrl:"https://v1m.ir"}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,models:[{id:"rev-latest",name:"v1m Rev Latest (Calibrated)",kind:"systemone"},{id:"v1m-decision-engine",name:"v1m Decision Engine",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://v1m.ir/v1/systemone",authType:"apikey",authHeader:"bearer"}},{id:"muse",priority:120,alias:"muse",aliases:["muse-ai","meta-model-api","muse-code","muse-subscription"],uiAlias:"muse",display:{name:"Muse (Meta Model API)",icon:"auto_awesome",color:"#0866FF",textIcon:"MU",website:"https://muse.ai",notice:{text:"Sign in with your Meta account (Muse Code subscription) or paste a Model API key from dev.meta.ai. Subscription keys are minted per account; Meta may train on contributor-tier data.",apiKeyUrl:"https://dev.meta.ai",signupUrl:"https://muse.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.meta.ai/v1/chat/completions",validateUrl:"https://api.meta.ai/v1/models",modelsUrl:"https://api.meta.ai/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.meta.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},{format:"openai-responses",baseUrl:"https://api.meta.ai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}}],models:[{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.1",name:"Muse Spark 1.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],passthroughModels:!0,oauth:{clientId:"1031625952748946",deviceCodeUrl:"https://auth.meta.com/oidc/device/authorization/",tokenUrl:"https://auth.meta.com/oidc/device/token/"}},{id:"minimax-code",priority:80,alias:"mm",display:{name:"MiniMax Code",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.cn"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},modelsFetcher:{url:"https://agent.minimax.cn/mavis/api/v1/models?region=cn&buildEnv=prod",type:"minimax-code"},transport:{baseUrl:"https://agent.minimax.cn/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0,hooks:["minimaxHeaders"]}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.cn/oauth2/device/code",tokenUrl:"https://account.minimax.cn/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"minimax-code-global",priority:80,alias:"mmg",display:{name:"MiniMax Code (Global)",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.io"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},modelsFetcher:{url:"https://agent.minimax.io/mavis/api/v1/models?region=en&buildEnv=prod",type:"minimax-code"},transport:{baseUrl:"https://agent.minimax.io/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0,hooks:["minimaxHeaders"]}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.io/oauth2/device/code",tokenUrl:"https://account.minimax.io/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"bedrock",alias:"br",aliases:["aws-bedrock"],uiAlias:"br",category:"apikey",authType:"apikey",apiKeyOptionalWith:"profile",credentialForm:"aws",display:{name:"AWS Bedrock",icon:"cloud",color:"#FF9900",textIcon:"BR",website:"https://aws.amazon.com/bedrock/",notice:{text:"Two ways to authenticate, both entered in the AWS Bedrock Credentials section below. SSO / profile (recommended): fill in Profile and Region, leave the API key empty, then run `aws sso login --profile <name>` — credentials refresh automatically. Static keys: put the AWS secret access key in the API Key field and the key id in Access Key ID, adding Session Token if they are temporary (ASIA…) keys. A profile, if set, takes precedence over static keys.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},transport:{baseUrl:"https://bedrock-runtime.{region}.amazonaws.com",format:"claude",auth:{header:"aws-sigv4",scheme:"raw"}},passthroughModels:!0,models:[{id:"us.anthropic.claude-opus-5",name:"Claude Opus 5"},{id:"us.anthropic.claude-sonnet-5",name:"Claude Sonnet 5"},{id:"us.anthropic.claude-fable-5",name:"Claude Fable 5"},{id:"us.anthropic.claude-opus-4-8",name:"Claude Opus 4.8"},{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7"},{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5"},{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5"},{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1"},{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4"},{id:"us.anthropic.claude-3-haiku-20240307-v1:0",name:"Claude 3 Haiku"}],hasProviderSpecificData:!0},{id:"bedrock-xai",alias:"brx",aliases:["bedrock-grok"],uiAlias:"brx",category:"apikey",authType:"apikey",apiKeyOptionalWith:"profile",credentialForm:"aws",display:{name:"AWS Bedrock (xAI)",icon:"cloud",color:"#FF9900",textIcon:"BX",website:"https://aws.amazon.com/bedrock/",notice:{text:'xAI Grok models hosted on AWS Bedrock. Authenticate exactly like the AWS Bedrock provider: fill in Profile and Region and leave the API key empty, then run `aws sso login --profile <name>`; or use static keys with the AWS secret access key as the API key. Note Grok is a reasoning model and spends output budget thinking before it answers — a small max_tokens returns finish_reason "length" with empty content, so allow a few thousand tokens.',apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},transport:{baseUrl:"https://bedrock-runtime.{region}.amazonaws.com",auth:{header:"aws-sigv4",scheme:"raw"}},passthroughModels:!0,models:[{id:"us.xai.grok-4.6",name:"Grok 4.6"},{id:"global.xai.grok-4.6",name:"Grok 4.6 (global)"}],hasProviderSpecificData:!0}],ac="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(ab.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:ac}:b]}));let ad=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],ae=a=>Object.fromEntries(ab.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),ad))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=ac),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(a)])),af=ae("free"),ag=ae("freeTier"),ah=ae("oauth"),ai=ae("apikey"),aj=ae("webCookie"),ak={...af,...ag,...ah,...ai,...aj};Object.values(ak).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(ak).reduce((a,b)=>(a[b.id]=b.alias,a),{}),ab.filter(a=>a.features?.usage).map(a=>a.id),ab.filter(a=>a.features?.usageApikey).map(a=>a.id);var al=c(2886),am=c(73024),an=c.n(am),ao=c(76760),ap=c.n(ao),aq=c(77598),ar=c.n(aq),as=c(72045);let at=ap().join(as.n,"machine-id"),au=ap().join(as.n,"auth"),av=ap().join(au,"cli-secret"),aw=null,ax=null;async function ay(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(aw)return aw;try{if(aw=an().readFileSync(at,"utf8").trim())return aw}catch{}try{aw=(0,al.machineIdSync)()}catch{aw=ar().randomUUID()}try{an().mkdirSync(as.n,{recursive:!0}),an().writeFileSync(at,aw,{mode:384})}catch{}return aw}(),d="9r-cli-auth"===b?function(){if(ax)return ax;try{if(ax=an().readFileSync(av,"utf8").trim())return ax}catch{}ax=ar().randomBytes(32).toString("hex");try{an().mkdirSync(au,{recursive:!0}),an().writeFileSync(av,ax,{mode:384})}catch{}return ax}():"";return ar().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}class az extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class aA extends az{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class aB extends az{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class aC extends az{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class aD extends az{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class aE extends az{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class aF extends az{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class aG extends az{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let aH=[["verify"],["sign"]];function aI(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:aH}}function aJ(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:aH,minRsaBits:2048}}function aK(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:aH}}function aL(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:aH}}function aM(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:aH}}let aN=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:aI(256),HS384:aI(384),HS512:aI(512),RS256:aJ(256),RS384:aJ(384),RS512:aJ(512),PS256:aJ(256,32),PS384:aJ(384,48),PS512:aJ(512,64),ES256:aK("P-256",256),ES384:aK("P-384",384),ES512:aK("P-521",512),EdDSA:aL(),Ed25519:aL(),"ML-DSA-44":aM(44),"ML-DSA-65":aM(65),"ML-DSA-87":aM(87)}),aO=new TextEncoder,aP=new TextDecoder,aQ=new TextDecoder("utf-8",{fatal:!0}),aR=/[^\x00-\x7f]/;function aS(a){if("string"==typeof a&&a.length>=128){if(aR.test(a))throw TypeError("non-ASCII string encountered in encode()");return aO.encode(a)}let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}function aT(a){try{return function(a,b=!1){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(a,{alphabet:b?"base64url":"base64"});if(b){if(a.includes("+")||a.includes("/"))throw TypeError("Invalid base64url");a=a.replace(/-/g,"+").replace(/_/g,"/")}let c=atob(a),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}("string"==typeof a?a:aP.decode(a),!0)}catch(a){throw TypeError("The input to be decoded is not correctly encoded.",{cause:a})}}function aU(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);return null===b||null===Object.getPrototypeOf(b)}function aV(a,b,c){try{return aT(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}let aW={__proto__:null,b64:!0};async function aX(a,b,c){let e,f,{alg:g,secret:h}=a,i="decrypt"===c||"sign"===c;if(h&&b instanceof Uint8Array)return b;if(aU(b)){if("string"!=typeof(e=function(a){let b={__proto__:null,...a};if(void 0!==b.ext&&"boolean"!=typeof b.ext)throw TypeError('"ext" (Extractable) Parameter must be a boolean');if(void 0!==b.key_ops){let a=b.key_ops,c=Array.isArray(a)?[...a]:void 0;if(!c||c.some(a=>"string"!=typeof a)||new Set(c).size!==c.length)throw TypeError('"key_ops" (Key Operations) Parameter must be an array of unique strings');b.key_ops=c}return b}(b)).kty)throw a_(g,b,h);if(!(h?"oct"===e.kty&&"string"==typeof e.k:"oct"!==e.kty&&(i?"AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d:void 0===e.d&&void 0===e.priv)))throw TypeError(h?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${i?"private":"public"} JWK`);if(((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,e,c),"oct"===e.kty)return aT(e.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}}else{if(!a$(b))throw a_(g,b,h);let a=h?"secret":i?"private":"public";if(b.type!==a&&(h||["secret","public","private"].includes(b.type)))throw TypeError(`${b[Symbol.toStringTag]} instances must be of type "${a}" for the ${g} algorithm`);if(aZ(b))return b;if("secret"===(f=b).type)return f.export()}let j=(d||=new WeakMap).get(b);if(j?.[g])return j[g];if(j||d.set(b,j={}),f&&"function"==typeof f.toCryptoKey){let b="public"===f.type,c=aY[f.asymmetricKeyDetails?.namedCurve],d=a.resolve?.({crv:c,asymmetricKeyType:f.asymmetricKeyType})??a.subtle;return j[g]=f.toCryptoKey(d,b,a.usages[+!b])}return(e??=f.export({format:"jwk"})).alg=g,j[g]=await a1(a,e)}let aY={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"},aZ=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},a$=a=>aZ(a)||a?.[Symbol.toStringTag]==="KeyObject";function a_(a,b,c){let d=["CryptoKey","KeyObject","JSON Web Key"];return c&&d.push("Uint8Array"),TypeError(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}(`Key for the ${a} algorithm must be `,b,...d))}let a0=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function a1(a,b,c){if(!a.kty.includes(b.kty))throw new aD('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let d=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,e=!!(b.d||b.priv),f={...b,ext:c??b.ext};return"AKP"!==f.kty&&delete f.alg,delete f.use,crypto.subtle.importKey("jwk",f,d,f.ext??!e,b.key_ops??a.usages[+!!e])}async function a2(a,b,c,d=!1){return a instanceof Uint8Array&&(a=await crypto.subtle.importKey("raw",a,b,d,[c])),function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw a0(b.name);if(b.hash&&d.hash?.name!==b.hash)throw a0(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw a0(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw a0(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(a,b,c),a}function a3(a){try{return aS(a)}catch{throw new aE("JWS Compact Serialization payload must use only ASCII characters")}}async function a4(a,b,c,d,e){let{protected:f,header:g,payload:h}=a,i=e??(void 0===f?{}:function(a,b,c){let d;try{d=JSON.parse(aQ.decode(aT(a)))}catch{throw new b(c)}if(!aU(d))throw new b(c);return d}(f,aE,"JWS Protected Header is invalid"));if(!function(...a){let b=new Set;for(let c of a)if(c)for(let a of Object.keys(c)){if(b.has(a))return!1;b.add(a)}return!0}(i,g))throw new aE("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let j={...i,...g},k=function(a,b){if(b.includes("b64")){let b=a.b64;if("boolean"!=typeof b)throw new aE('The "b64" (base64url-encode payload) Header Parameter must be a boolean');return b}return!0}(i,function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new aD(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(aE,aW,b[1],i,j)),{alg:l}=j;if("string"!=typeof l||!l)throw new aE('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(l))throw new aC('"alg" (Algorithm) Header Parameter value not allowed');if(k){if("string"!=typeof h)throw new aE("JWS Payload must be a string")}else if("string"!=typeof h&&!(h instanceof Uint8Array))throw new aE("JWS Payload must be a string or an Uint8Array instance");let m=k||"string"!=typeof h?h:d(h),n=!1;"function"==typeof c&&(c=await c(i,a),n=!0);let o=function(a){let b="string"==typeof a?aN[a]:void 0;if(!b)throw new aD(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(l),p=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==f?aS(f):new Uint8Array,aS("."),"string"==typeof m?b[2]??=function(a,b,c){try{return aS(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(m,"payload",aE):m),q=aV(a.signature,"signature",aE),r=await aX(o,c,"verify"),s=await a2(r,o.subtle,"verify");o.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(o.alg,s);let t=!1;try{t=await crypto.subtle.verify(o.signing,s,q,p)}catch{}if(!t)throw new aG;let u={payload:"string"==typeof m?aV(m,"payload",aE):m};return void 0!==f&&(u.protectedHeader=i),void 0!==g&&(u.unprotectedHeader=g),n?[{...u,key:r},k]:[u,k]}async function a5(a,b,c){if(a instanceof Uint8Array&&(a=aP.decode(a)),"string"!=typeof a)throw new aE("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new aE("Invalid Compact JWS");return a4({payload:e,protected:d,signature:f},b,c,a3)}let a6={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},a7=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,a8="check_failed";function a9(){throw TypeError("Invalid time period format")}function ba(a){"string"!=typeof a&&a9();let b=a7.exec(a);(!b||b[4]&&b[1])&&a9();let c=Math.round(parseFloat(b[2])*a6[b[3][0].toLowerCase()]);return Number.isFinite(c)||a9(),"-"===b[1]||"ago"===b[4]?-c:c}function bb(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let bc=a=>{let b=a.toLowerCase();return a.includes("/")?b:`application/${b}`};function bd(a,b,c=!1){let d=a[b];if(!(void 0===d&&!c)){if("number"!=typeof d)throw new aA(`"${b}" claim must be a number`,a,b,"invalid");return d}}function be(a,b){throw new aA(`unexpected "${b}" claim value`,a,b,a8)}async function bf(a,b,c){let[d,e]=await a5(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);return void 0===b?void 0:new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!e)throw new aF("JWTs MUST NOT use unencoded payload");let f=function(a,b,c={}){let d,e,f;try{d=JSON.parse(aQ.decode(b))}catch{}if(!aU(d))throw new aF("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(void 0!==g&&("string"!=typeof a.typ||bc(a.typ)!==bc(g)))throw new aA('unexpected "typ" JWT header value',d,"typ",a8);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(d,a))throw new aA(`missing required "${a}" claim`,d,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(d.iss)||be(d,"iss"),void 0!==j&&d.sub!==j&&be(d,"sub"),void 0===k||(e=d.aud,f="string"==typeof k?[k]:k,"string"==typeof e?f.includes(e):!!Array.isArray(e)&&f.some(a=>e.includes(a)))||be(d,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=ba(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}bb("clockTolerance option",o);let{currentDate:p}=c,q=bb("currentDate option",Math.floor((void 0===p?new Date:p).getTime()/1e3)),r=bd(d,"iat",void 0!==l),s=bd(d,"nbf");if(void 0!==s&&s>q+o)throw new aA('"nbf" claim timestamp check failed',d,"nbf",a8);let t=bd(d,"exp");if(void 0!==t&&t<=q-o)throw new aB('"exp" claim timestamp check failed',d,"exp",a8);if(void 0!==l){let a=q-r;if(a-o>bb("maxTokenAge option","number"==typeof l?l:ba(l)))throw new aB('"iat" claim timestamp check failed (too far in the past)',d,"iat",a8);if(a<-o)throw new aA('"iat" claim timestamp check failed (it should be in the past)',d,"iat",a8)}return d}(d.protectedHeader,d.payload,c);return{...d,payload:f}}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);let bg=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=ap().join(as.n,"jwt-secret");try{return an().readFileSync(a,"utf8").trim()}catch{}an().mkdirSync(as.n,{recursive:!0});let b=ar().randomBytes(32).toString("hex");return an().writeFileSync(a,b,{mode:384}),b}());async function bh(a){if(!a)return!1;try{return await bf(a,bg),!0}catch{return!1}}let bi=null;async function bj(){return bi||(bi=await ay("9r-cli-auth")),bi}async function bk(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await bj()}let bl=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/auth/saml","/api/version","/api/settings/require-login"],bm=["/v1","/v1beta","/api/v1","/api/v1beta","/codex","/responses"],bn=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import"],bo=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop","/api/headroom/proxy"],bp=new Set(["localhost","127.0.0.1","::1"]);function bq(a){if(!a)return!1;let b=String(a).trim().toLowerCase();if(b.startsWith("[")){let a=b.indexOf("]");if(-1===a)return!1;b=b.slice(1,a)}else -1!==b.indexOf(":")&&b.indexOf(":")===b.lastIndexOf(":")&&(b=b.slice(0,b.indexOf(":")));return b.startsWith("::ffff:")&&(b=b.slice(7)),bp.has(b)}function br(a){let b;if(a.headers.get("x-9r-via-proxy")||!((b=process.env.NINEROUTER_PEER_TOKEN)&&a.headers.get("x-9r-peer-token")===b&&bq(a.headers.get("x-9r-real-ip"))))return!1;let c=a.headers.get("origin");if(c)try{if(!bq(new URL(c).hostname))return!1}catch{return!1}return!0}function bs(a){return bm.some(b=>a===b||a.startsWith(`${b}/`))}async function bt(a){let b=function(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}(a);return!!b&&await (0,k.validateApiKey)(b)}async function bu(a){return!!(br(a)||await bk(a)||await bw(a))||await bt(a)}async function bv(a){return!!(await bk(a)||br(a)&&await by(a))}async function bw(a){let b=a.cookies.get("auth_token")?.value;return await bh(b)}async function bx(){try{return await (0,l.getSettings)()}catch{return null}}async function by(a){if(await bw(a))return!0;let b=await bx();return!!b&&!1===b.requireLogin}async function bz(a){let{pathname:b}=a.nextUrl;if(bo.some(a=>b.startsWith(a))&&!await bv(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(bn.some(a=>b.startsWith(a)))return await bk(a)||await bw(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(bs(b))return"OPTIONS"===a.method||function(a){if("GET"!==a.method)return!1;let{pathname:b}=a.nextUrl;return/^\/(?:api\/)?v1(?:beta)?\/models(?:\/|$)/.test(b)}(a)||await bu(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(b.startsWith("/api/"))return bs(b)||bl.some(a=>b===a||b.startsWith(`${a}/`))||await bk(a)||await by(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){let b=!0;try{let c=await bx();if(c&&(b=!1!==c.requireLogin,!0!==c.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),d=c.tunnelUrl?new URL(c.tunnelUrl).hostname.toLowerCase():"",e=c.tailscaleUrl?new URL(c.tailscaleUrl).hostname.toLowerCase():"";if(d&&b===d||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b)return i.NextResponse.next();let c=a.cookies.get("auth_token")?.value;return c&&await bh(c)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function bA(a){return bz(a)}let bB={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var bC=c(99751);let bD={...e},bE="/src/proxy",bF=(0,bD.proxy||bD.default);class bG extends Error{constructor(a){super(a),this.stack=""}}if("function"!=typeof bF)throw new bG(`The Proxy file "${bE}" must export a function named \`proxy\` or a default function.`);let bH=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:bE,handler:async(...a)=>{try{return await bF(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function bI(a,b){let c=await bH({request:{url:a.url,method:a.method,headers:(0,bC.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:bE},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let bJ=bH},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},46293:a=>{"use strict";a.exports=require("sql.js")},46789:(a,b,c)=>{"use strict";c.d(b,{aB:()=>g,xE:()=>f});var d=c(19217);function e(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();if(!a)continue;let e=a.toLowerCase();b.has(e)||(b.add(e),c.push(a))}return c}function f(a,b){if(1!==a&&!0!==a)return{restricted:!1,allow:[]};let c=[];if("string"==typeof b&&b)try{c=JSON.parse(b)}catch{c=[]}return{restricted:!0,allow:e(c)}}function g(a){let b=a||d.M0;return{accessRestricted:+!!b.restricted,accessAllow:JSON.stringify(b.restricted?e(b.allow):[])}}},47866:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Normalizers",{enumerable:!0,get:function(){return c}});class c{constructor(a=[]){this.normalizers=a}push(a){this.normalizers.push(a)}normalize(a){return this.normalizers.reduce((a,b)=>b.normalize(a),a)}}},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},50541:(a,b)=>{"use strict";function c(a){return{normalize:a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"wrapNormalizerFn",{enumerable:!0,get:function(){return c}})},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return j},NOT_FOUND_SEGMENT_KEY:function(){return k},PAGE_SEGMENT_KEY:function(){return i},computeSelectedLayoutSegment:function(){return h},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return h&&h!==i?(f.push(h),a(g,c,!1,f)):f}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===j?null:c}let i="__PAGE__",j="__DEFAULT__",k="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f={RENDER_STAGE_ADVANCE_ORDER:function(){return k},RenderStage:function(){return j},StagedRenderingController:function(){return o},SyncIOMode:function(){return n},getNextStage:function(){return l},isAdvanceableRenderStage:function(){return m}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(42776),i=c(29299);var j=((d={})[d.Before=1]="Before",d[d.ShellStatic=10]="ShellStatic",d[d.PrefetchStatic_prefetchApi=11]="PrefetchStatic_prefetchApi",d[d.PrefetchStatic=12]="PrefetchStatic",d[d.NavigationStatic=13]="NavigationStatic",d[d.Static=14]="Static",d[d.ShellRuntime=20]="ShellRuntime",d[d.PrefetchRuntime_prefetchApi=21]="PrefetchRuntime_prefetchApi",d[d.PrefetchRuntime=22]="PrefetchRuntime",d[d.NavigationRuntime=23]="NavigationRuntime",d[d.Dynamic=30]="Dynamic",d[d.Abandoned=40]="Abandoned",d);let k=[10,11,12,13,14,20,21,22,23,30];function l(a){return k[k.indexOf(a)+1]}function m(a){return 1<a&&a<=30}var n=((e={})[e.Untracked=1]="Untracked",e[e.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",e[e.AllowedInDynamic=3]="AllowedInDynamic",e);class o{constructor({abortSignal:a,abandonController:b,syncIO:c,finalStage:d}){this.currentStage=1,this.syncInterruptReason=null,this.triggers=function(){let a={};for(let b of k)a[b]=function(){let{promise:a,resolve:b,reject:c}=(0,i.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:a,_listeners:[],_resolvePromise:b,_rejectPromise:c}}();return a}(),this.abortSignal=a,this.abandonController=b,this.syncIOMode=c,this.finalStage=d,a&&a.addEventListener("abort",()=>{let{reason:b}=a;for(let a of Object.values(this.triggers)){var c,d;c=a,d=b,"pending"===c.state&&(c.state="cancelled",c._listeners.length=0,c.promise.catch(p),c._rejectPromise(d))}},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){var c,d;c=this.triggers[a],d=b,"pending"===c.state?c._listeners.push(d):d()}shouldTrackSyncInterrupt(){let{syncIOMode:a,currentStage:b}=this;switch(a){case 1:return!1;case 2:return b>1&&b<=14;case 3:return b>1&&b<30}}syncInterruptCurrentStageWithReason(a){let{currentStage:b}=this;if(1!==b&&30!==b&&40!==b){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=40;return}this.syncInterruptReason=a,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(a){return this.triggers[l(a)].triggeredAt??1/0}abandonRender(){let{currentStage:a}=this;if(1===a)throw new h.InvariantError("A render that hasn't started yet cannot be abandoned");if(30===a||40===a)return;let b=k.indexOf(a)+1,c=k.indexOf(30);for(let a=b;a<c;a++)this.resolveStage(k[a]);this.currentStage=40}advanceStage(a){if(null!==this.finalStage&&a>this.finalStage)throw new h.InvariantError(`Attempted to advance to stage ${j[a]} but the render is limited to ${j[this.finalStage]}`);let{currentStage:b}=this;if(30===b||40===b||a<=b)return;this.currentStage=a;let c=1===b?0:k.indexOf(b)+1,d=k.indexOf(a);for(let a=c;a<=d;a++)this.resolveStage(k[a])}resolveStage(a){var b=this.triggers[a];if("pending"===b.state){b.state="triggered",b.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:a}=b;for(let b=0;b<a.length;b++)a[b]();a.length=0}finally{b._resolvePromise()}}}getStagePromise(a){return this.triggers[a].promise}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){let d=this.getStagePromise(a).then(()=>c);return this.abortSignal&&d.catch(p),d}}function p(){}},55122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bulkSetConnectionProxyPool:()=>s,cleanupProviderConnections:()=>t,createProviderConnection:()=>n,deleteProviderConnection:()=>p,deleteProviderConnectionsByProvider:()=>q,getProviderConnectionById:()=>l,getProviderConnections:()=>k,reorderProviderConnections:()=>r,updateProviderConnection:()=>o});var d=c(43892),e=c(59339),f=c(33323);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a,b){if(b?.testStatus!=="active")return b;let c={...b,testStatus:"active",lastError:Object.hasOwn(b,"lastError")?b.lastError:null,lastErrorAt:Object.hasOwn(b,"lastErrorAt")?b.lastErrorAt:null,errorCode:null,rateLimitedUntil:null,backoffLevel:0};for(let b of Object.keys(a||{}))b.startsWith("modelLock_")&&(c[b]=null);return c}function i(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function j(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
291
291
|
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
292
292
|
ON CONFLICT(id) DO UPDATE SET
|
|
293
293
|
provider=excluded.provider, authType=excluded.authType, name=excluded.name,
|
|
294
294
|
email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
|
|
295
|
-
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function k(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(i);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function l(a){return i((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function m(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(i);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{let d=c+1;(b.priority||0)!==d&&a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[d,b.id])})}async function n(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{var e;let k="apikey"===a.authType&&!!a.name,l=k?c.all("SELECT * FROM providerConnections WHERE provider = ? AND authType = ? AND name = ?",[a.provider,"apikey",a.name]).map(i):c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(i),m=k?c.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a.provider])?.n??l.length:l.length,n=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;n=l.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(n=l.find(b=>"apikey"===b.authType&&b.name===a.name));if(n){if(!1===a.allowOverwrite){let b=Error(`A connection named "${n.name}" already exists for provider "${a.provider}". Pass allowOverwrite: true to replace it.`);throw b.code="PROVIDER_NAME_CONFLICT",b.existingId=n.id,b.existingName=n.name,b}let d=h(n,a),e={...n,...d,updatedAt:f};j(c,e),b=e;return}let o=a.name||null;o||"oauth"!==a.authType&&"access_token"!==a.authType||(e=a.email||`Account ${m+1}`,o="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||e);let p=a.priority;if(!p){let b=c.get("SELECT MAX(priority) AS m FROM providerConnections WHERE provider = ?",[a.provider]);p=(b?.m||0)+1}let q={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:o,priority:p,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(q[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(q.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(q.email=a.email),j(c,q),b=q}),b}async function o(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=i(e),g=h(f,b),k={...f,...g,updatedAt:new Date().toISOString()};j(d,k),void 0!==b.priority&&m(d,f.provider),c=k}),c}async function p(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),m(b,d.provider),c=!0)}),c}async function q(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function r(a){let b=await (0,e.c)();b.transaction(()=>m(b,a))}async function s(a){let b=Array.isArray(a)?a:[];if(0===b.length)return{updated:0,missing:[]};let c=await (0,e.c)(),d=0,f=[],g=new Date().toISOString();return c.transaction(()=>{for(let a of b){let b=a?.id;if(!b)continue;let e=c.get("SELECT * FROM providerConnections WHERE id = ?",[b]);if(!e){f.push(b);continue}let h=i(e),k={...h,updatedAt:g};if(null===a.proxyPoolId||void 0===a.proxyPoolId){let a={...h.providerSpecificData||{}};delete a.proxyPoolId,k.providerSpecificData=a}else k.providerSpecificData={...h.providerSpecificData||{},proxyPoolId:a.proxyPoolId};j(c,k),d+=1}}),{updated:d,missing:f}}async function t(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=i(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&j(a,e)}}),c}},56872:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d={bgBlack:function(){return E},bgBlue:function(){return I},bgCyan:function(){return K},bgGreen:function(){return G},bgMagenta:function(){return J},bgRed:function(){return F},bgWhite:function(){return L},bgYellow:function(){return H},black:function(){return u},blue:function(){return y},bold:function(){return n},cyan:function(){return B},dim:function(){return o},gray:function(){return D},green:function(){return w},hidden:function(){return s},inverse:function(){return r},isColorSupported:function(){return i},italic:function(){return p},magenta:function(){return z},purple:function(){return A},red:function(){return v},reset:function(){return m},stdoutIsTerminal:function(){return j},strikethrough:function(){return t},underline:function(){return q},white:function(){return C},yellow:function(){return x}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let{env:f,stdout:g}=(null==(c=globalThis)?void 0:c.process)??{},h=f&&!f.NO_COLOR&&(f.FORCE_COLOR||(null==g?void 0:g.isTTY)&&!f.CI&&"dumb"!==f.TERM),i=!!h,j=!!(null==g?void 0:g.isTTY)||"1"===f.NEXT_PRIVATE_PROMPT_OUTPUT,k=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),g=f.indexOf(b);return~g?e+k(f,b,c,g):e+f},l=(a,b,c=a)=>h?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+k(e,b,c,f)+b:a+e+b}:String,m=h?a=>`\x1b[0m${a}\x1b[0m`:String,n=l("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),o=l("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),p=l("\x1b[3m","\x1b[23m"),q=l("\x1b[4m","\x1b[24m"),r=l("\x1b[7m","\x1b[27m"),s=l("\x1b[8m","\x1b[28m"),t=l("\x1b[9m","\x1b[29m"),u=l("\x1b[30m","\x1b[39m"),v=l("\x1b[31m","\x1b[39m"),w=l("\x1b[32m","\x1b[39m"),x=l("\x1b[33m","\x1b[39m"),y=l("\x1b[34m","\x1b[39m"),z=l("\x1b[35m","\x1b[39m"),A=l("\x1b[38;2;173;127;168m","\x1b[39m"),B=l("\x1b[36m","\x1b[39m"),C=l("\x1b[37m","\x1b[39m"),D=l("\x1b[90m","\x1b[39m"),E=l("\x1b[40m","\x1b[49m"),F=l("\x1b[41m","\x1b[49m"),G=l("\x1b[42m","\x1b[49m"),H=l("\x1b[43m","\x1b[49m"),I=l("\x1b[44m","\x1b[49m"),J=l("\x1b[45m","\x1b[49m"),K=l("\x1b[46m","\x1b[49m"),L=l("\x1b[47m","\x1b[49m")},57155:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getCacheHandler:function(){return r},getCacheHandlerEntries:function(){return y},getCacheHandlers:function(){return x},getDevTieredCacheHandler:function(){return w},getPrivateCacheHandler:function(){return s},initializeCacheHandlers:function(){return p},isBuiltInCacheHandler:function(){return v},isCustomCacheHandler:function(){return u},isMemoryCacheDisabled:function(){return t},registerCustomCacheHandlers:function(){return q},setCacheHandler:function(){return z}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(32457);c(7597);let g=process.env.NEXT_PRIVATE_DEBUG_CACHE?(a,...b)=>{console.log(`use-cache: ${a}`,...b)}:void 0,h=Symbol.for("@next/cache-handlers"),i=Symbol.for("@next/cache-handlers-map"),j=Symbol.for("@next/cache-handlers-set"),k=Symbol.for("@next/custom-cache-handlers-registration"),l=Symbol.for("@next/cache-handlers-private"),m=Symbol.for("@next/cache-handlers-built-in");Symbol.for("@next/cache-handlers-dev-fronts"),Symbol.for("@next/cache-handlers-dev-tiered");let n=Symbol.for("@next/cache-handlers-memory-disabled"),o=globalThis;function p(a){if(o[i]){null==g||g("cache handlers already initialized");return}null==g||g("initializing cache handlers");let b=new Map;o[i]=b;let c=new Set;if(o[m]=c,o[h]){let d;o[h].DefaultCache?(null==g||g('setting "default" cache handler from symbol'),d=o[h].DefaultCache):(null==g||g('setting "default" cache handler from default'),d=(0,f.createDefaultCacheHandler)(a),c.add(d)),b.set("default",d),o[h].RemoteCache?(null==g||g('setting "remote" cache handler from symbol'),b.set("remote",o[h].RemoteCache)):(null==g||g('setting "remote" cache handler from default'),b.set("remote",d))}else{let d=(0,f.createDefaultCacheHandler)(a);c.add(d),null==g||g('setting "default" cache handler from default'),b.set("default",d),null==g||g('setting "remote" cache handler from default'),b.set("remote",d)}o[j]=new Set(b.values())}function q(a){let b=o[k];return b||(b=a(),o[k]=b),b}function r(a){if(!o[i])throw Error("Cache handlers not initialized");return o[i].get(a)}function s(){if(!o[i])throw Error("Cache handlers not initialized");return o[l]}function t(){return o[n]??!1}function u(a){return!1}function v(a){var b,c;let d=null==(b=o[i])?void 0:b.get(a);return void 0!==d&&!!(null==(c=o[m])?void 0:c.has(d))}function w(a){}function x(){let a=o[j];if(a)return Array.from(a)}function y(){let a=o[i];if(a)return a.entries()}function z(a,b){if(!o[i]||!o[j])throw Error("Cache handlers not initialized");null==g||g('setting cache handler for "%s"',a),o[i].set(a,b),o[j].add(b)}},57202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={handleFetch:function(){return j},interceptFetch:function(){return k},reader:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g={url:a=>a.url,header:(a,b)=>a.headers.get(b)};async function h(a,b){let{url:c,method:d,headers:e,body:f,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}=b;return{testData:a,api:"fetch",request:{url:c,method:d,headers:[...Array.from(e),["next-test-stack",function(){let a=(Error().stack??"").split("\n");for(let b=1;b<a.length;b++)if(a[b].length>0){a=a.slice(b);break}return(a=(a=(a=a.filter(a=>!a.includes("/next/dist/"))).slice(0,5)).map(a=>a.replace("webpack-internal:///(rsc)/","").trim())).join(" ")}()]],body:f?Buffer.from(await b.arrayBuffer()).toString("base64"):null,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}}}function i(a,b){return b.headers.set("next-test-internal","1"),a(b)}async function j(a,b){let c=(0,f.getTestReqInfo)(b,g);if(!c)return i(a,b);let{testData:d,proxyPort:e}=c,j=await h(d,b),k=await a(`http://localhost:${e}`,{method:"POST",body:JSON.stringify(j),headers:{"next-test-internal":"1"},next:{internal:!0}});if(!k.ok)throw Error(`Proxy request failed: ${k.status}`);let l=await k.json(),{api:m}=l;switch(m){case"continue":return i(a,b);case"abort":case"unhandled":throw Error(`Proxy request aborted [${b.method} ${b.url}]`);case"fetch":return function(a){let{status:b,headers:c,body:d}=a.response;return new Response(d?Buffer.from(d,"base64"):null,{status:b,headers:new Headers(c)})}(l);default:return m}}function k(a){return global.fetch=function(b,c){var d;return(null==c||null==(d=c.next)?void 0:d.internal)?a(b,c):j(a,new Request(b,c))},()=>{global.fetch=a}}},58051:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getComponentTypeModule:function(){return h},getLayoutOrPageModule:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(53610);async function g(a){let b,c,d,{layout:e,page:g,defaultPage:h}=a[2],i=void 0!==e,j=void 0!==g,k=void 0!==h&&a[0]===f.DEFAULT_SEGMENT_KEY;return i?(b=await e[0](),c="layout",d=e[1]):j?(b=await g[0](),c="page",d=g[1]):k&&(b=await h[0](),c="page",d=h[1]),{mod:b,modType:c,filePath:d}}async function h(a,b){let{[b]:c}=a[2];if(void 0!==c)return await c[0]()}},58486:(a,b)=>{"use strict";function c(a){switch(a){case"catchall-intercepted-(..)(..)":case"dynamic-intercepted-(..)(..)":return"(..)(..)";case"catchall-intercepted-(.)":case"dynamic-intercepted-(.)":return"(.)";case"catchall-intercepted-(..)":case"dynamic-intercepted-(..)":return"(..)";case"catchall-intercepted-(...)":case"dynamic-intercepted-(...)":return"(...)";default:return null}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interceptionPrefixFromParamType",{enumerable:!0,get:function(){return c}})},58930:a=>{(()=>{"use strict";let b,c,d,e,f;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(108),e=c(221),f=c(44),g="context",h=new d.NoopContextManager;class i{static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},44:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(757),e=c(412),f=c(711),g=c(221);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}let b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},262:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(586),e=c(221),f=c(44),g="metrics";class h{static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},25:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(221),e=c(19),f=c(92),g=c(398),h=c(504),i=c(44),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},397:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(221),e=c(498),f=c(477),g=c(793),h=c(44),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},398:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(912),e=(0,c(23).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},152:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},647:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},504:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(44),e=c(152),f=c(647),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},778:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(912).ContextAPI.getInstance()},108:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(23);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},23:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){let b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},304:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(44).DiagAPI.instance()},757:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(221);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},83:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},412:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(711);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},711:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,(c=b.DiagLogLevel||(b.DiagLogLevel={}))[c.NONE=0]="NONE",c[c.ERROR=30]="ERROR",c[c.WARN=50]="WARN",c[c.INFO=60]="INFO",c[c.DEBUG=70]="DEBUG",c[c.VERBOSE=80]="VERBOSE",c[c.ALL=9999]="ALL"},221:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(678),e=c(652),f=c(662),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},662:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(652),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},120:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(262).MetricsAPI.getInstance()},532:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,(c=b.ValueType||(b.ValueType={}))[c.INT=0]="INT",c[c.DOUBLE=1]="DOUBLE"},440:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},586:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(440);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},678:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(59),b)},460:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},59:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(460),b)},27:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(25).PropagationAPI.getInstance()},19:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},92:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},816:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(397).TraceAPI.getInstance()},374:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(546);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},637:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(912),e=c(793),f=c(374),g=c(477),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},76:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(637);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},779:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(637)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},498:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(779),e=new(c(76)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},312:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,(c=b.SamplingDecision||(b.SamplingDecision={}))[c.NOT_RECORD=0]="NOT_RECORD",c[c.RECORD=1]="RECORD",c[c.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"},793:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(23),e=c(374),f=c(912),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},285:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(240);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},240:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},87:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(285);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},546:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(731);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},613:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,(c=b.SpanKind||(b.SpanKind={}))[c.INTERNAL=0]="INTERNAL",c[c.SERVER=1]="SERVER",c[c.CLIENT=2]="CLIENT",c[c.PRODUCER=3]="PRODUCER",c[c.CONSUMER=4]="CONSUMER"},477:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(546),e=c(374),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},854:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,(c=b.SpanStatusCode||(b.SpanStatusCode={}))[c.UNSET=0]="UNSET",c[c.OK=1]="OK",c[c.ERROR=2]="ERROR"},731:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,(c=b.TraceFlags||(b.TraceFlags={}))[c.NONE=0]="NONE",c[c.SAMPLED=1]="SAMPLED"},652:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},x={};function y(a){var b=x[a];if(void 0!==b)return b.exports;var c=x[a]={exports:{}},d=!0;try{w[a].call(c.exports,c,c.exports,y),d=!1}finally{d&&delete x[a]}return c.exports}y.ab=__dirname+"/";var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.trace=z.propagation=z.metrics=z.diag=z.context=z.INVALID_SPAN_CONTEXT=z.INVALID_TRACEID=z.INVALID_SPANID=z.isValidSpanId=z.isValidTraceId=z.isSpanContextValid=z.createTraceState=z.TraceFlags=z.SpanStatusCode=z.SpanKind=z.SamplingDecision=z.ProxyTracerProvider=z.ProxyTracer=z.defaultTextMapSetter=z.defaultTextMapGetter=z.ValueType=z.createNoopMeter=z.DiagLogLevel=z.DiagConsoleLogger=z.ROOT_CONTEXT=z.createContextKey=z.baggageEntryMetadataFromString=void 0,g=y(504),Object.defineProperty(z,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return g.baggageEntryMetadataFromString}}),h=y(23),Object.defineProperty(z,"createContextKey",{enumerable:!0,get:function(){return h.createContextKey}}),Object.defineProperty(z,"ROOT_CONTEXT",{enumerable:!0,get:function(){return h.ROOT_CONTEXT}}),i=y(83),Object.defineProperty(z,"DiagConsoleLogger",{enumerable:!0,get:function(){return i.DiagConsoleLogger}}),j=y(711),Object.defineProperty(z,"DiagLogLevel",{enumerable:!0,get:function(){return j.DiagLogLevel}}),k=y(440),Object.defineProperty(z,"createNoopMeter",{enumerable:!0,get:function(){return k.createNoopMeter}}),l=y(532),Object.defineProperty(z,"ValueType",{enumerable:!0,get:function(){return l.ValueType}}),m=y(92),Object.defineProperty(z,"defaultTextMapGetter",{enumerable:!0,get:function(){return m.defaultTextMapGetter}}),Object.defineProperty(z,"defaultTextMapSetter",{enumerable:!0,get:function(){return m.defaultTextMapSetter}}),n=y(779),Object.defineProperty(z,"ProxyTracer",{enumerable:!0,get:function(){return n.ProxyTracer}}),o=y(498),Object.defineProperty(z,"ProxyTracerProvider",{enumerable:!0,get:function(){return o.ProxyTracerProvider}}),p=y(312),Object.defineProperty(z,"SamplingDecision",{enumerable:!0,get:function(){return p.SamplingDecision}}),q=y(613),Object.defineProperty(z,"SpanKind",{enumerable:!0,get:function(){return q.SpanKind}}),r=y(854),Object.defineProperty(z,"SpanStatusCode",{enumerable:!0,get:function(){return r.SpanStatusCode}}),s=y(731),Object.defineProperty(z,"TraceFlags",{enumerable:!0,get:function(){return s.TraceFlags}}),t=y(87),Object.defineProperty(z,"createTraceState",{enumerable:!0,get:function(){return t.createTraceState}}),u=y(477),Object.defineProperty(z,"isSpanContextValid",{enumerable:!0,get:function(){return u.isSpanContextValid}}),Object.defineProperty(z,"isValidTraceId",{enumerable:!0,get:function(){return u.isValidTraceId}}),Object.defineProperty(z,"isValidSpanId",{enumerable:!0,get:function(){return u.isValidSpanId}}),v=y(546),Object.defineProperty(z,"INVALID_SPANID",{enumerable:!0,get:function(){return v.INVALID_SPANID}}),Object.defineProperty(z,"INVALID_TRACEID",{enumerable:!0,get:function(){return v.INVALID_TRACEID}}),Object.defineProperty(z,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return v.INVALID_SPAN_CONTEXT}}),b=y(778),Object.defineProperty(z,"context",{enumerable:!0,get:function(){return b.context}}),c=y(304),Object.defineProperty(z,"diag",{enumerable:!0,get:function(){return c.diag}}),d=y(120),Object.defineProperty(z,"metrics",{enumerable:!0,get:function(){return d.metrics}}),e=y(27),Object.defineProperty(z,"propagation",{enumerable:!0,get:function(){return e.propagation}}),f=y(816),Object.defineProperty(z,"trace",{enumerable:!0,get:function(){return f.trace}}),z.default={context:b.context,diag:c.diag,metrics:d.metrics,propagation:e.propagation,trace:f.trace},a.exports=z})()},59339:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);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(698).then(c.bind(c,90698));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(507).then(c.bind(c,90507));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(7965).then(c.bind(c,57965));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(4780).then(c.bind(c,34780));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(4055).then(c.bind(c,4055));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)}},61544:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={NEXT_REQUEST_META:function(){return e},addRequestMeta:function(){return h},getRequestMeta:function(){return f},removeRequestMeta:function(){return i},setRequestMeta:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Symbol.for("NextInternalRequestMeta");function f(a,b){let c=a[e]||{};return"string"==typeof b?c[b]:c}function g(a,b){return a[e]=b,b}function h(a,b,c){let d=f(a);return d[b]=c,g(a,d)}function i(a,b){let c=f(a);return delete c[b],g(a,c)}},61595:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createPrerenderWorkStore:function(){return l},createWorkStore:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85292),g=c(92539),h=c(31147),i=c(57155),j=c(89218);function k(a){return m(a,!1)}function l(a){return m(a,!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS)}function m({page:a,renderOpts:b,isPrefetchRequest:c,buildId:d,deploymentId:e,previouslyRevalidatedTags:k,nonce:l},n){let o={page:a,route:(0,g.normalizeAppPath)(a),incrementalCache:b.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:b.cacheLifeProfiles,useCacheTimeout:b.experimental.useCacheTimeout,durableUseCacheEntries:b.experimental.durableUseCacheEntries,staticPageGenerationTimeout:b.staticPageGenerationTimeout,isBuildTimePrerendering:b.isBuildTimePrerendering,fetchCache:b.fetchCache,isOnDemandRevalidate:b.isOnDemandRevalidate,requestId:void 0,htmlRequestId:void 0,isDraftMode:b.isDraftMode,isPrefetchRequest:c,buildId:d,deploymentId:e,reactLoadableManifest:(null==b?void 0:b.reactLoadableManifest)||{},assetPrefix:(null==b?void 0:b.assetPrefix)||"",nonce:l,afterContext:function(a){let{waitUntil:b,onClose:c,onAfterTaskError:d}=a;return new f.AfterContext({waitUntil:b,onClose:c,onTaskError:d})}(b),cacheComponentsEnabled:b.cacheComponents,validationLevel:b.validationLevel,previouslyRevalidatedTags:k,requestStartTime:performance.timeOrigin+performance.now(),refreshTagsByCacheKind:function(){let a=new Map,b=(0,i.getCacheHandlerEntries)();if(b)for(let[c,d]of b)"refreshTags"in d&&a.set(c,(0,h.createLazyResult)(async()=>d.refreshTags()));return a}(),runInCleanSnapshot:(0,j.createSnapshot)(),shouldTrackFetchMetrics:n,clientComponentLoadTracker:void 0,reactServerErrorsByDigest:new Map};return b.store=o,o}},61873:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},62192:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return n},NEXT_ACTION_NOT_FOUND_HEADER:function(){return u},NEXT_ACTION_REVALIDATED_HEADER:function(){return x},NEXT_DID_POSTPONE_HEADER:function(){return q},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return w},NEXT_INSTANT_TEST_COOKIE:function(){return m},NEXT_IS_PRERENDER_HEADER:function(){return t},NEXT_REQUEST_ID_HEADER:function(){return v},NEXT_REWRITTEN_PATH_HEADER:function(){return r},NEXT_REWRITTEN_QUERY_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return p},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return o},NEXT_URL:function(){return k},RSC_CONTENT_TYPE_HEADER:function(){return l},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="next-url",l="text/x-component",m="next-instant-navigation-testing",n=[e,g,h,j,i],o="_rsc",p="x-nextjs-stale-time",q="x-nextjs-postponed",r="x-nextjs-rewritten-path",s="x-nextjs-rewritten-query",t="x-nextjs-prerender",u="x-nextjs-action-not-found",v="x-nextjs-request-id",w="x-nextjs-html-request-id",x="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62447:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(80670),e=c(20742);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw new d.DecodeError("failed to decode param")}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},62929:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},62940:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ImageResponse:function(){return f.ImageResponse},NextRequest:function(){return g.NextRequest},NextResponse:function(){return h.NextResponse},URLPattern:function(){return j.URLPattern},after:function(){return k.after},connection:function(){return l.connection},userAgent:function(){return i.userAgent},userAgentFromString:function(){return i.userAgentFromString}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42501),g=c(84573),h=c(17385),i=c(97645),j=c(34196),k=c(3144),l=c(19293)},62965:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MIN_PREFETCHABLE_STALE:function(){return g},MIN_PRERENDERABLE_EXPIRE:function(){return f},MIN_SHELL_STALE:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});c(42776);let f=300,g=30,h=300},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63891:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createLocalRequestContext:function(){return i},getBuiltinRequestContext:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(89218);function g(){let a=globalThis[h];return null==a?void 0:a.get()}let h=Symbol.for("@next/request-context");function i(){let a=(0,f.createAsyncLocalStorage)();return{get:()=>a.getStore(),run:(b,c)=>a.run(b,c)}}},64718:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getRelativeURL:function(){return f},parseRelativeURL:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){let c="string"==typeof b?new URL(b):b,d=new URL(a,b),e=d.origin===c.origin;return{url:e?d.toString().slice(c.origin.length):d.toString(),isRelative:e}}function f(a,b){return e(a,b).url}},67205:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={executeRevalidates:function(){return j},withExecuteRevalidates:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(57155);async function g(a,b){if(!a)return b();let c=h(a);try{return await b()}finally{var d,e;let b,f,g=(d=c,e=h(a),b=new Map(d.pendingRevalidatedTags.map(a=>{let b="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return[`${a.tag}:${b}`,a.revalidatedAt]})),f=new Set(d.pendingRevalidateWrites),{pendingRevalidatedTags:e.pendingRevalidatedTags.filter(a=>{let c="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"",d=b.get(`${a.tag}:${c}`);return void 0===d||a.revalidatedAt>d}),pendingRevalidates:Object.fromEntries(Object.entries(e.pendingRevalidates).filter(([a])=>!(a in d.pendingRevalidates))),pendingRevalidateWrites:e.pendingRevalidateWrites.filter(a=>!f.has(a))});await j(a,g)}}function h(a){return{pendingRevalidatedTags:a.pendingRevalidatedTags?a.pendingRevalidatedTags.map(a=>({...a})):[],pendingRevalidates:{...a.pendingRevalidates},pendingRevalidateWrites:a.pendingRevalidateWrites?[...a.pendingRevalidateWrites]:[]}}async function i(a,b,c){if(0===a.length)return;let d=(0,f.getCacheHandlers)()??[],e=[],g=new Map;for(let b of a){let a,c=b.profile;for(let[b]of g)if("string"==typeof b&&"string"==typeof c&&b===c||"object"==typeof b&&"object"==typeof c&&JSON.stringify(b)===JSON.stringify(c)||b===c){a=b;break}let d=a||c;g.has(d)||g.set(d,[]),g.get(d).push(b.tag)}for(let[a,f]of g){let g;if(a){let b;if("object"==typeof a)b=a;else if("string"==typeof a&&!(b=null==c?void 0:c.cacheLifeProfiles[a]))throw Error(`Invalid profile provided "${a}" must be configured under cacheLife in next.config or be "max"`);b&&(g={expire:b.expire})}for(let b of d)a?e.push(null==b.updateTags?void 0:b.updateTags.call(b,f,g)):e.push(null==b.updateTags?void 0:b.updateTags.call(b,f));b&&e.push(b.revalidateTag(f,g))}await Promise.all(e)}function j(a,b){let c=[],d=(null==b?void 0:b.pendingRevalidatedTags)??a.pendingRevalidatedTags??[];return d.length>0&&c.push(i(d,a.incrementalCache,a)),c.push(...Object.values((null==b?void 0:b.pendingRevalidates)??a.pendingRevalidates??{})),c.push(...(null==b?void 0:b.pendingRevalidateWrites)??a.pendingRevalidateWrites??[]),0!==c.length&&Promise.all(c).then(()=>void 0)}},67301:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},68202:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={assign:function(){return i},getRenderedSearch:function(){return e},searchParamsToUrlQuery:function(){return f},urlQueryToSearchParams:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=[];for(let c in a){let d=a[c];if(null!=d)if(Array.isArray(d))for(let a of d)b.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(a))}`);else b.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(d))}`)}return 0===b.length?"":"?"+b.join("&")}function f(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function g(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function h(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,g(a));else b.set(c,g(d));return b}function i(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},68802:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PageSignatureError:function(){return e},RemovedPageError:function(){return f},RemovedUAError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
|
|
295
|
+
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function k(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(i);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function l(a){return i((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function m(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(i);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{let d=c+1;(b.priority||0)!==d&&a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[d,b.id])})}async function n(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{var e;let k="apikey"===a.authType&&!!a.name,l=k?c.all("SELECT * FROM providerConnections WHERE provider = ? AND authType = ? AND name = ?",[a.provider,"apikey",a.name]).map(i):c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(i),m=k?c.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a.provider])?.n??l.length:l.length,n=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;n=l.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(n=l.find(b=>"apikey"===b.authType&&b.name===a.name));if(n){if(!1===a.allowOverwrite){let b=Error(`A connection named "${n.name}" already exists for provider "${a.provider}". Pass allowOverwrite: true to replace it.`);throw b.code="PROVIDER_NAME_CONFLICT",b.existingId=n.id,b.existingName=n.name,b}let d=h(n,a),e={...n,...d,updatedAt:f};j(c,e),b=e;return}let o=a.name||null;o||"oauth"!==a.authType&&"access_token"!==a.authType||(e=a.email||`Account ${m+1}`,o="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||e);let p=a.priority;if(!p){let b=c.get("SELECT MAX(priority) AS m FROM providerConnections WHERE provider = ?",[a.provider]);p=(b?.m||0)+1}let q={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:o,priority:p,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(q[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(q.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(q.email=a.email),j(c,q),b=q}),b}async function o(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=i(e),g=h(f,b),k={...f,...g,updatedAt:new Date().toISOString()};j(d,k),void 0!==b.priority&&m(d,f.provider),c=k}),c}async function p(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),m(b,d.provider),c=!0)}),c}async function q(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function r(a){let b=await (0,e.c)();b.transaction(()=>m(b,a))}async function s(a){let b=Array.isArray(a)?a:[];if(0===b.length)return{updated:0,missing:[]};let c=await (0,e.c)(),d=0,f=[],g=new Date().toISOString();return c.transaction(()=>{for(let a of b){let b=a?.id;if(!b)continue;let e=c.get("SELECT * FROM providerConnections WHERE id = ?",[b]);if(!e){f.push(b);continue}let h=i(e),k={...h,updatedAt:g};if(null===a.proxyPoolId||void 0===a.proxyPoolId){let a={...h.providerSpecificData||{}};delete a.proxyPoolId,k.providerSpecificData=a}else k.providerSpecificData={...h.providerSpecificData||{},proxyPoolId:a.proxyPoolId};j(c,k),d+=1}}),{updated:d,missing:f}}async function t(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=i(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&j(a,e)}}),c}},56872:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d={bgBlack:function(){return E},bgBlue:function(){return I},bgCyan:function(){return K},bgGreen:function(){return G},bgMagenta:function(){return J},bgRed:function(){return F},bgWhite:function(){return L},bgYellow:function(){return H},black:function(){return u},blue:function(){return y},bold:function(){return n},cyan:function(){return B},dim:function(){return o},gray:function(){return D},green:function(){return w},hidden:function(){return s},inverse:function(){return r},isColorSupported:function(){return i},italic:function(){return p},magenta:function(){return z},purple:function(){return A},red:function(){return v},reset:function(){return m},stdoutIsTerminal:function(){return j},strikethrough:function(){return t},underline:function(){return q},white:function(){return C},yellow:function(){return x}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let{env:f,stdout:g}=(null==(c=globalThis)?void 0:c.process)??{},h=f&&!f.NO_COLOR&&(f.FORCE_COLOR||(null==g?void 0:g.isTTY)&&!f.CI&&"dumb"!==f.TERM),i=!!h,j=!!(null==g?void 0:g.isTTY)||"1"===f.NEXT_PRIVATE_PROMPT_OUTPUT,k=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),g=f.indexOf(b);return~g?e+k(f,b,c,g):e+f},l=(a,b,c=a)=>h?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+k(e,b,c,f)+b:a+e+b}:String,m=h?a=>`\x1b[0m${a}\x1b[0m`:String,n=l("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),o=l("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),p=l("\x1b[3m","\x1b[23m"),q=l("\x1b[4m","\x1b[24m"),r=l("\x1b[7m","\x1b[27m"),s=l("\x1b[8m","\x1b[28m"),t=l("\x1b[9m","\x1b[29m"),u=l("\x1b[30m","\x1b[39m"),v=l("\x1b[31m","\x1b[39m"),w=l("\x1b[32m","\x1b[39m"),x=l("\x1b[33m","\x1b[39m"),y=l("\x1b[34m","\x1b[39m"),z=l("\x1b[35m","\x1b[39m"),A=l("\x1b[38;2;173;127;168m","\x1b[39m"),B=l("\x1b[36m","\x1b[39m"),C=l("\x1b[37m","\x1b[39m"),D=l("\x1b[90m","\x1b[39m"),E=l("\x1b[40m","\x1b[49m"),F=l("\x1b[41m","\x1b[49m"),G=l("\x1b[42m","\x1b[49m"),H=l("\x1b[43m","\x1b[49m"),I=l("\x1b[44m","\x1b[49m"),J=l("\x1b[45m","\x1b[49m"),K=l("\x1b[46m","\x1b[49m"),L=l("\x1b[47m","\x1b[49m")},57155:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getCacheHandler:function(){return r},getCacheHandlerEntries:function(){return y},getCacheHandlers:function(){return x},getDevTieredCacheHandler:function(){return w},getPrivateCacheHandler:function(){return s},initializeCacheHandlers:function(){return p},isBuiltInCacheHandler:function(){return v},isCustomCacheHandler:function(){return u},isMemoryCacheDisabled:function(){return t},registerCustomCacheHandlers:function(){return q},setCacheHandler:function(){return z}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(32457);c(7597);let g=process.env.NEXT_PRIVATE_DEBUG_CACHE?(a,...b)=>{console.log(`use-cache: ${a}`,...b)}:void 0,h=Symbol.for("@next/cache-handlers"),i=Symbol.for("@next/cache-handlers-map"),j=Symbol.for("@next/cache-handlers-set"),k=Symbol.for("@next/custom-cache-handlers-registration"),l=Symbol.for("@next/cache-handlers-private"),m=Symbol.for("@next/cache-handlers-built-in");Symbol.for("@next/cache-handlers-dev-fronts"),Symbol.for("@next/cache-handlers-dev-tiered");let n=Symbol.for("@next/cache-handlers-memory-disabled"),o=globalThis;function p(a){if(o[i]){null==g||g("cache handlers already initialized");return}null==g||g("initializing cache handlers");let b=new Map;o[i]=b;let c=new Set;if(o[m]=c,o[h]){let d;o[h].DefaultCache?(null==g||g('setting "default" cache handler from symbol'),d=o[h].DefaultCache):(null==g||g('setting "default" cache handler from default'),d=(0,f.createDefaultCacheHandler)(a),c.add(d)),b.set("default",d),o[h].RemoteCache?(null==g||g('setting "remote" cache handler from symbol'),b.set("remote",o[h].RemoteCache)):(null==g||g('setting "remote" cache handler from default'),b.set("remote",d))}else{let d=(0,f.createDefaultCacheHandler)(a);c.add(d),null==g||g('setting "default" cache handler from default'),b.set("default",d),null==g||g('setting "remote" cache handler from default'),b.set("remote",d)}o[j]=new Set(b.values())}function q(a){let b=o[k];return b||(b=a(),o[k]=b),b}function r(a){if(!o[i])throw Error("Cache handlers not initialized");return o[i].get(a)}function s(){if(!o[i])throw Error("Cache handlers not initialized");return o[l]}function t(){return o[n]??!1}function u(a){return!1}function v(a){var b,c;let d=null==(b=o[i])?void 0:b.get(a);return void 0!==d&&!!(null==(c=o[m])?void 0:c.has(d))}function w(a){}function x(){let a=o[j];if(a)return Array.from(a)}function y(){let a=o[i];if(a)return a.entries()}function z(a,b){if(!o[i]||!o[j])throw Error("Cache handlers not initialized");null==g||g('setting cache handler for "%s"',a),o[i].set(a,b),o[j].add(b)}},57202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={handleFetch:function(){return j},interceptFetch:function(){return k},reader:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g={url:a=>a.url,header:(a,b)=>a.headers.get(b)};async function h(a,b){let{url:c,method:d,headers:e,body:f,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}=b;return{testData:a,api:"fetch",request:{url:c,method:d,headers:[...Array.from(e),["next-test-stack",function(){let a=(Error().stack??"").split("\n");for(let b=1;b<a.length;b++)if(a[b].length>0){a=a.slice(b);break}return(a=(a=(a=a.filter(a=>!a.includes("/next/dist/"))).slice(0,5)).map(a=>a.replace("webpack-internal:///(rsc)/","").trim())).join(" ")}()]],body:f?Buffer.from(await b.arrayBuffer()).toString("base64"):null,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}}}function i(a,b){return b.headers.set("next-test-internal","1"),a(b)}async function j(a,b){let c=(0,f.getTestReqInfo)(b,g);if(!c)return i(a,b);let{testData:d,proxyPort:e}=c,j=await h(d,b),k=await a(`http://localhost:${e}`,{method:"POST",body:JSON.stringify(j),headers:{"next-test-internal":"1"},next:{internal:!0}});if(!k.ok)throw Error(`Proxy request failed: ${k.status}`);let l=await k.json(),{api:m}=l;switch(m){case"continue":return i(a,b);case"abort":case"unhandled":throw Error(`Proxy request aborted [${b.method} ${b.url}]`);case"fetch":return function(a){let{status:b,headers:c,body:d}=a.response;return new Response(d?Buffer.from(d,"base64"):null,{status:b,headers:new Headers(c)})}(l);default:return m}}function k(a){return global.fetch=function(b,c){var d;return(null==c||null==(d=c.next)?void 0:d.internal)?a(b,c):j(a,new Request(b,c))},()=>{global.fetch=a}}},58051:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getComponentTypeModule:function(){return h},getLayoutOrPageModule:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(53610);async function g(a){let b,c,d,{layout:e,page:g,defaultPage:h}=a[2],i=void 0!==e,j=void 0!==g,k=void 0!==h&&a[0]===f.DEFAULT_SEGMENT_KEY;return i?(b=await e[0](),c="layout",d=e[1]):j?(b=await g[0](),c="page",d=g[1]):k&&(b=await h[0](),c="page",d=h[1]),{mod:b,modType:c,filePath:d}}async function h(a,b){let{[b]:c}=a[2];if(void 0!==c)return await c[0]()}},58486:(a,b)=>{"use strict";function c(a){switch(a){case"catchall-intercepted-(..)(..)":case"dynamic-intercepted-(..)(..)":return"(..)(..)";case"catchall-intercepted-(.)":case"dynamic-intercepted-(.)":return"(.)";case"catchall-intercepted-(..)":case"dynamic-intercepted-(..)":return"(..)";case"catchall-intercepted-(...)":case"dynamic-intercepted-(...)":return"(...)";default:return null}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interceptionPrefixFromParamType",{enumerable:!0,get:function(){return c}})},58930:a=>{(()=>{"use strict";let b,c,d,e,f;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(108),e=c(221),f=c(44),g="context",h=new d.NoopContextManager;class i{static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},44:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(757),e=c(412),f=c(711),g=c(221);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}let b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},262:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(586),e=c(221),f=c(44),g="metrics";class h{static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},25:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(221),e=c(19),f=c(92),g=c(398),h=c(504),i=c(44),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},397:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(221),e=c(498),f=c(477),g=c(793),h=c(44),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},398:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(912),e=(0,c(23).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},152:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},647:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},504:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(44),e=c(152),f=c(647),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},778:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(912).ContextAPI.getInstance()},108:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(23);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},23:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){let b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},304:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(44).DiagAPI.instance()},757:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(221);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},83:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},412:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(711);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},711:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,(c=b.DiagLogLevel||(b.DiagLogLevel={}))[c.NONE=0]="NONE",c[c.ERROR=30]="ERROR",c[c.WARN=50]="WARN",c[c.INFO=60]="INFO",c[c.DEBUG=70]="DEBUG",c[c.VERBOSE=80]="VERBOSE",c[c.ALL=9999]="ALL"},221:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(678),e=c(652),f=c(662),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},662:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(652),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},120:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(262).MetricsAPI.getInstance()},532:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,(c=b.ValueType||(b.ValueType={}))[c.INT=0]="INT",c[c.DOUBLE=1]="DOUBLE"},440:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},586:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(440);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},678:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(59),b)},460:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},59:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(460),b)},27:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(25).PropagationAPI.getInstance()},19:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},92:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},816:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(397).TraceAPI.getInstance()},374:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(546);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},637:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(912),e=c(793),f=c(374),g=c(477),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},76:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(637);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},779:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(637)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},498:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(779),e=new(c(76)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},312:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,(c=b.SamplingDecision||(b.SamplingDecision={}))[c.NOT_RECORD=0]="NOT_RECORD",c[c.RECORD=1]="RECORD",c[c.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"},793:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(23),e=c(374),f=c(912),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},285:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(240);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},240:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},87:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(285);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},546:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(731);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},613:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,(c=b.SpanKind||(b.SpanKind={}))[c.INTERNAL=0]="INTERNAL",c[c.SERVER=1]="SERVER",c[c.CLIENT=2]="CLIENT",c[c.PRODUCER=3]="PRODUCER",c[c.CONSUMER=4]="CONSUMER"},477:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(546),e=c(374),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},854:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,(c=b.SpanStatusCode||(b.SpanStatusCode={}))[c.UNSET=0]="UNSET",c[c.OK=1]="OK",c[c.ERROR=2]="ERROR"},731:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,(c=b.TraceFlags||(b.TraceFlags={}))[c.NONE=0]="NONE",c[c.SAMPLED=1]="SAMPLED"},652:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},x={};function y(a){var b=x[a];if(void 0!==b)return b.exports;var c=x[a]={exports:{}},d=!0;try{w[a].call(c.exports,c,c.exports,y),d=!1}finally{d&&delete x[a]}return c.exports}y.ab=__dirname+"/";var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.trace=z.propagation=z.metrics=z.diag=z.context=z.INVALID_SPAN_CONTEXT=z.INVALID_TRACEID=z.INVALID_SPANID=z.isValidSpanId=z.isValidTraceId=z.isSpanContextValid=z.createTraceState=z.TraceFlags=z.SpanStatusCode=z.SpanKind=z.SamplingDecision=z.ProxyTracerProvider=z.ProxyTracer=z.defaultTextMapSetter=z.defaultTextMapGetter=z.ValueType=z.createNoopMeter=z.DiagLogLevel=z.DiagConsoleLogger=z.ROOT_CONTEXT=z.createContextKey=z.baggageEntryMetadataFromString=void 0,g=y(504),Object.defineProperty(z,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return g.baggageEntryMetadataFromString}}),h=y(23),Object.defineProperty(z,"createContextKey",{enumerable:!0,get:function(){return h.createContextKey}}),Object.defineProperty(z,"ROOT_CONTEXT",{enumerable:!0,get:function(){return h.ROOT_CONTEXT}}),i=y(83),Object.defineProperty(z,"DiagConsoleLogger",{enumerable:!0,get:function(){return i.DiagConsoleLogger}}),j=y(711),Object.defineProperty(z,"DiagLogLevel",{enumerable:!0,get:function(){return j.DiagLogLevel}}),k=y(440),Object.defineProperty(z,"createNoopMeter",{enumerable:!0,get:function(){return k.createNoopMeter}}),l=y(532),Object.defineProperty(z,"ValueType",{enumerable:!0,get:function(){return l.ValueType}}),m=y(92),Object.defineProperty(z,"defaultTextMapGetter",{enumerable:!0,get:function(){return m.defaultTextMapGetter}}),Object.defineProperty(z,"defaultTextMapSetter",{enumerable:!0,get:function(){return m.defaultTextMapSetter}}),n=y(779),Object.defineProperty(z,"ProxyTracer",{enumerable:!0,get:function(){return n.ProxyTracer}}),o=y(498),Object.defineProperty(z,"ProxyTracerProvider",{enumerable:!0,get:function(){return o.ProxyTracerProvider}}),p=y(312),Object.defineProperty(z,"SamplingDecision",{enumerable:!0,get:function(){return p.SamplingDecision}}),q=y(613),Object.defineProperty(z,"SpanKind",{enumerable:!0,get:function(){return q.SpanKind}}),r=y(854),Object.defineProperty(z,"SpanStatusCode",{enumerable:!0,get:function(){return r.SpanStatusCode}}),s=y(731),Object.defineProperty(z,"TraceFlags",{enumerable:!0,get:function(){return s.TraceFlags}}),t=y(87),Object.defineProperty(z,"createTraceState",{enumerable:!0,get:function(){return t.createTraceState}}),u=y(477),Object.defineProperty(z,"isSpanContextValid",{enumerable:!0,get:function(){return u.isSpanContextValid}}),Object.defineProperty(z,"isValidTraceId",{enumerable:!0,get:function(){return u.isValidTraceId}}),Object.defineProperty(z,"isValidSpanId",{enumerable:!0,get:function(){return u.isValidSpanId}}),v=y(546),Object.defineProperty(z,"INVALID_SPANID",{enumerable:!0,get:function(){return v.INVALID_SPANID}}),Object.defineProperty(z,"INVALID_TRACEID",{enumerable:!0,get:function(){return v.INVALID_TRACEID}}),Object.defineProperty(z,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return v.INVALID_SPAN_CONTEXT}}),b=y(778),Object.defineProperty(z,"context",{enumerable:!0,get:function(){return b.context}}),c=y(304),Object.defineProperty(z,"diag",{enumerable:!0,get:function(){return c.diag}}),d=y(120),Object.defineProperty(z,"metrics",{enumerable:!0,get:function(){return d.metrics}}),e=y(27),Object.defineProperty(z,"propagation",{enumerable:!0,get:function(){return e.propagation}}),f=y(816),Object.defineProperty(z,"trace",{enumerable:!0,get:function(){return f.trace}}),z.default={context:b.context,diag:c.diag,metrics:d.metrics,propagation:e.propagation,trace:f.trace},a.exports=z})()},59339:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);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(698).then(c.bind(c,90698));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(507).then(c.bind(c,90507));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(7965).then(c.bind(c,80346));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(4780).then(c.bind(c,34780));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(4055).then(c.bind(c,4055));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)}},61544:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={NEXT_REQUEST_META:function(){return e},addRequestMeta:function(){return h},getRequestMeta:function(){return f},removeRequestMeta:function(){return i},setRequestMeta:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Symbol.for("NextInternalRequestMeta");function f(a,b){let c=a[e]||{};return"string"==typeof b?c[b]:c}function g(a,b){return a[e]=b,b}function h(a,b,c){let d=f(a);return d[b]=c,g(a,d)}function i(a,b){let c=f(a);return delete c[b],g(a,c)}},61595:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createPrerenderWorkStore:function(){return l},createWorkStore:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85292),g=c(92539),h=c(31147),i=c(57155),j=c(89218);function k(a){return m(a,!1)}function l(a){return m(a,!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS)}function m({page:a,renderOpts:b,isPrefetchRequest:c,buildId:d,deploymentId:e,previouslyRevalidatedTags:k,nonce:l},n){let o={page:a,route:(0,g.normalizeAppPath)(a),incrementalCache:b.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:b.cacheLifeProfiles,useCacheTimeout:b.experimental.useCacheTimeout,durableUseCacheEntries:b.experimental.durableUseCacheEntries,staticPageGenerationTimeout:b.staticPageGenerationTimeout,isBuildTimePrerendering:b.isBuildTimePrerendering,fetchCache:b.fetchCache,isOnDemandRevalidate:b.isOnDemandRevalidate,requestId:void 0,htmlRequestId:void 0,isDraftMode:b.isDraftMode,isPrefetchRequest:c,buildId:d,deploymentId:e,reactLoadableManifest:(null==b?void 0:b.reactLoadableManifest)||{},assetPrefix:(null==b?void 0:b.assetPrefix)||"",nonce:l,afterContext:function(a){let{waitUntil:b,onClose:c,onAfterTaskError:d}=a;return new f.AfterContext({waitUntil:b,onClose:c,onTaskError:d})}(b),cacheComponentsEnabled:b.cacheComponents,validationLevel:b.validationLevel,previouslyRevalidatedTags:k,requestStartTime:performance.timeOrigin+performance.now(),refreshTagsByCacheKind:function(){let a=new Map,b=(0,i.getCacheHandlerEntries)();if(b)for(let[c,d]of b)"refreshTags"in d&&a.set(c,(0,h.createLazyResult)(async()=>d.refreshTags()));return a}(),runInCleanSnapshot:(0,j.createSnapshot)(),shouldTrackFetchMetrics:n,clientComponentLoadTracker:void 0,reactServerErrorsByDigest:new Map};return b.store=o,o}},61873:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},62192:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return n},NEXT_ACTION_NOT_FOUND_HEADER:function(){return u},NEXT_ACTION_REVALIDATED_HEADER:function(){return x},NEXT_DID_POSTPONE_HEADER:function(){return q},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return w},NEXT_INSTANT_TEST_COOKIE:function(){return m},NEXT_IS_PRERENDER_HEADER:function(){return t},NEXT_REQUEST_ID_HEADER:function(){return v},NEXT_REWRITTEN_PATH_HEADER:function(){return r},NEXT_REWRITTEN_QUERY_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return p},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return o},NEXT_URL:function(){return k},RSC_CONTENT_TYPE_HEADER:function(){return l},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="next-url",l="text/x-component",m="next-instant-navigation-testing",n=[e,g,h,j,i],o="_rsc",p="x-nextjs-stale-time",q="x-nextjs-postponed",r="x-nextjs-rewritten-path",s="x-nextjs-rewritten-query",t="x-nextjs-prerender",u="x-nextjs-action-not-found",v="x-nextjs-request-id",w="x-nextjs-html-request-id",x="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62447:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(80670),e=c(20742);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw new d.DecodeError("failed to decode param")}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},62929:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},62940:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ImageResponse:function(){return f.ImageResponse},NextRequest:function(){return g.NextRequest},NextResponse:function(){return h.NextResponse},URLPattern:function(){return j.URLPattern},after:function(){return k.after},connection:function(){return l.connection},userAgent:function(){return i.userAgent},userAgentFromString:function(){return i.userAgentFromString}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42501),g=c(84573),h=c(17385),i=c(97645),j=c(34196),k=c(3144),l=c(19293)},62965:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MIN_PREFETCHABLE_STALE:function(){return g},MIN_PRERENDERABLE_EXPIRE:function(){return f},MIN_SHELL_STALE:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});c(42776);let f=300,g=30,h=300},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63891:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createLocalRequestContext:function(){return i},getBuiltinRequestContext:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(89218);function g(){let a=globalThis[h];return null==a?void 0:a.get()}let h=Symbol.for("@next/request-context");function i(){let a=(0,f.createAsyncLocalStorage)();return{get:()=>a.getStore(),run:(b,c)=>a.run(b,c)}}},64718:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getRelativeURL:function(){return f},parseRelativeURL:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){let c="string"==typeof b?new URL(b):b,d=new URL(a,b),e=d.origin===c.origin;return{url:e?d.toString().slice(c.origin.length):d.toString(),isRelative:e}}function f(a,b){return e(a,b).url}},67205:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={executeRevalidates:function(){return j},withExecuteRevalidates:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(57155);async function g(a,b){if(!a)return b();let c=h(a);try{return await b()}finally{var d,e;let b,f,g=(d=c,e=h(a),b=new Map(d.pendingRevalidatedTags.map(a=>{let b="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return[`${a.tag}:${b}`,a.revalidatedAt]})),f=new Set(d.pendingRevalidateWrites),{pendingRevalidatedTags:e.pendingRevalidatedTags.filter(a=>{let c="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"",d=b.get(`${a.tag}:${c}`);return void 0===d||a.revalidatedAt>d}),pendingRevalidates:Object.fromEntries(Object.entries(e.pendingRevalidates).filter(([a])=>!(a in d.pendingRevalidates))),pendingRevalidateWrites:e.pendingRevalidateWrites.filter(a=>!f.has(a))});await j(a,g)}}function h(a){return{pendingRevalidatedTags:a.pendingRevalidatedTags?a.pendingRevalidatedTags.map(a=>({...a})):[],pendingRevalidates:{...a.pendingRevalidates},pendingRevalidateWrites:a.pendingRevalidateWrites?[...a.pendingRevalidateWrites]:[]}}async function i(a,b,c){if(0===a.length)return;let d=(0,f.getCacheHandlers)()??[],e=[],g=new Map;for(let b of a){let a,c=b.profile;for(let[b]of g)if("string"==typeof b&&"string"==typeof c&&b===c||"object"==typeof b&&"object"==typeof c&&JSON.stringify(b)===JSON.stringify(c)||b===c){a=b;break}let d=a||c;g.has(d)||g.set(d,[]),g.get(d).push(b.tag)}for(let[a,f]of g){let g;if(a){let b;if("object"==typeof a)b=a;else if("string"==typeof a&&!(b=null==c?void 0:c.cacheLifeProfiles[a]))throw Error(`Invalid profile provided "${a}" must be configured under cacheLife in next.config or be "max"`);b&&(g={expire:b.expire})}for(let b of d)a?e.push(null==b.updateTags?void 0:b.updateTags.call(b,f,g)):e.push(null==b.updateTags?void 0:b.updateTags.call(b,f));b&&e.push(b.revalidateTag(f,g))}await Promise.all(e)}function j(a,b){let c=[],d=(null==b?void 0:b.pendingRevalidatedTags)??a.pendingRevalidatedTags??[];return d.length>0&&c.push(i(d,a.incrementalCache,a)),c.push(...Object.values((null==b?void 0:b.pendingRevalidates)??a.pendingRevalidates??{})),c.push(...(null==b?void 0:b.pendingRevalidateWrites)??a.pendingRevalidateWrites??[]),0!==c.length&&Promise.all(c).then(()=>void 0)}},67301:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},68047:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseRelativeUrl",{enumerable:!0,get:function(){return e}}),c(80670);let d=c(68202);function e(a,b,c=!0){let f=new URL("http://n"),g=b?new URL(b,f):a.startsWith(".")?new URL("http://n"):f,{pathname:h,searchParams:i,search:j,hash:k,href:l,origin:m}=a.startsWith("/")?new URL(`${g.protocol}//${g.host}${a}`):new URL(a,g);if(m!==f.origin)throw Error(`invariant: invalid relative URL, router received ${a}`);return{auth:null,host:null,hostname:null,pathname:h,port:null,protocol:null,query:c?(0,d.searchParamsToUrlQuery)(i):void 0,search:j,hash:k,href:l.slice(m.length),slashes:null}}},68202:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={assign:function(){return i},getRenderedSearch:function(){return e},searchParamsToUrlQuery:function(){return f},urlQueryToSearchParams:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=[];for(let c in a){let d=a[c];if(null!=d)if(Array.isArray(d))for(let a of d)b.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(a))}`);else b.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(d))}`)}return 0===b.length?"":"?"+b.join("&")}function f(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function g(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function h(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,g(a));else b.set(c,g(d));return b}function i(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},68802:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PageSignatureError:function(){return e},RemovedPageError:function(){return f},RemovedUAError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
|
|
296
296
|
|
|
297
297
|
export function middleware(request, event) {
|
|
298
298
|
return NextResponse.redirect('/new-location')
|
|
@@ -327,7 +327,7 @@ Ways to fix this:
|
|
|
327
327
|
- [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
|
|
328
328
|
- [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
|
|
329
329
|
|
|
330
|
-
Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`)}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(3295),l=c(28704);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.isRequestClosed=!1,this.initialOnCloseError=null,this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause();try{b(()=>{for(let a of(this.isRequestClosed=!0,this.workUnitStores))a.phase="after"})}catch(a){this.initialOnCloseError={error:a}}}after(a,b){if(this.initialOnCloseError)throw new f.InvariantError("An onClose call failed, which means after() can't work correctly.",{cause:this.initialOnCloseError.error});if(this.workUnitStores.add(b),(0,g.isThenable)(a))this.addThenable(a);else if("function"==typeof a)this.addCallback(a,b);else throw Error("`after()`: Argument must be a promise or a function")}addThenable(a){this.waitUntil||n(),this.waitUntil(new Promise(b=>{a.then(()=>{b()},a=>{b(),this.reportTaskError("promise",a)})}))}addCallback(a,b){this.waitUntil||n();let c=k.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await k.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return this.isRequestClosed?await new Promise(a=>(0,l.scheduleImmediate)(a)):await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;let a=h.workAsyncStorage.getStore();if(!a)throw new f.InvariantError("Missing workStore in AfterContext.runCallbacks");return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}))}}}function n(){throw Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment.")}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},quotaVisibility:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},capacityAdapter:{vision:{enabled:!0,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!0,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},requireLogin:!0,requireApiKey:!0,tunnelDashboardAccess:!0,authMode:"password",ssoType:"oidc",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",samlEntryPoint:"",samlIssuer:"urn:9router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,activeSkills:[],skillRoutingModes:{},headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,headroomTimeoutMs:3e3,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,godmodeMode:"off",godmodeTechnique:"classic",godmodeObfuscation:"leetspeak",godmodeEscalate:!1,godmodeRaceModels:[],godmodeRaceSize:4,providerOverrides:{}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);if(b.capacityAdapter&&"object"==typeof b.capacityAdapter)for(let a of Object.keys(b.capacityAdapter)){let c=b.capacityAdapter[a];Array.isArray(c?.models)&&(c.models=c.models.map(a=>"oc/mimo-v2.5-free"===a?"oc/mimo-v2.6-flash-free":a))}return b}async function i(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`);c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Error("Catch-all must be the last part of the URL.");let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`);if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Error(`Segment names may not start or end with extra brackets ('${e}').`);if(e.startsWith("."))throw Error(`Segment names may not start with erroneous periods ('${e}').`);function f(a,c){if(null!==a&&a!==c)throw Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`);b.forEach(a=>{if(a===c)throw Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`);if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`)}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`);f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`);f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Error(`Optional route parameters are not yet supported ("${a[0]}").`);f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s={AppRenderSpan:function(){return B},AppRouteRouteHandlersSpan:function(){return F},AppRouteRouteModuleSpan:function(){return G},BaseServerSpan:function(){return u},DevBundlerServiceSpan:function(){return C},InstrumentationSpan:function(){return w},LoadComponentsSpan:function(){return v},LogSpanAllowList:function(){return L},MiddlewareSpan:function(){return J},NextNodeServerSpan:function(){return y},NextServerSpan:function(){return x},NextVanillaSpanAllowlist:function(){return K},NodeSpan:function(){return E},RenderSpan:function(){return A},ResolveMetadataSpan:function(){return I},RouteModuleSpan:function(){return H},RouterSpan:function(){return D},StartServerSpan:function(){return z}};for(var t in s)Object.defineProperty(b,t,{enumerable:!0,get:s[t]});var u=((c=u||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),v=((d=v||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d.loadRouteModule="LoadComponents.loadRouteModule",d),w=((e=w||{}).loadModule="Instrumentation.loadModule",e.register="Instrumentation.register",e),x=((f=x||{}).getRequestHandler="NextServer.getRequestHandler",f.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",f.getServer="NextServer.getServer",f.getServerRequestHandler="NextServer.getServerRequestHandler",f.createServer="createServer.createServer",f),y=((g=y||{}).compression="NextNodeServer.compression",g.getBuildId="NextNodeServer.getBuildId",g.createComponentTree="NextNodeServer.createComponentTree",g.clientComponentLoading="NextNodeServer.clientComponentLoading",g.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",g.generateStaticRoutes="NextNodeServer.generateStaticRoutes",g.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",g.generatePublicRoutes="NextNodeServer.generatePublicRoutes",g.generateImageRoutes="NextNodeServer.generateImageRoutes.route",g.sendRenderResult="NextNodeServer.sendRenderResult",g.proxyRequest="NextNodeServer.proxyRequest",g.runApi="NextNodeServer.runApi",g.render="NextNodeServer.render",g.renderHTML="NextNodeServer.renderHTML",g.imageOptimizer="NextNodeServer.imageOptimizer",g.getPagePath="NextNodeServer.getPagePath",g.getRoutesManifest="NextNodeServer.getRoutesManifest",g.findPageComponents="NextNodeServer.findPageComponents",g.getFontManifest="NextNodeServer.getFontManifest",g.getServerComponentManifest="NextNodeServer.getServerComponentManifest",g.getRequestHandler="NextNodeServer.getRequestHandler",g.renderToHTML="NextNodeServer.renderToHTML",g.renderError="NextNodeServer.renderError",g.renderErrorToHTML="NextNodeServer.renderErrorToHTML",g.render404="NextNodeServer.render404",g.startResponse="NextNodeServer.startResponse",g.route="route",g.onProxyReq="onProxyReq",g.apiResolver="apiResolver",g.internalFetch="internalFetch",g),z=((h=z||{}).startServer="startServer.startServer",h),A=((i=A||{}).getServerSideProps="Render.getServerSideProps",i.getStaticProps="Render.getStaticProps",i.renderToString="Render.renderToString",i.renderDocument="Render.renderDocument",i.createBodyResult="Render.createBodyResult",i),B=((j=B||{}).renderToString="AppRender.renderToString",j.renderToReadableStream="AppRender.renderToReadableStream",j.getBodyResult="AppRender.getBodyResult",j.fetch="AppRender.fetch",j.waitShellReady="AppRender.waitShellReady",j.renderToNodeFizzStream="AppRender.renderToNodeFizzStream",j.instantInsights="AppRender.instantInsights",j.instantInsightsPrepareValidation="AppRender.instantInsights.prepareValidation",j.instantInsightsRunValidation="AppRender.instantInsights.runValidation",j),C=((k=C||{}).ensurePage="DevBundlerService.ensurePage",k),D=((l=D||{}).executeRoute="Router.executeRoute",l),E=((m=E||{}).runHandler="Node.runHandler",m),F=((n=F||{}).runHandler="AppRouteRouteHandlers.runHandler",n),G=((o=G||{}).loadUserland="AppRouteRouteModule.loadUserland",o),H=((p=H||{}).prepare="RouteModule.prepare",p.loadManifests="RouteModule.loadManifests",p),I=((q=I||{}).generateMetadata="ResolveMetadata.generateMetadata",q.generateViewport="ResolveMetadata.generateViewport",q),J=((r=J||{}).execute="Middleware.execute",r);let K=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","LoadComponents.loadRouteModule","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","AppRouteRouteModule.loadUserland","RouteModule.prepare","Instrumentation.loadModule","Instrumentation.register","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),L=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return l}});let e=c(33803),f=c(72394),g=(d=c(40694))&&d.__esModule?d:{default:d},h=c(96100),i=c(36820),j=c(90925),k=c(94143);class l{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;static #c=this.seedReads=new Map;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?l.memoryCache?l.debug&&console.log("FileSystemCache: memory store already initialized"):(l.debug&&console.log("FileSystemCache: using memory store for fetch cache"),l.memoryCache=(0,k.getMemoryCache)(a.maxMemoryCacheSize)):l.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}getSeedReadState(a){return l.seedReads.get(`${this.serverDistDir}:${a}`)}beginSeedRead(a){let b=`${this.serverDistDir}:${a}`,c=l.seedReads.get(b);return c||(c={readers:0,version:0},l.seedReads.set(b,c)),c.readers++,{stateKey:b,state:c,version:c.version}}finishSeedRead(a,b){b.readers--,0!==b.readers||b.promotion||l.seedReads.delete(a)}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,l.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=i.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),i.tagsManifest.set(d,e)}else i.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,g,j,k,m,n,o,p,q,r,s,t;let u,[v,w]=a,{kind:x}=w,y=v,z=null==(b=l.memoryCache)?void 0:b.get(v),A=null==(c=this.getSeedReadState(v))?void 0:c.promotion;!z&&A&&(await A,z=null==(m=l.memoryCache)?void 0:m.get(v)),l.debug&&(x===f.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",v,w.tags,x,!!z):console.log("FileSystemCache: get",v,x,!!z));let B=x===f.IncrementalCacheKind.PAGES||x===f.IncrementalCacheKind.APP_PAGE||x===f.IncrementalCacheKind.APP_ROUTE;if(!z&&B&&v.startsWith(`/${e.ROUTE_CACHE_DIRECTORY}/`)&&1){let a=this.getFilePath(x===f.IncrementalCacheKind.APP_ROUTE?`${v}.body`:`${v}.html`,x);if(!this.fs.existsSync(a)){let a=v.indexOf("/$/");if(-1!==a){let b=v.slice(a+2),c=this.getFilePath(`${b}${h.NEXT_META_SUFFIX}`,x);try{let a=JSON.parse(this.fs.readFileSync(c,"utf8")),d=v.indexOf("/$/"),g=a.routeCache?(0,e.getRouteCacheKey)("/",a.routeCache.owner):void 0;(null==(n=a.routeCache)?void 0:n.key)===v&&(a.routeCache.isFallback===!!w.isFallback||x===f.IncrementalCacheKind.APP_PAGE&&w.isRoutePPREnabled&&null!=a.postponed)&&(null==g?void 0:g.slice(0,g.indexOf("/$/")))===v.slice(0,d)&&(y=b,u=this.beginSeedRead(v))}catch{}}}}if(!z)try{if(x===f.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${y}.body`,f.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,h.NEXT_META_SUFFIX),"utf8"));z={lastModified:d.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status},cacheControl:d.cacheControl}}else{let a=this.getFilePath(x===f.IncrementalCacheKind.FETCH?y:`${y}.html`,x),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(x===f.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:e}=w;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(z={lastModified:g,value:h},(null==(o=z.value)?void 0:o.kind)===f.CachedRouteKind.FETCH){let b=null==(p=z.value)?void 0:p.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(l.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(v,z.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:e}))}}else if(x===f.IncrementalCacheKind.APP_PAGE){let d,e,g=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,h.NEXT_META_SUFFIX),"utf8"));if(null==g?void 0:g.segmentPaths){let a=new Map;d=a;let b=y+h.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(g.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+h.RSC_SEGMENT_SUFFIX,f.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}w.isFallback||w.isRoutePPREnabled&&(null==g?void 0:g.postponed)!=null||(e=await this.fs.readFile(this.getFilePath(`${y}${h.RSC_SUFFIX}`,f.IncrementalCacheKind.APP_PAGE))),z={lastModified:g.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.APP_PAGE,html:b,rscData:e,postponed:null==g?void 0:g.postponed,headers:null==g?void 0:g.headers,status:null==g?void 0:g.status,segmentData:d},cacheControl:null==g?void 0:g.cacheControl}}else if(x===f.IncrementalCacheKind.PAGES){let d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,h.NEXT_META_SUFFIX),"utf8")),e={};w.isFallback||(e=JSON.parse(await this.fs.readFile(this.getFilePath(`${y}${h.NEXT_DATA_SUFFIX}`,f.IncrementalCacheKind.PAGES),"utf8"))),z={lastModified:d.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.PAGES,html:b,pageData:e,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status}}}else throw Error(`Invariant: Unexpected route kind ${x} in file system cache.`)}z&&!u&&(null==(q=l.memoryCache)||q.set(v,z))}catch{return u&&this.finishSeedRead(u.stateKey,u.state),null}if((null==z||null==(d=z.value)?void 0:d.kind)===f.CachedRouteKind.APP_PAGE||(null==z||null==(g=z.value)?void 0:g.kind)===f.CachedRouteKind.APP_ROUTE||(null==z||null==(j=z.value)?void 0:j.kind)===f.CachedRouteKind.PAGES){let a=null==(r=z.value.headers)?void 0:r[h.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,i.areTagsExpired)(b,z.lastModified))return l.debug&&console.log("FileSystemCache: expired tags",b),u&&this.finishSeedRead(u.stateKey,u.state),null}}else if((null==z||null==(k=z.value)?void 0:k.kind)===f.CachedRouteKind.FETCH){let a=w.kind===f.IncrementalCacheKind.FETCH?[...w.tags||[],...w.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return l.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,i.areTagsExpired)(a,z.lastModified))return l.debug&&console.log("FileSystemCache: expired tags",a),null}if(u&&z){let{stateKey:a,state:b,version:c}=u;try{b.version===c&&(await this.promoteSeed(v,y,z,w,a,b,c),b.version!==c||(null==(s=l.memoryCache)?void 0:s.get(v))||null==(t=l.memoryCache)||t.set(v,z))}finally{this.finishSeedRead(a,b)}}return z??null}async promoteSeed(a,b,c,d,e,i,k){let m=this.fs.writeFileAtomic;if(!this.flushToDisk||!m||!c.value)return;if(i.promotion)return void await i.promotion;let n=(async()=>{let e=c.value;if(!e||i.version!==k||e.kind!==f.CachedRouteKind.PAGES&&e.kind!==f.CachedRouteKind.APP_PAGE&&e.kind!==f.CachedRouteKind.APP_ROUTE)return;let l=d.kind,n=this.getFilePath(e.kind===f.CachedRouteKind.APP_ROUTE?`${a}.body`:`${a}.html`,l);if(this.fs.existsSync(n))return;let o=this.getFilePath(e.kind===f.CachedRouteKind.APP_ROUTE?`${b}.body`:`${b}.html`,l),p=o.replace(e.kind===f.CachedRouteKind.APP_ROUTE?/\.body$/:/\.html$/,h.NEXT_META_SUFFIX),q=JSON.parse(await this.fs.readFile(p,"utf8"));q.routeCacheLastModified=c.lastModified;let r=[];e.kind!==f.CachedRouteKind.PAGES||d.isFallback?e.kind===f.CachedRouteKind.APP_PAGE&&(d.isFallback||d.isRoutePPREnabled&&null!=q.postponed||r.push({path:this.getFilePath(`${a}${h.RSC_SUFFIX}`,l),data:await this.fs.readFile(this.getFilePath(`${b}${h.RSC_SUFFIX}`,l))}),r.push(...await Promise.all((q.segmentPaths??[]).map(async c=>({path:this.getFilePath(a+h.RSC_SEGMENTS_DIR_SUFFIX+c+h.RSC_SEGMENT_SUFFIX,l),data:await this.fs.readFile(this.getFilePath(b+h.RSC_SEGMENTS_DIR_SUFFIX+c+h.RSC_SEGMENT_SUFFIX,l))}))))):r.push({path:this.getFilePath(`${a}${h.NEXT_DATA_SUFFIX}`,l),data:await this.fs.readFile(this.getFilePath(`${b}${h.NEXT_DATA_SUFFIX}`,l))});let s=new j.MultiFileWriter(this.fs);for(let a of r)s.append(a.path,a.data);if(await s.wait(),i.version!==k)return;let t=n.replace(e.kind===f.CachedRouteKind.APP_ROUTE?/\.body$/:/\.html$/,h.NEXT_META_SUFFIX);await this.fs.mkdir(g.default.dirname(t)),await this.fs.writeFile(t,JSON.stringify(q)),i.version!==k||this.fs.existsSync(n)||await m.call(this.fs,n,await this.fs.readFile(o))})();i.promotion=n.catch(a=>{l.debug&&console.log("FileSystemCache: failed to promote build seed",a)});try{await i.promotion}finally{i.promotion&&(i.promotion=void 0),0===i.readers&&l.seedReads.delete(e)}}async set(a,b,c){var d;let e=c.fetchCache?void 0:c.cacheControl,g=this.getSeedReadState(a);if(g&&g.version++,null==(d=l.memoryCache)||d.set(a,{value:b,lastModified:Date.now(),cacheControl:e}),l.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;await (null==g?void 0:g.promotion);let i=new j.MultiFileWriter(this.fs);if(b.kind===f.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,f.IncrementalCacheKind.APP_ROUTE);i.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0,cacheControl:e};i.append(c.replace(/\.body$/,h.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===f.CachedRouteKind.PAGES||b.kind===f.CachedRouteKind.APP_PAGE){let d=b.kind===f.CachedRouteKind.APP_PAGE,g=this.getFilePath(`${a}.html`,d?f.IncrementalCacheKind.APP_PAGE:f.IncrementalCacheKind.PAGES);if(i.append(g,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||i.append(this.getFilePath(`${a}${d?h.RSC_SUFFIX:h.NEXT_DATA_SUFFIX}`,d?f.IncrementalCacheKind.APP_PAGE:f.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===f.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=g.replace(/\.html$/,h.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+h.RSC_SEGMENT_SUFFIX;i.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0,cacheControl:e};i.append(g.replace(/\.html$/,h.NEXT_META_SUFFIX),JSON.stringify(c))}else{let a={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};i.append(g.replace(/\.html$/,h.NEXT_META_SUFFIX),JSON.stringify(a))}}else if(b.kind===f.CachedRouteKind.FETCH){let d=this.getFilePath(a,f.IncrementalCacheKind.FETCH);i.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await i.wait()}getFilePath(a,b){let c;switch(b){case f.IncrementalCacheKind.FETCH:c=g.default.join(this.serverDistDir,"..","cache","fetch-cache");break;case f.IncrementalCacheKind.PAGES:c=g.default.join(this.serverDistDir,"pages");break;case f.IncrementalCacheKind.IMAGE:case f.IncrementalCacheKind.APP_PAGE:case f.IncrementalCacheKind.APP_ROUTE:c=g.default.join(this.serverDistDir,"app");break;default:throw Error(`Unexpected file path kind: ${b}`)}(b===f.IncrementalCacheKind.PAGES||b===f.IncrementalCacheKind.APP_PAGE||b===f.IncrementalCacheKind.APP_ROUTE)&&a.startsWith(`/${e.ROUTE_CACHE_DIRECTORY}/`)&&(c=g.default.join(this.serverDistDir,"."));let d=g.default.join(c,a);if(!(d.startsWith(c+g.default.sep)||d===c))throw Error(`Invalid file path: ${d}`);return d}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Error("Invariant: Unsupported NextRequest type")}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return s},IncrementalCache:function(){return u}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(33803),h=c(72394),i=(d=c(88266))&&d.__esModule?d:{default:d},j=c(96100),k=c(97538),l=c(63033),m=c(42776),n=c(55122),o=c(29294),p=c(29299),q=c(36820);function r(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class s{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function t(a){return c(55511).createHash("sha256").update(a).digest("hex")}class u{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,previewProps:h,prerenderManifest:l,fetchCacheKeyPrefix:m,CurCacheHandler:o,allowedRevalidateHeaderKeys:p,locales:q}){this.locks=new Map,this.hasCustomCacheHandler=!!o;let r=Symbol.for("@next/cache-handlers"),s=globalThis;if(o)u.debug&&console.log("IncrementalCache: using custom cache handler",o.name);else{let b=s[r];(null==b?void 0:b.FetchCache)?(o=b.FetchCache,u.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(u.debug&&console.log("IncrementalCache: using filesystem cache handler"),o=i.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=p,this.previewProps=h,this.prerenderManifest=l,this.locales=q,this.cacheControls=new k.SharedCacheControls(this.prerenderManifest,q),this.fetchCacheKeyPrefix=m;let t=[];f[j.PRERENDER_REVALIDATE_HEADER]===this.previewProps.previewModeId&&(this.isOnDemandRevalidate=!0),d&&(t=this.revalidatedTags=(0,n.getPreviouslyRevalidatedTags)(f,this.previewProps.previewModeId)),o&&(this.cacheHandler=new o({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:t,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:m}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=a?a.revalidate:!d&&1;return"number"==typeof e?1e3*e+b:e}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(u.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=(0,p.createPromiseWithResolvers)();return u.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return t(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${r(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${r(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${r(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${r(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Error(`Unsupported body type: ${typeof f}`);let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,t(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,i,k,n;let p,r;if(b.kind===h.IncrementalCacheKind.IMAGE)throw new m.InvariantError("Images must use the image optimizer cache");if(b.kind===h.IncrementalCacheKind.FETCH){let c=l.workUnitAsyncStorage.getStore(),d=c?(0,l.getResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===h.CachedRouteKind.FETCH){let d=o.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return u.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};u.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else u.debug&&console.log("IncrementalCache: rdc:miss",a)}else u.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==h.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;let s=a,t=b;if(b.kind!==h.IncrementalCacheKind.FETCH){let{route:c,...d}=b;s=(0,g.getRouteCacheKey)(a,c),t=d}let v=await (null==(c=this.cacheHandler)?void 0:c.get(s,t));if(b.kind===h.IncrementalCacheKind.FETCH){if(!v)return null;if((null==(e=v.value)?void 0:e.kind)!==h.CachedRouteKind.FETCH)throw new m.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=v.value)?void 0:f.kind)} instead.`);let c=o.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return u.debug&&console.log("IncrementalCache: expired tag",a),null;let g=l.workUnitAsyncStorage.getStore();if(g){let b=(0,l.getResumeDataCache)(g);(null==b?void 0:b.mutable)&&(u.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,v.value))}let i=b.revalidate||v.value.revalidate,j=(performance.timeOrigin+performance.now()-(v.lastModified||0))/1e3>i,k=v.value.data;return(0,q.areTagsExpired)(d,v.lastModified)?null:((0,q.areTagsStale)(d,v.lastModified)&&(j=!0),{isStale:j,value:{kind:h.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==v||null==(d=v.value)?void 0:d.kind)===h.CachedRouteKind.FETCH)throw new m.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`);let w=null,{isFallback:x}=b,y=this.cacheControls.get(a,b.route);if((null==v?void 0:v.cacheControl)&&(y=v.cacheControl,this.cacheControls.set(s,y)),(null==v?void 0:v.lastModified)===-1)p=-1,r=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let a=performance.timeOrigin+performance.now(),c=(null==v?void 0:v.lastModified)||a;r=this.calculateRevalidate(y,c,this.dev??!1,b.isFallback);let d="number"==typeof(null==y?void 0:y.expire)?1e3*y.expire+c:void 0;if(void 0!==d&&d<a)p=-1;else if(void 0===(p=!1!==r&&r<a||void 0)&&((null==v||null==(i=v.value)?void 0:i.kind)===h.CachedRouteKind.APP_PAGE||(null==v||null==(k=v.value)?void 0:k.kind)===h.CachedRouteKind.APP_ROUTE)){let a=null==(n=v.value.headers)?void 0:n[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,q.areTagsExpired)(b,c)?p=-1:(0,q.areTagsStale)(b,c)&&(p=!0))}}}return v&&(w={isStale:p,cacheControl:y,revalidateAfter:r,value:v.value,isFallback:x}),!v&&this.prerenderManifest.notFoundRoutes.includes(a)&&(0,g.isRouteCacheOwner)(a,b.route,this.prerenderManifest.routes[a],this.locales)&&(w={isStale:p,value:null,cacheControl:y,revalidateAfter:r,isFallback:x},this.set(a,w.value,{...b,cacheControl:y})),w}async set(a,b,c){if("kind"in c&&c.kind===h.IncrementalCacheKind.IMAGE)throw new m.InvariantError("Images must use the image optimizer cache");if((null==b?void 0:b.kind)===h.CachedRouteKind.FETCH){let c=l.workUnitAsyncStorage.getStore(),d=c?(0,l.getResumeDataCache)(c):null;(null==d?void 0:d.mutable)&&(u.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;let d=a,e=c;if(!c.fetchCache){let{route:b,...f}=c;if(!b)throw new m.InvariantError("Response cache requires a source route");d=(0,g.getRouteCacheKey)(a,b),e=f}let f=JSON.stringify(b).length;if(c.fetchCache&&f>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${f} bytes)`;if(this.dev)throw Error(b);console.warn(b);return}try{var i;!c.fetchCache&&c.cacheControl&&this.cacheControls.set(d,c.cacheControl),await (null==(i=this.cacheHandler)?void 0:i.set(d,b,e))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return j},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return k},getOrCreateGlobalAsyncLocalStorage:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){let b=Symbol.for(`@next/${a}@16.4.1`),c=globalThis;return c[b]??=h()}function j(a){return g?g.bind(a):f.bind(a)}function k(){return g?g.snapshot():function(a,...b){return a(...b)}}},90132:a=>{(()=>{"use strict";var b={234:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},274:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},294:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},838:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(294);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},138:(a,b,c)=>{let d=c(274);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(1/0===b)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(234),b=d(138),c=d(838),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=1/0===a.intervalCap||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90428:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseRelativeUrl",{enumerable:!0,get:function(){return e}}),c(80670);let d=c(68202);function e(a,b,c=!0){let f=new URL("http://n"),g=b?new URL(b,f):a.startsWith(".")?new URL("http://n"):f,{pathname:h,searchParams:i,search:j,hash:k,href:l,origin:m}=a.startsWith("/")?new URL(`${g.protocol}//${g.host}${a}`):new URL(a,g);if(m!==f.origin)throw Error(`invariant: invalid relative URL, router received ${a}`);return{auth:null,host:null,hostname:null,pathname:h,port:null,protocol:null,query:c?(0,d.searchParamsToUrlQuery)(i):void 0,search:j,hash:k,href:l.slice(m.length),slashes:null}}},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let h of d(f))e.call(a,h)||void 0===h||b(a,h,{get:()=>f[h],enumerable:!(g=c(f,h))||g.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return l},selectAppPageEntry:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return h(a).replace(/%5F/g,"_")}function k(a,b,c=j){let d;for(let e of b)c(e)===a&&(void 0===d||0>i(d,e))&&(d=e);if(void 0===d)throw Error(`Invariant: no direct app page entry found for ${a}`);return d}function l(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw TypeError(`The NextURL configuration includes no locale "${a}"`);this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
|
|
330
|
+
Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`)}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(3295),l=c(28704);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.isRequestClosed=!1,this.initialOnCloseError=null,this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause();try{b(()=>{for(let a of(this.isRequestClosed=!0,this.workUnitStores))a.phase="after"})}catch(a){this.initialOnCloseError={error:a}}}after(a,b){if(this.initialOnCloseError)throw new f.InvariantError("An onClose call failed, which means after() can't work correctly.",{cause:this.initialOnCloseError.error});if(this.workUnitStores.add(b),(0,g.isThenable)(a))this.addThenable(a);else if("function"==typeof a)this.addCallback(a,b);else throw Error("`after()`: Argument must be a promise or a function")}addThenable(a){this.waitUntil||n(),this.waitUntil(new Promise(b=>{a.then(()=>{b()},a=>{b(),this.reportTaskError("promise",a)})}))}addCallback(a,b){this.waitUntil||n();let c=k.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await k.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return this.isRequestClosed?await new Promise(a=>(0,l.scheduleImmediate)(a)):await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;let a=h.workAsyncStorage.getStore();if(!a)throw new f.InvariantError("Missing workStore in AfterContext.runCallbacks");return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}))}}}function n(){throw Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment.")}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},quotaVisibility:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},capacityAdapter:{vision:{enabled:!0,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!0,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},requireLogin:!0,requireApiKey:!0,tunnelDashboardAccess:!0,authMode:"password",ssoType:"oidc",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",samlEntryPoint:"",samlIssuer:"urn:9router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,activeSkills:[],skillRoutingModes:{},headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,headroomTimeoutMs:3e3,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,godmodeMode:"off",godmodeTechnique:"classic",godmodeObfuscation:"leetspeak",godmodeEscalate:!1,godmodeRaceModels:[],godmodeRaceSize:4,providerOverrides:{},autoCheckin:{enabled:!1,providers:{}}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);if(b.capacityAdapter&&"object"==typeof b.capacityAdapter)for(let a of Object.keys(b.capacityAdapter)){let c=b.capacityAdapter[a];Array.isArray(c?.models)&&(c.models=c.models.map(a=>"oc/mimo-v2.5-free"===a?"oc/mimo-v2.6-flash-free":a))}return b}async function i(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`);c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Error("Catch-all must be the last part of the URL.");let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`);if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Error(`Segment names may not start or end with extra brackets ('${e}').`);if(e.startsWith("."))throw Error(`Segment names may not start with erroneous periods ('${e}').`);function f(a,c){if(null!==a&&a!==c)throw Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`);b.forEach(a=>{if(a===c)throw Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`);if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`)}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`);f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`);f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Error(`Optional route parameters are not yet supported ("${a[0]}").`);f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s={AppRenderSpan:function(){return B},AppRouteRouteHandlersSpan:function(){return F},AppRouteRouteModuleSpan:function(){return G},BaseServerSpan:function(){return u},DevBundlerServiceSpan:function(){return C},InstrumentationSpan:function(){return w},LoadComponentsSpan:function(){return v},LogSpanAllowList:function(){return L},MiddlewareSpan:function(){return J},NextNodeServerSpan:function(){return y},NextServerSpan:function(){return x},NextVanillaSpanAllowlist:function(){return K},NodeSpan:function(){return E},RenderSpan:function(){return A},ResolveMetadataSpan:function(){return I},RouteModuleSpan:function(){return H},RouterSpan:function(){return D},StartServerSpan:function(){return z}};for(var t in s)Object.defineProperty(b,t,{enumerable:!0,get:s[t]});var u=((c=u||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),v=((d=v||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d.loadRouteModule="LoadComponents.loadRouteModule",d),w=((e=w||{}).loadModule="Instrumentation.loadModule",e.register="Instrumentation.register",e),x=((f=x||{}).getRequestHandler="NextServer.getRequestHandler",f.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",f.getServer="NextServer.getServer",f.getServerRequestHandler="NextServer.getServerRequestHandler",f.createServer="createServer.createServer",f),y=((g=y||{}).compression="NextNodeServer.compression",g.getBuildId="NextNodeServer.getBuildId",g.createComponentTree="NextNodeServer.createComponentTree",g.clientComponentLoading="NextNodeServer.clientComponentLoading",g.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",g.generateStaticRoutes="NextNodeServer.generateStaticRoutes",g.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",g.generatePublicRoutes="NextNodeServer.generatePublicRoutes",g.generateImageRoutes="NextNodeServer.generateImageRoutes.route",g.sendRenderResult="NextNodeServer.sendRenderResult",g.proxyRequest="NextNodeServer.proxyRequest",g.runApi="NextNodeServer.runApi",g.render="NextNodeServer.render",g.renderHTML="NextNodeServer.renderHTML",g.imageOptimizer="NextNodeServer.imageOptimizer",g.getPagePath="NextNodeServer.getPagePath",g.getRoutesManifest="NextNodeServer.getRoutesManifest",g.findPageComponents="NextNodeServer.findPageComponents",g.getFontManifest="NextNodeServer.getFontManifest",g.getServerComponentManifest="NextNodeServer.getServerComponentManifest",g.getRequestHandler="NextNodeServer.getRequestHandler",g.renderToHTML="NextNodeServer.renderToHTML",g.renderError="NextNodeServer.renderError",g.renderErrorToHTML="NextNodeServer.renderErrorToHTML",g.render404="NextNodeServer.render404",g.startResponse="NextNodeServer.startResponse",g.route="route",g.onProxyReq="onProxyReq",g.apiResolver="apiResolver",g.internalFetch="internalFetch",g),z=((h=z||{}).startServer="startServer.startServer",h),A=((i=A||{}).getServerSideProps="Render.getServerSideProps",i.getStaticProps="Render.getStaticProps",i.renderToString="Render.renderToString",i.renderDocument="Render.renderDocument",i.createBodyResult="Render.createBodyResult",i),B=((j=B||{}).renderToString="AppRender.renderToString",j.renderToReadableStream="AppRender.renderToReadableStream",j.getBodyResult="AppRender.getBodyResult",j.fetch="AppRender.fetch",j.waitShellReady="AppRender.waitShellReady",j.renderToNodeFizzStream="AppRender.renderToNodeFizzStream",j.instantInsights="AppRender.instantInsights",j.instantInsightsPrepareValidation="AppRender.instantInsights.prepareValidation",j.instantInsightsRunValidation="AppRender.instantInsights.runValidation",j),C=((k=C||{}).ensurePage="DevBundlerService.ensurePage",k),D=((l=D||{}).executeRoute="Router.executeRoute",l),E=((m=E||{}).runHandler="Node.runHandler",m),F=((n=F||{}).runHandler="AppRouteRouteHandlers.runHandler",n),G=((o=G||{}).loadUserland="AppRouteRouteModule.loadUserland",o),H=((p=H||{}).prepare="RouteModule.prepare",p.loadManifests="RouteModule.loadManifests",p),I=((q=I||{}).generateMetadata="ResolveMetadata.generateMetadata",q.generateViewport="ResolveMetadata.generateViewport",q),J=((r=J||{}).execute="Middleware.execute",r);let K=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","LoadComponents.loadRouteModule","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","AppRouteRouteModule.loadUserland","RouteModule.prepare","Instrumentation.loadModule","Instrumentation.register","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),L=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return l}});let e=c(33803),f=c(72394),g=(d=c(40694))&&d.__esModule?d:{default:d},h=c(96100),i=c(36820),j=c(90925),k=c(94143);class l{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;static #c=this.seedReads=new Map;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?l.memoryCache?l.debug&&console.log("FileSystemCache: memory store already initialized"):(l.debug&&console.log("FileSystemCache: using memory store for fetch cache"),l.memoryCache=(0,k.getMemoryCache)(a.maxMemoryCacheSize)):l.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}getSeedReadState(a){return l.seedReads.get(`${this.serverDistDir}:${a}`)}beginSeedRead(a){let b=`${this.serverDistDir}:${a}`,c=l.seedReads.get(b);return c||(c={readers:0,version:0},l.seedReads.set(b,c)),c.readers++,{stateKey:b,state:c,version:c.version}}finishSeedRead(a,b){b.readers--,0!==b.readers||b.promotion||l.seedReads.delete(a)}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,l.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=i.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),i.tagsManifest.set(d,e)}else i.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,g,j,k,m,n,o,p,q,r,s,t;let u,[v,w]=a,{kind:x}=w,y=v,z=null==(b=l.memoryCache)?void 0:b.get(v),A=null==(c=this.getSeedReadState(v))?void 0:c.promotion;!z&&A&&(await A,z=null==(m=l.memoryCache)?void 0:m.get(v)),l.debug&&(x===f.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",v,w.tags,x,!!z):console.log("FileSystemCache: get",v,x,!!z));let B=x===f.IncrementalCacheKind.PAGES||x===f.IncrementalCacheKind.APP_PAGE||x===f.IncrementalCacheKind.APP_ROUTE;if(!z&&B&&v.startsWith(`/${e.ROUTE_CACHE_DIRECTORY}/`)&&1){let a=this.getFilePath(x===f.IncrementalCacheKind.APP_ROUTE?`${v}.body`:`${v}.html`,x);if(!this.fs.existsSync(a)){let a=v.indexOf("/$/");if(-1!==a){let b=v.slice(a+2),c=this.getFilePath(`${b}${h.NEXT_META_SUFFIX}`,x);try{let a=JSON.parse(this.fs.readFileSync(c,"utf8")),d=v.indexOf("/$/"),g=a.routeCache?(0,e.getRouteCacheKey)("/",a.routeCache.owner):void 0;(null==(n=a.routeCache)?void 0:n.key)===v&&(a.routeCache.isFallback===!!w.isFallback||x===f.IncrementalCacheKind.APP_PAGE&&w.isRoutePPREnabled&&null!=a.postponed)&&(null==g?void 0:g.slice(0,g.indexOf("/$/")))===v.slice(0,d)&&(y=b,u=this.beginSeedRead(v))}catch{}}}}if(!z)try{if(x===f.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${y}.body`,f.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,h.NEXT_META_SUFFIX),"utf8"));z={lastModified:d.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status},cacheControl:d.cacheControl}}else{let a=this.getFilePath(x===f.IncrementalCacheKind.FETCH?y:`${y}.html`,x),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(x===f.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:e}=w;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(z={lastModified:g,value:h},(null==(o=z.value)?void 0:o.kind)===f.CachedRouteKind.FETCH){let b=null==(p=z.value)?void 0:p.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(l.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(v,z.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:e}))}}else if(x===f.IncrementalCacheKind.APP_PAGE){let d,e,g=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,h.NEXT_META_SUFFIX),"utf8"));if(null==g?void 0:g.segmentPaths){let a=new Map;d=a;let b=y+h.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(g.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+h.RSC_SEGMENT_SUFFIX,f.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}w.isFallback||w.isRoutePPREnabled&&(null==g?void 0:g.postponed)!=null||(e=await this.fs.readFile(this.getFilePath(`${y}${h.RSC_SUFFIX}`,f.IncrementalCacheKind.APP_PAGE))),z={lastModified:g.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.APP_PAGE,html:b,rscData:e,postponed:null==g?void 0:g.postponed,headers:null==g?void 0:g.headers,status:null==g?void 0:g.status,segmentData:d},cacheControl:null==g?void 0:g.cacheControl}}else if(x===f.IncrementalCacheKind.PAGES){let d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,h.NEXT_META_SUFFIX),"utf8")),e={};w.isFallback||(e=JSON.parse(await this.fs.readFile(this.getFilePath(`${y}${h.NEXT_DATA_SUFFIX}`,f.IncrementalCacheKind.PAGES),"utf8"))),z={lastModified:d.routeCacheLastModified??c.getTime(),value:{kind:f.CachedRouteKind.PAGES,html:b,pageData:e,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status}}}else throw Error(`Invariant: Unexpected route kind ${x} in file system cache.`)}z&&!u&&(null==(q=l.memoryCache)||q.set(v,z))}catch{return u&&this.finishSeedRead(u.stateKey,u.state),null}if((null==z||null==(d=z.value)?void 0:d.kind)===f.CachedRouteKind.APP_PAGE||(null==z||null==(g=z.value)?void 0:g.kind)===f.CachedRouteKind.APP_ROUTE||(null==z||null==(j=z.value)?void 0:j.kind)===f.CachedRouteKind.PAGES){let a=null==(r=z.value.headers)?void 0:r[h.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,i.areTagsExpired)(b,z.lastModified))return l.debug&&console.log("FileSystemCache: expired tags",b),u&&this.finishSeedRead(u.stateKey,u.state),null}}else if((null==z||null==(k=z.value)?void 0:k.kind)===f.CachedRouteKind.FETCH){let a=w.kind===f.IncrementalCacheKind.FETCH?[...w.tags||[],...w.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return l.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,i.areTagsExpired)(a,z.lastModified))return l.debug&&console.log("FileSystemCache: expired tags",a),null}if(u&&z){let{stateKey:a,state:b,version:c}=u;try{b.version===c&&(await this.promoteSeed(v,y,z,w,a,b,c),b.version!==c||(null==(s=l.memoryCache)?void 0:s.get(v))||null==(t=l.memoryCache)||t.set(v,z))}finally{this.finishSeedRead(a,b)}}return z??null}async promoteSeed(a,b,c,d,e,i,k){let m=this.fs.writeFileAtomic;if(!this.flushToDisk||!m||!c.value)return;if(i.promotion)return void await i.promotion;let n=(async()=>{let e=c.value;if(!e||i.version!==k||e.kind!==f.CachedRouteKind.PAGES&&e.kind!==f.CachedRouteKind.APP_PAGE&&e.kind!==f.CachedRouteKind.APP_ROUTE)return;let l=d.kind,n=this.getFilePath(e.kind===f.CachedRouteKind.APP_ROUTE?`${a}.body`:`${a}.html`,l);if(this.fs.existsSync(n))return;let o=this.getFilePath(e.kind===f.CachedRouteKind.APP_ROUTE?`${b}.body`:`${b}.html`,l),p=o.replace(e.kind===f.CachedRouteKind.APP_ROUTE?/\.body$/:/\.html$/,h.NEXT_META_SUFFIX),q=JSON.parse(await this.fs.readFile(p,"utf8"));q.routeCacheLastModified=c.lastModified;let r=[];e.kind!==f.CachedRouteKind.PAGES||d.isFallback?e.kind===f.CachedRouteKind.APP_PAGE&&(d.isFallback||d.isRoutePPREnabled&&null!=q.postponed||r.push({path:this.getFilePath(`${a}${h.RSC_SUFFIX}`,l),data:await this.fs.readFile(this.getFilePath(`${b}${h.RSC_SUFFIX}`,l))}),r.push(...await Promise.all((q.segmentPaths??[]).map(async c=>({path:this.getFilePath(a+h.RSC_SEGMENTS_DIR_SUFFIX+c+h.RSC_SEGMENT_SUFFIX,l),data:await this.fs.readFile(this.getFilePath(b+h.RSC_SEGMENTS_DIR_SUFFIX+c+h.RSC_SEGMENT_SUFFIX,l))}))))):r.push({path:this.getFilePath(`${a}${h.NEXT_DATA_SUFFIX}`,l),data:await this.fs.readFile(this.getFilePath(`${b}${h.NEXT_DATA_SUFFIX}`,l))});let s=new j.MultiFileWriter(this.fs);for(let a of r)s.append(a.path,a.data);if(await s.wait(),i.version!==k)return;let t=n.replace(e.kind===f.CachedRouteKind.APP_ROUTE?/\.body$/:/\.html$/,h.NEXT_META_SUFFIX);await this.fs.mkdir(g.default.dirname(t)),await this.fs.writeFile(t,JSON.stringify(q)),i.version!==k||this.fs.existsSync(n)||await m.call(this.fs,n,await this.fs.readFile(o))})();i.promotion=n.catch(a=>{l.debug&&console.log("FileSystemCache: failed to promote build seed",a)});try{await i.promotion}finally{i.promotion&&(i.promotion=void 0),0===i.readers&&l.seedReads.delete(e)}}async set(a,b,c){var d;let e=c.fetchCache?void 0:c.cacheControl,g=this.getSeedReadState(a);if(g&&g.version++,null==(d=l.memoryCache)||d.set(a,{value:b,lastModified:Date.now(),cacheControl:e}),l.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;await (null==g?void 0:g.promotion);let i=new j.MultiFileWriter(this.fs);if(b.kind===f.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,f.IncrementalCacheKind.APP_ROUTE);i.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0,cacheControl:e};i.append(c.replace(/\.body$/,h.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===f.CachedRouteKind.PAGES||b.kind===f.CachedRouteKind.APP_PAGE){let d=b.kind===f.CachedRouteKind.APP_PAGE,g=this.getFilePath(`${a}.html`,d?f.IncrementalCacheKind.APP_PAGE:f.IncrementalCacheKind.PAGES);if(i.append(g,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||i.append(this.getFilePath(`${a}${d?h.RSC_SUFFIX:h.NEXT_DATA_SUFFIX}`,d?f.IncrementalCacheKind.APP_PAGE:f.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===f.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=g.replace(/\.html$/,h.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+h.RSC_SEGMENT_SUFFIX;i.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0,cacheControl:e};i.append(g.replace(/\.html$/,h.NEXT_META_SUFFIX),JSON.stringify(c))}else{let a={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};i.append(g.replace(/\.html$/,h.NEXT_META_SUFFIX),JSON.stringify(a))}}else if(b.kind===f.CachedRouteKind.FETCH){let d=this.getFilePath(a,f.IncrementalCacheKind.FETCH);i.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await i.wait()}getFilePath(a,b){let c;switch(b){case f.IncrementalCacheKind.FETCH:c=g.default.join(this.serverDistDir,"..","cache","fetch-cache");break;case f.IncrementalCacheKind.PAGES:c=g.default.join(this.serverDistDir,"pages");break;case f.IncrementalCacheKind.IMAGE:case f.IncrementalCacheKind.APP_PAGE:case f.IncrementalCacheKind.APP_ROUTE:c=g.default.join(this.serverDistDir,"app");break;default:throw Error(`Unexpected file path kind: ${b}`)}(b===f.IncrementalCacheKind.PAGES||b===f.IncrementalCacheKind.APP_PAGE||b===f.IncrementalCacheKind.APP_ROUTE)&&a.startsWith(`/${e.ROUTE_CACHE_DIRECTORY}/`)&&(c=g.default.join(this.serverDistDir,"."));let d=g.default.join(c,a);if(!(d.startsWith(c+g.default.sep)||d===c))throw Error(`Invalid file path: ${d}`);return d}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Error("Invariant: Unsupported NextRequest type")}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return s},IncrementalCache:function(){return u}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(33803),h=c(72394),i=(d=c(88266))&&d.__esModule?d:{default:d},j=c(96100),k=c(97538),l=c(63033),m=c(42776),n=c(55122),o=c(29294),p=c(29299),q=c(36820);function r(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class s{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function t(a){return c(55511).createHash("sha256").update(a).digest("hex")}class u{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,previewProps:h,prerenderManifest:l,fetchCacheKeyPrefix:m,CurCacheHandler:o,allowedRevalidateHeaderKeys:p,locales:q}){this.locks=new Map,this.hasCustomCacheHandler=!!o;let r=Symbol.for("@next/cache-handlers"),s=globalThis;if(o)u.debug&&console.log("IncrementalCache: using custom cache handler",o.name);else{let b=s[r];(null==b?void 0:b.FetchCache)?(o=b.FetchCache,u.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(u.debug&&console.log("IncrementalCache: using filesystem cache handler"),o=i.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=p,this.previewProps=h,this.prerenderManifest=l,this.locales=q,this.cacheControls=new k.SharedCacheControls(this.prerenderManifest,q),this.fetchCacheKeyPrefix=m;let t=[];f[j.PRERENDER_REVALIDATE_HEADER]===this.previewProps.previewModeId&&(this.isOnDemandRevalidate=!0),d&&(t=this.revalidatedTags=(0,n.getPreviouslyRevalidatedTags)(f,this.previewProps.previewModeId)),o&&(this.cacheHandler=new o({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:t,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:m}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=a?a.revalidate:!d&&1;return"number"==typeof e?1e3*e+b:e}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(u.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=(0,p.createPromiseWithResolvers)();return u.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return t(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${r(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${r(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${r(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${r(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Error(`Unsupported body type: ${typeof f}`);let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,t(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,i,k,n;let p,r;if(b.kind===h.IncrementalCacheKind.IMAGE)throw new m.InvariantError("Images must use the image optimizer cache");if(b.kind===h.IncrementalCacheKind.FETCH){let c=l.workUnitAsyncStorage.getStore(),d=c?(0,l.getResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===h.CachedRouteKind.FETCH){let d=o.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return u.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};u.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else u.debug&&console.log("IncrementalCache: rdc:miss",a)}else u.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==h.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;let s=a,t=b;if(b.kind!==h.IncrementalCacheKind.FETCH){let{route:c,...d}=b;s=(0,g.getRouteCacheKey)(a,c),t=d}let v=await (null==(c=this.cacheHandler)?void 0:c.get(s,t));if(b.kind===h.IncrementalCacheKind.FETCH){if(!v)return null;if((null==(e=v.value)?void 0:e.kind)!==h.CachedRouteKind.FETCH)throw new m.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=v.value)?void 0:f.kind)} instead.`);let c=o.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return u.debug&&console.log("IncrementalCache: expired tag",a),null;let g=l.workUnitAsyncStorage.getStore();if(g){let b=(0,l.getResumeDataCache)(g);(null==b?void 0:b.mutable)&&(u.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,v.value))}let i=b.revalidate||v.value.revalidate,j=(performance.timeOrigin+performance.now()-(v.lastModified||0))/1e3>i,k=v.value.data;return(0,q.areTagsExpired)(d,v.lastModified)?null:((0,q.areTagsStale)(d,v.lastModified)&&(j=!0),{isStale:j,value:{kind:h.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==v||null==(d=v.value)?void 0:d.kind)===h.CachedRouteKind.FETCH)throw new m.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`);let w=null,{isFallback:x}=b,y=this.cacheControls.get(a,b.route);if((null==v?void 0:v.cacheControl)&&(y=v.cacheControl,this.cacheControls.set(s,y)),(null==v?void 0:v.lastModified)===-1)p=-1,r=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let a=performance.timeOrigin+performance.now(),c=(null==v?void 0:v.lastModified)||a;r=this.calculateRevalidate(y,c,this.dev??!1,b.isFallback);let d="number"==typeof(null==y?void 0:y.expire)?1e3*y.expire+c:void 0;if(void 0!==d&&d<a)p=-1;else if(void 0===(p=!1!==r&&r<a||void 0)&&((null==v||null==(i=v.value)?void 0:i.kind)===h.CachedRouteKind.APP_PAGE||(null==v||null==(k=v.value)?void 0:k.kind)===h.CachedRouteKind.APP_ROUTE)){let a=null==(n=v.value.headers)?void 0:n[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,q.areTagsExpired)(b,c)?p=-1:(0,q.areTagsStale)(b,c)&&(p=!0))}}}return v&&(w={isStale:p,cacheControl:y,revalidateAfter:r,value:v.value,isFallback:x}),!v&&this.prerenderManifest.notFoundRoutes.includes(a)&&(0,g.isRouteCacheOwner)(a,b.route,this.prerenderManifest.routes[a],this.locales)&&(w={isStale:p,value:null,cacheControl:y,revalidateAfter:r,isFallback:x},this.set(a,w.value,{...b,cacheControl:y})),w}async set(a,b,c){if("kind"in c&&c.kind===h.IncrementalCacheKind.IMAGE)throw new m.InvariantError("Images must use the image optimizer cache");if((null==b?void 0:b.kind)===h.CachedRouteKind.FETCH){let c=l.workUnitAsyncStorage.getStore(),d=c?(0,l.getResumeDataCache)(c):null;(null==d?void 0:d.mutable)&&(u.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;let d=a,e=c;if(!c.fetchCache){let{route:b,...f}=c;if(!b)throw new m.InvariantError("Response cache requires a source route");d=(0,g.getRouteCacheKey)(a,b),e=f}let f=JSON.stringify(b).length;if(c.fetchCache&&f>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${f} bytes)`;if(this.dev)throw Error(b);console.warn(b);return}try{var i;!c.fetchCache&&c.cacheControl&&this.cacheControls.set(d,c.cacheControl),await (null==(i=this.cacheHandler)?void 0:i.set(d,b,e))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return j},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return k},getOrCreateGlobalAsyncLocalStorage:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){let b=Symbol.for(`@next/${a}@16.4.2`),c=globalThis;return c[b]??=h()}function j(a){return g?g.bind(a):f.bind(a)}function k(){return g?g.snapshot():function(a,...b){return a(...b)}}},90132:a=>{(()=>{"use strict";var b={234:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},274:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},294:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},838:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(294);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},138:(a,b,c)=>{let d=c(274);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(1/0===b)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(234),b=d(138),c=d(838),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=1/0===a.intervalCap||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let h of d(f))e.call(a,h)||void 0===h||b(a,h,{get:()=>f[h],enumerable:!(g=c(f,h))||g.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return l},selectAppPageEntry:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return h(a).replace(/%5F/g,"_")}function k(a,b,c=j){let d;for(let e of b)c(e)===a&&(void 0===d||0>i(d,e))&&(d=e);if(void 0===d)throw Error(`Invariant: no direct app page entry found for ${a}`);return d}function l(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw TypeError(`The NextURL configuration includes no locale "${a}"`);this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
|
|
331
331
|
VALUES(?, ?, ?, ?, ?, ?)
|
|
332
332
|
ON CONFLICT(id) DO UPDATE SET
|
|
333
|
-
type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').");return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){if("function"==typeof a.get){let c=f.HeadersAdapter.from(a);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}return{isOnDemandRevalidate:a[g.PRERENDER_REVALIDATE_HEADER]===b.previewModeId,revalidateOnlyGenerated:a.hasOwnProperty(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=44468);module.exports=c})();
|
|
333
|
+
type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').");return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){if("function"==typeof a.get){let c=f.HeadersAdapter.from(a);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}return{isOnDemandRevalidate:a[g.PRERENDER_REVALIDATE_HEADER]===b.previewModeId,revalidateOnlyGenerated:a.hasOwnProperty(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=43593);module.exports=c})();
|