@amir83nasr/10router 0.1.12 → 0.1.15
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -8
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +22 -50
- package/.next/routes-manifest.json +0 -12
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +6 -6
- package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/oidc/callback/route.js +1 -1
- package/.next/server/app/api/auth/oidc/start/route.js +1 -1
- package/.next/server/app/api/auth/oidc/test/route.js +1 -1
- package/.next/server/app/api/auth/reset-password/route.js +1 -1
- package/.next/server/app/api/auth/saml/acs/route.js +1 -1
- package/.next/server/app/api/auth/saml/metadata/route.js +2 -2
- package/.next/server/app/api/auth/saml/start/route.js +1 -1
- package/.next/server/app/api/auth/saml/test/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/changelog/route.js +1 -1
- package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
- package/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/.next/server/app/api/combos/[id]/route.js +1 -1
- package/.next/server/app/api/combos/route.js +1 -1
- package/.next/server/app/api/headroom/extras/route.js +1 -1
- package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/.next/server/app/api/headroom/restart/route.js +1 -1
- package/.next/server/app/api/headroom/start/route.js +1 -1
- package/.next/server/app/api/headroom/status/route.js +1 -1
- package/.next/server/app/api/headroom/stop/route.js +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/keys/[id]/route.js +1 -1
- package/.next/server/app/api/keys/route.js +1 -1
- package/.next/server/app/api/locale/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/.next/server/app/api/models/alias/route.js +1 -1
- package/.next/server/app/api/models/availability/route.js +1 -1
- package/.next/server/app/api/models/catalog-sync/route.js +1 -1
- package/.next/server/app/api/models/custom/route.js +1 -1
- package/.next/server/app/api/models/disabled/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/test/route.js +1 -1
- package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/.next/server/app/api/pricing/route.js +1 -1
- package/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/.next/server/app/api/provider-nodes/route.js +1 -1
- package/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/.next/server/app/api/providers/[id]/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/.next/server/app/api/providers/client/route.js +1 -1
- package/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/.next/server/app/api/providers/route.js +1 -1
- package/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/.next/server/app/api/providers/validate/route.js +1 -1
- package/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/.next/server/app/api/proxy-pools/route.js +1 -1
- package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/.next/server/app/api/pxpipe/health/route.js +2 -2
- package/.next/server/app/api/pxpipe/install/route.js +1 -1
- package/.next/server/app/api/pxpipe/logs/route.js +1 -1
- package/.next/server/app/api/pxpipe/restart/route.js +1 -1
- package/.next/server/app/api/pxpipe/start/route.js +1 -1
- package/.next/server/app/api/pxpipe/stats/route.js +1 -1
- package/.next/server/app/api/pxpipe/status/route.js +1 -1
- package/.next/server/app/api/pxpipe/stop/route.js +1 -1
- package/.next/server/app/api/settings/database/route.js +1 -1
- package/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/.next/server/app/api/settings/require-login/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/shutdown/route.js +1 -1
- package/.next/server/app/api/tags/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/.next/server/app/api/translator/load/route.js +1 -1
- package/.next/server/app/api/translator/save/route.js +1 -1
- package/.next/server/app/api/translator/send/route.js +1 -1
- package/.next/server/app/api/translator/translate/route.js +1 -1
- package/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/.next/server/app/api/tunnel/status/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-install/route.js +3 -3
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/.next/server/app/api/usage/chart/route.js +1 -1
- package/.next/server/app/api/usage/health/route.js +1 -1
- package/.next/server/app/api/usage/history/route.js +1 -1
- package/.next/server/app/api/usage/logs/route.js +1 -1
- package/.next/server/app/api/usage/providers/route.js +1 -1
- package/.next/server/app/api/usage/request-details/route.js +1 -1
- package/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/.next/server/app/api/usage/stats/route.js +1 -1
- package/.next/server/app/api/usage/stream/route.js +2 -2
- package/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/.next/server/app/api/v1/audio/voices/route.js +1 -1
- package/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/.next/server/app/api/v1/images/generations/route.js +2 -2
- package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/.next/server/app/api/v1/messages/route.js +1 -1
- package/.next/server/app/api/v1/models/[...model]/route.js +1 -1
- package/.next/server/app/api/v1/models/info/route.js +1 -1
- package/.next/server/app/api/v1/models/route.js +1 -1
- package/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/.next/server/app/api/v1/responses/route.js +1 -1
- package/.next/server/app/api/v1/route.js +1 -1
- package/.next/server/app/api/v1/search/route.js +1 -1
- package/.next/server/app/api/v1/systemone/route.js +1 -1
- package/.next/server/app/api/v1/videos/[id]/route.js +1 -1
- package/.next/server/app/api/v1/videos/edits/route.js +1 -1
- package/.next/server/app/api/v1/videos/extensions/route.js +1 -1
- package/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/.next/server/app/api/v1/web/fetch/route.js +1 -1
- package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/.next/server/app/api/v1beta/models/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/shutdown/route.js +1 -1
- package/.next/server/app/api/version/update/route.js +1 -1
- package/.next/server/app/callback/page.js +1 -1
- package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/.next/server/app/callback.html +1 -1
- package/.next/server/app/callback.rsc +7 -7
- package/.next/server/app/callback.segments/_full.segment.rsc +7 -7
- package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/cli-tools.html +1 -1
- package/.next/server/app/dashboard/cli-tools.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/combos.html +1 -1
- package/.next/server/app/dashboard/combos.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/endpoint.html +1 -1
- package/.next/server/app/dashboard/endpoint.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
- package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/profile.html +1 -1
- package/.next/server/app/dashboard/profile.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers/new.html +1 -1
- package/.next/server/app/dashboard/providers/new.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers.html +1 -1
- package/.next/server/app/dashboard/providers.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/pxpipe.html +1 -1
- package/.next/server/app/dashboard/pxpipe.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/quota.html +2 -2
- package/.next/server/app/dashboard/quota.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/.next/server/app/dashboard/settings/pricing.rsc +7 -7
- package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.html +1 -1
- package/.next/server/app/dashboard/token-saver.rsc +8 -8
- package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/usage.html +2 -2
- package/.next/server/app/dashboard/usage.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard.html +1 -1
- package/.next/server/app/dashboard.rsc +9 -9
- package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing/page.js +1 -1
- package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/landing.html +1 -1
- package/.next/server/app/landing.rsc +7 -7
- package/.next/server/app/landing.segments/_full.segment.rsc +7 -7
- package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +6 -6
- package/.next/server/app/login.segments/_full.segment.rsc +6 -6
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/manifest.webmanifest/route.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -8
- package/.next/server/chunks/1011.js +1 -1
- package/.next/server/chunks/1194.js +1 -1
- package/.next/server/chunks/1289.js +1 -1
- package/.next/server/chunks/1633.js +1 -1
- package/.next/server/chunks/1985.js +1 -1
- package/.next/server/chunks/2282.js +7 -7
- package/.next/server/chunks/2339.js +1 -1
- package/.next/server/chunks/2706.js +1 -1
- package/.next/server/chunks/2801.js +1 -1
- package/.next/server/chunks/3034.js +1 -1
- package/.next/server/chunks/3425.js +1 -1
- package/.next/server/chunks/6056.js +1 -1
- package/.next/server/chunks/6343.js +6 -6
- package/.next/server/chunks/7348.js +1 -1
- package/.next/server/chunks/9429.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +0 -24
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/8QVpvFFKxoB53L449Kgan/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-5800a984ad8ad005.js +1 -0
- package/.next/static/chunks/1660-7f2e79bde5eff607.js +1 -0
- package/.next/static/chunks/1699-13ee6864a8a31a96.js +67 -0
- package/.next/static/chunks/{2836-4781ea7374870f4a.js → 2836-d97f0aa2718945d5.js} +1 -1
- package/.next/static/chunks/{3577-1f02993330d7fba7.js → 3577-cd98d40e3099e1b0.js} +1 -1
- package/.next/static/chunks/5148-7d67073becfaf162.js +1 -0
- package/.next/static/chunks/{5862-6f3a3a6d4c00100d.js → 5862-f98c2f3d480b80d2.js} +1 -1
- package/.next/static/chunks/6428-5a5f71440049a4e6.js +1 -0
- package/.next/static/chunks/7128-78b41798c1177008.js +1 -0
- package/.next/static/chunks/7835-06b436358f3395f6.js +1 -0
- package/.next/static/chunks/9150-8316559e1687b4a8.js +1 -0
- package/.next/static/chunks/{9369-07e432041bb48a39.js → 9369-0d43b295968c2168.js} +1 -1
- package/.next/static/chunks/{9ce8c186-6cd204e9c27ecee1.js → 9ce8c186-3c7d7dbc5d428052.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-36ad70a4f906c64b.js → page-dd70f2cee9c910a9.js} +3 -3
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-aae6be7f75fcd819.js → page-3bab0c661f222ea3.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-18212c87b17b33cf.js → page-76cc2c386af12738.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-58a29f3cb409597a.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-d5f693c646ae044b.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/{page-610d962dd8bd1744.js → page-7340dad2b87640cf.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/{page-9dbf4cd6901b6042.js → page-32e3e07a8f54ec11.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/page-a7f59da8c0db5cf1.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-2ab30b6e1baf1efd.js → page-7123127fd841cfa5.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-b17607bc2ed06d50.js → page-fab6f4b4cccc1a6f.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-0e649a78a041306a.js → page-819e98f53bf2f4f7.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-b10c05192c664e8d.js → page-9054f870a5e0f5c6.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-b33051a3fc600082.js → page-3e4657b108582404.js} +2 -2
- package/.next/static/chunks/app/(dashboard)/dashboard/quota/{page-ee2a0fa91d9bea9c.js → page-61780f0a2b494680.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/{page-bcc37fc2b4089f2f.js → page-4e366abb76514be7.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-2457f236bc58e590.js → page-2d71fa2936b16f45.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/{layout-7ef1d599b3c4c6d2.js → layout-91f41c68685ed739.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/callback/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/start/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/reset-password/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/acs/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/metadata/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/start/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/changelog/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/combos/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/combos/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/extras/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/restart/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/start/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/status/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/headroom/stop/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/health/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/init/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/keys/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/keys/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/locale/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/alias/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/availability/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/catalog-sync/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/custom/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/disabled/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/models/test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/import/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pricing/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/validate/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/client/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/suggested-models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/test-batch/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/providers/validate/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/health/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/install/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/logs/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/restart/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/start/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stats/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/status/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stop/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/settings/database/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/settings/proxy-test/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/settings/require-login/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/settings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/shutdown/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tags/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/load/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/save/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/send/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/translator/translate/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/disable/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/enable/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/status/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/chart/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/health/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/history/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/logs/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/providers/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/request-details/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/request-logs/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/stats/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/usage/stream/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/api/chat/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/speech/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/voices/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/completions/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/embeddings/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/images/generations/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/models/[...model]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/models/info/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/compact/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/search/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/systemone/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/[id]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/edits/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/extensions/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/generations/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1/web/fetch/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/version/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/version/shutdown/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/api/version/update/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/callback/page-8b6862b2e58a129e.js +1 -0
- package/.next/static/chunks/app/dashboard/settings/pricing/page-c1dfa7608ff710d1.js +1 -0
- package/.next/static/chunks/app/landing/page-a76ba2642bd02bf5.js +1 -0
- package/.next/static/chunks/app/layout-cc98f6c7473b86a3.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/app/page-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9a2a13ac6b89ba91.js +1 -0
- package/.next/static/css/efaf98e3b295f727.css +1 -0
- package/CHANGELOG.md +22 -0
- package/open-sse/handlers/chatCore/claudeMessageBody.js +357 -0
- package/open-sse/handlers/chatCore/nonStreamingHandler.js +36 -110
- package/open-sse/handlers/chatCore/sseToJsonHandler.js +147 -4
- package/open-sse/handlers/chatCore.js +48 -12
- package/open-sse/translator/concerns/classifier.js +70 -0
- package/open-sse/translator/concerns/thinkingUnified.js +18 -6
- package/open-sse/translator/request/claude-to-openai.js +20 -0
- package/open-sse/translator/request/openai-to-claude.js +11 -0
- package/package.json +1 -2
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ClaudeToolCard.tsx +22 -0
- package/src/app/api/cli-tools/claude-settings/route.js +20 -0
- package/src/app/globals.css +16 -37
- package/src/components/app-sidebar.tsx +0 -1
- package/src/shared/components/Header.tsx +0 -8
- package/src/shared/components/layouts/DashboardLayout.tsx +2 -8
- package/src/shared/constants/cliTools.js +13 -0
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +0 -1
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +0 -1
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +0 -1
- package/.next/server/app/api/dashboard/chat/completions/route.js +0 -1
- package/.next/server/app/api/dashboard/chat/completions/route.js.nft.json +0 -1
- package/.next/server/app/api/dashboard/chat/completions/route_client-reference-manifest.js +0 -1
- package/.next/server/app/dashboard/basic-chat.html +0 -1
- package/.next/server/app/dashboard/basic-chat.meta +0 -36
- package/.next/server/app/dashboard/basic-chat.rsc +0 -26
- package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +0 -31
- package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +0 -26
- package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +0 -6
- package/.next/static/C423Aljus-j0GJlKCHgC1/_buildManifest.js +0 -1
- package/.next/static/chunks/1278-3b5ed69340ddb23f.js +0 -1
- package/.next/static/chunks/1471-69a7c30abf98c656.js +0 -1
- package/.next/static/chunks/159-89c77cec422bd76f.js +0 -1
- package/.next/static/chunks/2392-b07fcae4714087ef.js +0 -65
- package/.next/static/chunks/2441-96064c4ee1216099.js +0 -1
- package/.next/static/chunks/5113-5c4f5181388aab72.js +0 -1
- package/.next/static/chunks/5778-9d97ce04f2ac118c.js +0 -1
- package/.next/static/chunks/6920-e2b533c1eafa9521.js +0 -1
- package/.next/static/chunks/7835-c1ef8f5cdaaad483.js +0 -1
- package/.next/static/chunks/9320-ae7eb68edeb92e89.js +0 -3
- package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34f4d77aa3df67a8.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-52b5a6dc2c2d2d93.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-9287a3cbd098b9c4.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/page-1d6e969653676c7d.js +0 -1
- package/.next/static/chunks/app/_global-error/page-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/callback/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/start/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/reset-password/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/acs/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/metadata/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/start/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/changelog/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/combos/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/combos/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/dashboard/chat/completions/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/extras/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/restart/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/start/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/status/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/headroom/stop/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/health/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/init/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/keys/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/keys/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/locale/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/alias/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/availability/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/catalog-sync/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/custom/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/disabled/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/models/test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/import/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pricing/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/validate/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/client/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/suggested-models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/test-batch/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/providers/validate/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/health/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/install/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/logs/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/restart/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/start/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stats/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/status/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stop/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/settings/database/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/settings/proxy-test/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/settings/require-login/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/settings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/shutdown/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tags/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/load/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/save/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/send/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/translator/translate/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/disable/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/enable/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/status/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/chart/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/health/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/history/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/logs/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/providers/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/request-details/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/request-logs/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/stats/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/usage/stream/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/api/chat/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/speech/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/voices/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/completions/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/embeddings/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/images/generations/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/models/[...model]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/models/info/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/compact/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/search/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/systemone/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/[id]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/edits/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/extensions/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/generations/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1/web/fetch/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/version/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/version/shutdown/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/api/version/update/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/callback/page-f714c2306a1e9004.js +0 -1
- package/.next/static/chunks/app/dashboard/settings/pricing/page-86197107690a0580.js +0 -1
- package/.next/static/chunks/app/landing/page-7a83d1be493ddc8c.js +0 -1
- package/.next/static/chunks/app/layout-f34e075b1872747e.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/app/page-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-a826a2eb5dc30149.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a826a2eb5dc30149.js +0 -1
- package/.next/static/css/a2628e64fa8ac12e.css +0 -1
- package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +0 -1178
- package/src/app/(dashboard)/dashboard/basic-chat/page.tsx +0 -5
- package/src/app/api/dashboard/chat/completions/route.ts +0 -45
- /package/.next/static/{C423Aljus-j0GJlKCHgC1 → 8QVpvFFKxoB53L449Kgan}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1660],{13794:(e,a,i)=>{i.d(a,{Q2:()=>y,DI:()=>h,fg:()=>d,MA:()=>k,IS:()=>r,nJ:()=>m,rj:()=>c,zN:()=>p,JH:()=>u,wb:()=>F,br:()=>l,wG:()=>v,zt:()=>b,o5:()=>M,gb:()=>f,mq:()=>g});var t=i(38891);let o="⚠️ 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.A.filter(e=>e.display).map(e=>{let a;return[e.id,"RISK_NOTICE"===(a=e.display).deprecationNotice?{...a,deprecationNotice:o}:a]}));let n=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],s=e=>Object.fromEntries(t.A.filter(a=>a.category===e).map(e=>[e.id,function(e){let a={};for(let i of(e.media&&Object.assign(a,e.media),n))void 0!==e[i]&&(a[i]=e[i]);let i={...e.display||{}};return"RISK_NOTICE"===i.deprecationNotice&&(i.deprecationNotice=o),{...i,id:e.id,alias:e.uiAlias||e.alias,...e.hidden?{hidden:!0}:{},...a,...void 0!==e.priority?{priority:e.priority}:{},...e.hasFree?{hasFree:!0}:{},...e.thinkingConfig?{thinkingConfig:e.thinkingConfig}:{},...e.regions?{regions:e.regions,defaultRegion:e.defaultRegion}:{},...e.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...e.noAuth?{noAuth:!0}:{},...e.passthroughModels?{passthroughModels:!0}:{},...e.hasOAuth?{hasOAuth:!0}:{},...e.authModes?{authModes:e.authModes}:{},...e.authType?{authType:e.authType}:{},...e.authHint?{authHint:e.authHint}:{}}}(e)])),r=s("free"),m=s("freeTier"),p=s("oauth"),d=s("apikey"),l=s("webCookie"),c=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Text to Image",icon:"brush",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"imageToText",label:"Image to Text",icon:"image_search",endpoint:{method:"POST",path:"/v1/images/understanding"}},{id:"tts",label:"Text To Speech",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"Speech To Text",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"webSearch",label:"Web Search",icon:"travel_explore",endpoint:{method:"POST",path:"/v1/search"}},{id:"webFetch",label:"Web Fetch",icon:"language",endpoint:{method:"POST",path:"/v1/web/fetch"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/videos/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}},{id:"systemone",label:"System One",icon:"bolt",endpoint:{method:"POST",path:"/v1/systemone"},isNew:!0}],u="openai-compatible-",h="anthropic-compatible-";function g(e){return"string"==typeof e&&e.startsWith(u)}function f(e){return"string"==typeof e&&e.startsWith(h)}let y={...r,...m,...p,...d,...l},k={oauth:{id:"oauth"},apikey:{id:"apikey"},cookie:{id:"cookie"}};function b(e){for(let a of Object.values(y))if(a.alias===e||a.id===e)return a;return null}function v(e){let a=y[e];return a?.alias||e}function M(e){return Object.values(y).filter(a=>!(!(a.serviceKinds??["llm"]).includes(e)||a.hidden||a.hiddenKinds?.includes(e))).sort((e,a)=>(e.priority??e.mediaPriority??999)-(a.priority??a.mediaPriority??999))}Object.values(y).reduce((e,a)=>(e[a.alias]=a.id,e),{}),Object.values(y).reduce((e,a)=>(e[a.id]=a.alias,e),{});let F=t.A.filter(e=>e.features?.usage).map(e=>e.id);t.A.filter(e=>e.features?.usageApikey).map(e=>e.id)},38891:(e,a,i)=>{i.d(a,{A:()=>m});var t=i(11461);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,t.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,t.arch)()}})(),function(){switch((0,t.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,t.platform)()}}();let n="https://daily-cloudcode-pa.googleapis.com",s="antigravity/ide/2.11.0 darwin/arm64",r="0.154.0",m=[{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:[n],format:"antigravity",headers:{"User-Agent":s},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${n}/v1internal:fetchAvailableModels`,quotaSummaryApiUrl:`${n}/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.5-flash-high",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{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-flash",name:"Gemini 3 Flash",thinking:!1},{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:s,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${n}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},{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.258 (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"}},models:[{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",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:"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:r,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${r}`},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-astra",name:"GPT 6.0 Astra"},{id:"gpt-5.6-sol",name:"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-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-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-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{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.4-image",name:"GPT 5.4 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:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!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:"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:{...o},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.1-flash",name:"DeepSeek V4.1 Flash"},{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}},{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:"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-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:"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}},{id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...o},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:{...o},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}},{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/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"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://router.huggingface.co/models"}},{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:"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:{...o},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:{...o},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}},{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:{...o},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:{...o},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}},{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.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: $10/mo, Go Plus $40/mo. Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/inference/go/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/inference/go/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/inference/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"},{format:"claude",baseUrl:"https://opencode.ai/inference/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/inference/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"}],models:[{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 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:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",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:"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:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",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-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"space-bunny-free",name:"Space Bunny Free",supportedFormats:["openai"]},{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview Free",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:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.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"]}],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":"cli"},forceStream:!0,noAuth:!0,thinkingFormat:"openai",quirks:{forceAutoToolChoiceModels:["muse-spark-1.2-contributor-free","muse-spark-1.3-contributor-free"]}},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:"union-alpha",name:"Union Alpha Free",targetFormat:"claude"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/inference/v1/systemone",headers:{"x-opencode-client":"cli","User-Agent":"opencode/latest/2.0.26/cli"}},modelsFetcher:{url:"https://opencode.ai/inference/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:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",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/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",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:"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:"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:"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:"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:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo","mimo-desktop","xmd"],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",signupUrl:"https://mimo.xiaomimimo.com/desktop/invite/"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,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:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-x-pro-preview",name:"MiMo-X-Pro-Preview",upstreamModelId:"xiaomi/mimo-x-pro-preview",supportedFormats:["openai"]},{id:"mimo-x-flash-preview",name:"MiMo-X-Flash-Preview",upstreamModelId:"xiaomi/mimo-x-flash-preview",supportedFormats:["openai"]},{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"},features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{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:{...o},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:"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:"mimo-free",hidden:!0,priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},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/inference/openai/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/inference/openai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"},{format:"claude",baseUrl:"https://opencode.ai/inference/anthropic/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/inference/openai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"}],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:"union-alpha",name:"Union Alpha",supportedFormats:["claude"]},{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/inference/v1/systemone",headers:{"x-opencode-client":"cli","User-Agent":"opencode/latest/2.0.26/cli"}},modelsFetcher:{url:"https://opencode.ai/inference/v1/models",type:"opencode-free"},passthroughModels:!0,features:{usage:!0,usageApikey:!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-...) from 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}}]},51660:(e,a,i)=>{i.d(a,{Q2:()=>t.Q2,fg:()=>t.fg,vQ:()=>o,_$:()=>s,MA:()=>t.MA,UY:()=>m,Nu:()=>n,zN:()=>t.zN,B2:()=>r});var t=i(13794);i(80159);let o={name:"10Router Proxy",description:"AI Infrastructure Management",version:"0.1.15"},n={changelogUrl:"/api/changelog"},s=20128,r={storageKey:"theme",defaultTheme:"light"},m={maxLines:500,pollIntervalMs:1e3}},58014:(e,a,i)=>{i.d(a,{Xg:()=>F,vq:()=>k,KC:()=>x});var t=i(38891),o=i(65746);function n(e,a){let i=o.env[e];if(null==i||""===i)return a;let t=parseInt(i,10);return Number.isFinite(t)&&t>0?t:a}o.env.SEARXNG_URL?.trim(),n("STREAM_STALL_TIMEOUT_MS",36e4),n("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),n("FETCH_CONNECT_TIMEOUT_MS",6e4),n("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);function s(e){return e.split(/[-_\s]+/).filter(Boolean).map(e=>/^\d/.test(e)?e:e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}let r=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,e=>`Kimi K${e[1]}${e[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,e=>`GLM ${e[1]}${e[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,e=>`MiniMax M${e[1]}`],[/^gpt-(.+)$/i,e=>`GPT ${s(e[1])}`],[/^gemini-(.+)$/i,e=>`Gemini ${s(e[1])}`],[/^grok-(.+)$/i,e=>`Grok ${s(e[1])}`],[/^deepseek-(.+)$/i,e=>`DeepSeek ${s(e[1])}`],[/^qwen([\d.]+.*)$/i,e=>`Qwen ${s(e[1])}`]];function m(e){let a="string"==typeof e?{id:e}:e;return void 0!==a.name?a:{...a,name:function(e){if("string"!=typeof e)return e;for(let[a,i]of r){let t=e.match(a);if(t)return i(t)}return e}(a.id)}}let p={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},d=(...e)=>e.map(e=>({...p[e],type:"tts"})),l=d("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),c=d("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),u=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(e=>({id:e,name:e,type:"tts"})),h={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":c,"tts-1":l,"tts-1-hd":l},allVoices:c},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":c,"openai/tts-1":l,"openai/tts-1-hd":l},allVoices:c},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":u,"gemini-2.5-flash-preview-tts":u,"gemini-2.5-pro-preview-tts":u},allVoices:u},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(e=>({type:"tts",...e}))}}},g=["clientId","clientSecret","tokenUrl","refreshUrl"],f=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),y={},k={},b={},v={};for(let e of t.A){e.transport&&(y[e.id]=function(e,a){let i={...e};if(i.format||(i.format="openai"),a)for(let e of g)void 0===i[e]&&void 0!==a[e]&&(i[e]=a[e]);return i}(e.transport,e.oauth),e.transports&&(y[e.id].transports=e.transports)),void 0!==e.models&&(k[e.alias||e.id]=e.models.map(m)),e.oauth&&(b[e.id]=e.oauth);let a={};for(let i of f)void 0!==e[i]&&(a[i]=e[i]);e.media&&Object.assign(a,e.media),Object.keys(a).length&&(v[e.id]=a)}Object.assign(k,function(){let e={};for(let[a,i]of Object.entries(h))i.models&&(e[`${a}-tts-models`]=i.models),i.allVoices&&(e[`${a}-tts-voices`]=i.allVoices),i.defaults&&(e[a]=i.defaults);return e["openai-tts-voices"]=h.openai.allVoices,e["openrouter-tts-voices"]=h.openrouter.allVoices,e}()),y["xiaomi-tokenplan"]?.regions,y["xiaomi-tokenplan"]?.defaultRegion;let M=Object.fromEntries(t.A.filter(e=>e.alias&&e.alias!==e.id).map(e=>[e.id,e.alias])),F=Object.fromEntries(Object.keys(y).map(e=>[e,M[e]||e]));function x(e){return k[F[e]||e]||[]}},80159:(e,a,i)=>{i.d(a,{CP:()=>o,KC:()=>t.KC,Xg:()=>t.Xg,bs:()=>n});var t=i(58014);Object.entries(i(13794).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})));let o=(e,a=null)=>e?.kind||e?.type||a,n={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}}}}]);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1699],{1674:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return c}});let r=n(36656),i=n(69763),l=n(66967),s=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:n=!1,priority:u=!1,preload:p=!1,loading:h,className:d,quality:f,width:g,height:k,fill:m=!1,style:b,overrideSrc:x,onLoad:w,onLoadingComplete:y,placeholder:v="empty",blurDataURL:R,fetchPriority:S,decoding:_="async",layout:C,objectFit:P,objectPosition:$,lazyBoundary:E,lazyRoot:j,...T},A){var D;let I,O,z,{imgConf:M,showAltText:L,blurComplete:B,defaultLoader:F}=A,q=M||l.imageConfigDefault;if("allSizes"in q)I=q;else{let e=[...q.deviceSizes,...q.imageSizes].sort((e,t)=>e-t),t=q.deviceSizes.sort((e,t)=>e-t),n=q.qualities?.sort((e,t)=>e-t);I={...q,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let K=T.loader||F;delete T.loader,delete T.srcSet;let G="__next_img_default"in K;if(G){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=K;K=t=>{let{config:n,...r}=t;return e(r)}}if(C){"fill"===C&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(b={...b,...e});let n={responsive:"100vw",fill:"100vw"}[C];n&&!t&&(t=n)}let N="",U=a(g),Z=a(k);if((D=e)&&"object"==typeof D&&(o(D)||void 0!==D.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(O=t.blurWidth,z=t.blurHeight,R=R||t.blurDataURL,N=t.src,!m)if(U||Z){if(U&&!Z){let e=U/t.width;Z=Math.round(t.height*e)}else if(!U&&Z){let e=Z/t.height;U=Math.round(t.width*e)}}else U=t.width,Z=t.height}let H=!u&&!p&&("lazy"===h||void 0===h);(!(e="string"==typeof e?e:N)||e.startsWith("data:")||e.startsWith("blob:"))&&(n=!0,H=!1),I.unoptimized&&(n=!0),G&&!I.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(n=!0);let Q=a(f),W=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:$}:{},L?{}:{color:"transparent"},b),V=B||"empty"===v?null:"blur"===v?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:U,heightInt:Z,blurWidth:O,blurHeight:z,blurDataURL:R||"",objectFit:W.objectFit})}")`:`url("${v}")`,X=s.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,J=V?{backgroundSize:X,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},Y=function({config:e,src:t,unoptimized:n,width:i,quality:l,sizes:s,loader:o}){if(n){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,r.getDeploymentId)();if(t.includes("/_next/static/immutable")&&!(0,r.getAssetToken)())e=void 0;else if(e){let n=t.indexOf("?");if(-1!==n){let r=new URLSearchParams(t.slice(n+1));r.get("dpl")||(r.append("dpl",e),t=t.slice(0,n)+"?"+r.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:a,kind:c}=function({deviceSizes:e,allSizes:t},n,r){if(r){let n=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=n.exec(r);)i.push(parseInt(e[2]));if(i.length){let n=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*n),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof n?{widths:e,kind:"w"}:{widths:[...new Set([n,2*n].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,s),u=a.length-1;return{sizes:s||"w"!==c?s:"100vw",srcSet:a.map((n,r)=>`${o({config:e,src:t,quality:l,width:n})} ${"w"===c?n:r+1}${c}`).join(", "),src:o({config:e,src:t,quality:l,width:a[u]})}}({config:I,src:e,unoptimized:n,width:U,quality:Q,sizes:t,loader:K}),ee=H?"lazy":h;return{props:{...T,loading:ee,fetchPriority:S,width:U,height:Z,decoding:_,className:d,style:{...W,...J},sizes:Y.sizes,srcSet:Y.srcSet,src:x||Y.src},meta:{unoptimized:n,preload:p||u,placeholder:v,fill:m}}}},2132:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let r=n(15814),i=r.useLayoutEffect,l=r.useEffect;function s(e){let{headManager:t,reduceComponentsToState:n}=e;function s(){if(t&&t.mountedInstances){let e=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(e))}}return i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},15477:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return l}});let r=n(27926)._(n(15814)),i=n(66967),l=r.default.createContext(i.imageConfigDefault)},16653:(e,t,n)=>{n.d(t,{default:()=>i.a});var r=n(80514),i=n.n(r)},20632:(e,t)=>{function n(e,t){let n=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-n)<Math.abs(e-n)?t:e,t.qualities[0]):n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findClosestQuality",{enumerable:!0,get:function(){return n}})},27155:(e,t,n)=>{n.d(t,{q7:()=>U,bL:()=>N,RG:()=>D});var r=n(15814),i=n.t(r,2),l=n(52629),s=n(67458),o=n(74612),a=n(67246),c=n(88461),u=n(40144),p=n(14441),h=n(79742),d=n(20977),f=n(57109),g=Object.defineProperty,k=(e,t)=>g(e,"name",{value:t,configurable:!0}),m=!1;function b(){let[e,t]=r.useState(m);return r.useEffect(()=>{m||(m=!0,t(!0))},[]),e}k(b,"useIsHydrated");var x=i[" useSyncExternalStore ".trim().toString()];function w(){return()=>{}}function y(){return x(w,()=>!0,()=>!1)}k(w,"subscribe"),k(y,"useIsHydratedModern");var v="function"==typeof x?y:b,R=n(29798),S=Object.defineProperty,_=(e,t)=>S(e,"name",{value:t,configurable:!0}),C="rovingFocusGroup.onEntryFocus",P={bubbles:!1,cancelable:!0},$="RovingFocusGroup",[E,j,T]=(0,s.N)($),[A,D]=(0,a.A)($,[T]),[I,O]=A($),z=r.forwardRef(_(function(e,t){return(0,R.jsx)(E.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(E.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,R.jsx)(M,{...e,ref:t})})})},"RovingFocusGroup")),M=r.forwardRef(_(function(e,t){let{__scopeRovingFocusGroup:n,orientation:i,loop:s=!1,dir:a,currentTabStopId:c,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:g,onEntryFocus:k,preventScrollOnEntryFocus:m=!1,...b}=e,x=r.useRef(null),w=(0,o.s)(t,x),y=(0,d.jH)(a),[v,S]=(0,h.i)({prop:c,defaultProp:f??null,onChange:g,caller:$}),[_,E]=r.useState(!1),T=(0,p.c)(k),A=j(n),D=r.useRef(!1),[O,z]=r.useState(0);return r.useEffect(()=>{let e=x.current;if(e)return e.addEventListener(C,T),()=>e.removeEventListener(C,T)},[T]),(0,R.jsx)(I,{scope:n,orientation:i,dir:y,loop:s,currentTabStopId:v,onItemFocus:r.useCallback(e=>S(e),[S]),onItemShiftTab:r.useCallback(()=>E(!0),[]),onFocusableItemAdd:r.useCallback(()=>z(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>z(e=>e-1),[]),children:(0,R.jsx)(u.sG.div,{tabIndex:_||0===O?-1:0,"data-orientation":i,...b,ref:w,style:{outline:"none",...e.style},onMouseDown:(0,l.mK)(e.onMouseDown,()=>{D.current=!0}),onFocus:(0,l.mK)(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(C,P);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=A().filter(e=>e.focusable);K([e.find(e=>e.active),e.find(e=>e.id===v),...e].filter(Boolean).map(e=>e.ref.current),m)}}D.current=!1}),onBlur:(0,l.mK)(e.onBlur,()=>E(!1))})})},"RovingFocusGroupImpl")),L=r.forwardRef(_(function(e,t){let{__scopeRovingFocusGroup:n,focusable:i=!0,active:s=!1,tabStopId:o,children:a,...p}=e,h=(0,c.B)(),d=o||h,g=O("RovingFocusGroupItem",n),k=g.currentTabStopId===d,m=j(n),{onFocusableItemAdd:b,onFocusableItemRemove:x,currentTabStopId:w}=g,y=v();return(0,f.N)(()=>{if(y&&i)return b(),()=>x()},[y,i,b,x]),r.useEffect(()=>{if(!y&&i)return b(),()=>x()},[y,i,b,x]),(0,R.jsx)(E.ItemSlot,{scope:n,id:d,focusable:i,active:s,children:(0,R.jsx)(u.sG.span,{tabIndex:k?0:-1,"data-orientation":g.orientation,...p,ref:t,onMouseDown:(0,l.mK)(e.onMouseDown,e=>{i?g.onItemFocus(d):e.preventDefault()}),onFocus:(0,l.mK)(e.onFocus,()=>g.onItemFocus(d)),onKeyDown:(0,l.mK)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=q(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){"prev"===t&&n.reverse();let r=n.indexOf(e.currentTarget);n=g.loop?G(n,r+1):n.slice(r+1)}setTimeout(()=>K(n))}}),children:"function"==typeof a?a({isCurrentTabStop:k,hasTabStop:null!=w}):a})})},"RovingFocusGroupItem")),B={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function F(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}function q(e,t,n){let r=F(e.key,n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(r))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(r)))return B[r]}function K(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function G(e,t){return e.map((n,r)=>e[(t+r)%e.length])}_(F,"getDirectionAwareKey"),_(q,"getFocusIntent"),_(K,"focusFirst"),_(G,"wrapArray");var N=z,U=L},28904:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(27926)._(n(15814)).default.createContext(null)},34098:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let r=n(27926),i=n(72431),l=n(29798),s=i._(n(15814)),o=r._(n(31571)),a=r._(n(44251)),c=n(1674),u=n(66967),p=n(15477),h=n(28904),d=r._(n(35994)),f=n(44313),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function k(e,t,n,r,i,l,s){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),n?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,i=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}r?.current&&r.current(e)}}))}function m(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}let b=s.useLayoutEffect,x=(0,s.forwardRef)(({src:e,srcSet:t,sizes:n,height:r,width:i,decoding:o,className:a,style:c,fetchPriority:u,placeholder:p,loading:h,unoptimized:d,fill:g,onLoadRef:x,onLoadingCompleteRef:w,setBlurComplete:y,setShowAltText:v,sizesInput:R,onLoad:S,onError:_,...C},P)=>{let $=(0,s.useRef)(!1),E=(0,s.useRef)(null);b(()=>{let{current:e}=$,{current:t}=E;e||null===t||(_&&(t.src=t.src),t.complete&&k(t,p,x,w,y,d,R),$.current=!0)},[e,p,x,w,_,d,R]);let j=(0,f.useMergedRef)(P,E);return(0,l.jsx)("img",{...C,...m(u),loading:h,width:i,height:r,decoding:o,"data-nimg":g?"fill":"1",className:a,style:c,sizes:n,srcSet:t,src:e,ref:j,onLoad:e=>{k(e.currentTarget,p,x,w,y,d,R)},onError:e=>{v(!0),"empty"!==p&&y(!0),_&&_(e)}})});function w({isAppRouter:e,imgAttributes:t}){let n={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...m(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,n),null):(0,l.jsx)(a.default,{children:(0,l.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...n},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,s.forwardRef)((e,t)=>{let n=(0,s.useContext)(h.RouterContext),r=(0,s.useContext)(p.ImageConfigContext),i=(0,s.useMemo)(()=>{let e=g||r||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n,qualities:i,localPatterns:e.localPatterns}},[r]),{onLoad:o,onLoadingComplete:a}=e,f=(0,s.useRef)(o);(0,s.useEffect)(()=>{f.current=o},[o]);let k=(0,s.useRef)(a);(0,s.useEffect)(()=>{k.current=a},[a]);let[m,b]=(0,s.useState)(!1),[y,v]=(0,s.useState)(!1),{props:R,meta:S}=(0,c.getImgProps)(e,{defaultLoader:d.default,imgConf:i,blurComplete:m,showAltText:y});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(x,{...R,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:f,onLoadingCompleteRef:k,setBlurComplete:b,setShowAltText:v,sizesInput:e.sizes,ref:t}),S.preload?(0,l.jsx)(w,{isAppRouter:!n,imgAttributes:R}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35994:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let r=n(20632),i=n(36656);function l({config:e,src:t,width:n,quality:s}){let o=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//"))if(t.includes("/_next/static/immutable")&&!(0,i.getAssetToken)())o=void 0;else{let e=t.indexOf("?");if(-1!==e){let n=new URLSearchParams(t.slice(e+1)),r=n.get("dpl");if(r){o=r,n.delete("dpl");let i=n.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,r.findClosestQuality)(s,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${n}&q=${a}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}l.__next_img_default=!0;let s=l},44251:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={default:function(){return g},defaultHead:function(){return p}};for(var i in r)Object.defineProperty(t,i,{enumerable:!0,get:r[i]});let l=n(27926),s=n(72431),o=n(29798),a=s._(n(15814)),c=l._(n(2132)),u=n(15979);function p(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}let d=["name","httpEquiv","charSet","itemProp"];function f(e){let t,n,r,i;return e.reduce(h,[]).reverse().concat(p().reverse()).filter((t=new Set,n=new Set,r=new Set,i={},e=>{let l=!0,s=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){s=!0;let n=e.key.slice(e.key.indexOf("$")+1);t.has(n)?l=!1:t.add(n)}switch(e.type){case"title":case"base":n.has(e.type)?l=!1:n.add(e.type);break;case"meta":for(let t=0,n=d.length;t<n;t++){let n=d[t];if(e.props.hasOwnProperty(n))if("charSet"===n)r.has(n)?l=!1:r.add(n);else{let t=e.props[n],r=i[n]||new Set;("name"!==n||!s)&&r.has(t)?l=!1:(r.add(t),i[n]=r)}}}return l})).reverse().map((e,t)=>{let n=e.key||t;return a.default.cloneElement(e,{key:n})})}let g=function({children:e}){let t=(0,a.useContext)(u.HeadManagerContext);return(0,o.jsx)(c.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47151:(e,t,n)=>{n.d(t,{UC:()=>eB,q7:()=>eq,JU:()=>eF,ZL:()=>eL,bL:()=>ez,wv:()=>eK,l9:()=>eM});var r=n(15814),i=n(52629),l=n(74612),s=n(67246),o=n(79742),a=n(40144),c=n(67458),u=n(20977),p=n(47670),h=n(99059),d=n(73138),f=n(87811),g=n(75211),k=n(14417),m=n(27155),b=n(80954),x=n(14441),w=n(86029),y=n(6424),v=n(29798),R=Object.defineProperty,S=(e,t)=>R(e,"name",{value:t,configurable:!0}),_=["Enter"," "],C=["ArrowUp","PageDown","End"],P=["ArrowDown","PageUp","Home",...C];[..._],[..._];var $="Menu",[E,j,T]=(0,c.N)($),[A,D]=(0,s.A)($,[T,f.Bk,m.RG]),I=(0,f.Bk)(),O=(0,m.RG)(),[z,M]=A($),[L,B]=A($),F=S(e=>{let{__scopeMenu:t,open:n=!1,children:i,dir:l,onOpenChange:s,modal:o=!0}=e,a=I(t),[c,p]=r.useState(null),h=r.useRef(!1),d=(0,x.c)(s),g=(0,u.jH)(l);return r.useEffect(()=>{let e=S(()=>{h.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},"handleKeyDown"),t=S(()=>h.current=!1,"handlePointer");return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),r.useEffect(()=>{if(!n)return;let e=S(()=>d(!1),"handleBlur");return window.addEventListener("blur",e),()=>window.removeEventListener("blur",e)},[n,d]),(0,v.jsx)(f.bL,{...a,children:(0,v.jsx)(z,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:p,children:(0,v.jsx)(L,{scope:t,onClose:r.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:h,dir:g,modal:o,children:i})})})},"Menu"),q=r.forwardRef(S(function(e,t){let{__scopeMenu:n,...r}=e,i=I(n);return(0,v.jsx)(f.Mz,{...i,...r,ref:t})},"MenuAnchor")),K="MenuPortal",[G,N]=A(K,{forceMount:void 0}),U=S(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,l=M(K,t);return(0,v.jsx)(G,{scope:t,forceMount:n,children:(0,v.jsx)(k.C,{present:n||l.open,children:(0,v.jsx)(g.Z,{asChild:!0,container:i,children:r})})})},"MenuPortal"),Z="MenuContent",[H,Q]=A(Z),W=r.forwardRef(S(function(e,t){let n=N(Z,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,l=M(Z,e.__scopeMenu),s=B(Z,e.__scopeMenu);return(0,v.jsx)(E.Provider,{scope:e.__scopeMenu,children:(0,v.jsx)(k.C,{present:r||l.open,children:(0,v.jsx)(E.Slot,{scope:e.__scopeMenu,children:s.modal?(0,v.jsx)(V,{...i,ref:t}):(0,v.jsx)(X,{...i,ref:t})})})})},"MenuContent")),V=r.forwardRef(S(function(e,t){let n=M(Z,e.__scopeMenu),s=r.useRef(null),o=(0,l.s)(t,s);return r.useEffect(()=>{let e=s.current;if(e)return(0,w.Eq)(e)},[]),(0,v.jsx)(Y,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,i.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},"MenuRootContentModal")),X=r.forwardRef(S(function(e,t){let n=M(Z,e.__scopeMenu);return(0,v.jsx)(Y,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},"MenuRootContentNonModal")),J=(0,b.TL)("MenuContent.ScrollLock"),Y=r.forwardRef(S(function(e,t){let{__scopeMenu:n,loop:s=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:c,disableOutsidePointerEvents:u,onEntryFocus:g,onEscapeKeyDown:k,onPointerDownOutside:b,onFocusOutside:x,onInteractOutside:w,onDismiss:R,disableOutsideScroll:_,...$}=e,E=M(Z,n),T=B(Z,n),A=I(n),D=O(n),z=j(n),[L,F]=r.useState(null),q=r.useRef(null),K=(0,l.s)(t,q,E.onContentChange),G=r.useRef(0),N=r.useRef(""),U=r.useRef(0),Q=r.useRef(null),W=r.useRef("right"),V=r.useRef(0),X=_?y.A:r.Fragment,Y=S(e=>{let t=N.current+e,n=z().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,l=ek(n.map(e=>e.textValue),t,i),s=n.find(e=>e.textValue===l)?.ref.current;s&&setTimeout(()=>s.focus())},"handleTypeaheadSearch");r.useEffect(()=>()=>window.clearTimeout(G.current),[]),(0,h.Oh)();let ee=r.useCallback(e=>W.current===Q.current?.side&&eb(e,Q.current?.area),[]);return(0,v.jsx)(H,{scope:n,searchRef:N,onItemEnter:r.useCallback(e=>{ee(e)&&e.preventDefault()},[ee]),onItemLeave:r.useCallback(e=>{ee(e)||(q.current?.focus(),F(null))},[ee]),onTriggerLeave:r.useCallback(e=>{ee(e)&&e.preventDefault()},[ee]),pointerGraceTimerRef:U,onPointerGraceIntentChange:r.useCallback(e=>{Q.current=e},[]),children:(0,v.jsx)(X,{..._?{as:J,allowPinchZoom:!0}:void 0,children:(0,v.jsx)(d.n,{asChild:!0,trapped:o,onMountAutoFocus:(0,i.mK)(a,e=>{e.preventDefault(),q.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:c,children:(0,v.jsx)(p.qW,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:k,onPointerDownOutside:b,onFocusOutside:x,onInteractOutside:w,onDismiss:R,children:(0,v.jsx)(m.bL,{asChild:!0,...D,dir:T.dir,orientation:"vertical",loop:s,currentTabStopId:L,onCurrentTabStopIdChange:F,onEntryFocus:(0,i.mK)(g,e=>{T.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,v.jsx)(f.UC,{role:"menu","aria-orientation":"vertical","data-state":eh(E.open),"data-radix-menu-content":"",dir:T.dir,...A,...$,ref:K,style:{outline:"none",...$.style},onKeyDown:(0,i.mK)($.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&r&&Y(e.key));let i=q.current;if(e.target!==i||!P.includes(e.key))return;e.preventDefault();let l=z().filter(e=>!e.disabled).map(e=>e.ref.current);C.includes(e.key)&&l.reverse(),ef(l)}),onBlur:(0,i.mK)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(G.current),N.current="")}),onPointerMove:(0,i.mK)(e.onPointerMove,ex(e=>{let t=e.target,n=V.current!==e.clientX;e.currentTarget.contains(t)&&n&&(W.current=e.clientX>V.current?"right":"left",V.current=e.clientX)}))})})})})})})},"MenuContentImpl")),ee=r.forwardRef(S(function(e,t){let{__scopeMenu:n,...r}=e;return(0,v.jsx)(a.sG.div,{...r,ref:t})},"MenuLabel")),et="MenuItem",en="menu.itemSelect",er=r.forwardRef(S(function(e,t){let{disabled:n=!1,onSelect:s,...o}=e,c=r.useRef(null),u=B(et,e.__scopeMenu),p=Q(et,e.__scopeMenu),h=(0,l.s)(t,c),d=r.useRef(!1),f=S(()=>{let e=c.current;if(!n&&e){let t=new CustomEvent(en,{bubbles:!0,cancelable:!0});e.addEventListener(en,e=>s?.(e),{once:!0}),(0,a.hO)(e,t),t.defaultPrevented?d.current=!1:u.onClose()}},"handleSelect");return(0,v.jsx)(ei,{...o,ref:h,disabled:n,onClick:(0,i.mK)(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:(0,i.mK)(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(""===p.searchRef.current||" "!==e.key)&&_.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},"MenuItem")),ei=r.forwardRef(S(function(e,t){let{__scopeMenu:n,disabled:s=!1,textValue:o,...c}=e,u=Q(et,n),p=O(n),h=r.useRef(null),d=(0,l.s)(t,h),[f,g]=r.useState(!1),[k,b]=r.useState("");return r.useEffect(()=>{let e=h.current;e&&b((e.textContent??"").trim())},[c.children]),(0,v.jsx)(E.ItemSlot,{scope:n,disabled:s,textValue:o??k,children:(0,v.jsx)(m.q7,{asChild:!0,...p,focusable:!s,children:(0,v.jsx)(a.sG.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":s||void 0,"data-disabled":s?"":void 0,...c,ref:d,onPointerMove:(0,i.mK)(e.onPointerMove,ex(e=>{s?u.onItemLeave(e):(u.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,i.mK)(e.onPointerLeave,ex(e=>u.onItemLeave(e))),onFocus:(0,i.mK)(e.onFocus,()=>g(!0)),onBlur:(0,i.mK)(e.onBlur,()=>g(!1))})})})},"MenuItemImpl")),[el,es]=A("MenuRadioGroup",{value:void 0,onValueChange:S(()=>{},"onValueChange")}),[eo,ea]=A("MenuItemIndicator",{checked:!1}),ec=r.forwardRef(S(function(e,t){let{__scopeMenu:n,...r}=e;return(0,v.jsx)(a.sG.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})},"MenuSeparator")),[eu,ep]=A("MenuSub");function eh(e){return e?"open":"closed"}function ed(e){return"indeterminate"===e}function ef(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function eg(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function ek(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,l=eg(e,Math.max(i,0));1===r.length&&(l=l.filter(e=>e!==n));let s=l.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return s!==n?s:void 0}function em(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let s=t[e],o=t[l],a=s.x,c=s.y,u=o.x,p=o.y;c>r!=p>r&&n<(u-a)*(r-c)/(p-c)+a&&(i=!i)}return i}function eb(e,t){return!!t&&em({x:e.clientX,y:e.clientY},t)}function ex(e){return t=>"mouse"===t.pointerType?e(t):void 0}S(eh,"getOpenState"),S(ed,"isIndeterminate"),S(function(e){return ed(e)?"indeterminate":e?"checked":"unchecked"},"getCheckedState"),S(ef,"focusFirst"),S(eg,"wrapArray"),S(ek,"getNextMatch"),S(em,"isPointInPolygon"),S(eb,"isPointerInGraceArea"),S(ex,"whenMouse");var ew=n(88461),ey=Object.defineProperty,ev=(e,t)=>ey(e,"name",{value:t,configurable:!0}),eR="DropdownMenu",[eS,e_]=(0,s.A)(eR,[D]),eC=D(),[eP,e$]=eS(eR),eE=ev(e=>{let{__scopeDropdownMenu:t,children:n,dir:i,open:l,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,u=eC(t),p=r.useRef(null),[h,d]=(0,o.i)({prop:l,defaultProp:s??!1,onChange:a,caller:eR});return(0,v.jsx)(eP,{scope:t,triggerId:(0,ew.B)(),triggerRef:p,contentId:(0,ew.B)(),open:h,onOpenChange:d,onOpenToggle:r.useCallback(()=>d(e=>!e),[d]),modal:c,children:(0,v.jsx)(F,{...u,open:h,onOpenChange:d,dir:i,modal:c,children:n})})},"DropdownMenu"),ej=r.forwardRef(ev(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...s}=e,o=e$("DropdownMenuTrigger",n),c=eC(n),u=(0,l.s)(t,o.triggerRef);return(0,v.jsx)(q,{asChild:!0,...c,children:(0,v.jsx)(a.sG.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:u,onPointerDown:(0,i.mK)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&o.onOpenToggle(),"ArrowDown"===e.key&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})},"DropdownMenuTrigger")),eT=ev(e=>{let{__scopeDropdownMenu:t,...n}=e,r=eC(t);return(0,v.jsx)(U,{...r,...n})},"DropdownMenuPortal"),eA=r.forwardRef(ev(function(e,t){let{__scopeDropdownMenu:n,...l}=e,s=e$("DropdownMenuContent",n),o=eC(n),a=r.useRef(!1);return(0,v.jsx)(W,{id:s.contentId,"aria-labelledby":s.triggerId,...o,...l,ref:t,onCloseAutoFocus:(0,i.mK)(e.onCloseAutoFocus,e=>{a.current||s.triggerRef.current?.focus(),a.current=!1,e.preventDefault()}),onInteractOutside:(0,i.mK)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!s.modal||r)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuContent")),eD=r.forwardRef(ev(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=eC(n);return(0,v.jsx)(ee,{...i,...r,ref:t})},"DropdownMenuLabel")),eI=r.forwardRef(ev(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=eC(n);return(0,v.jsx)(er,{...i,...r,ref:t})},"DropdownMenuItem")),eO=r.forwardRef(ev(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=eC(n);return(0,v.jsx)(ec,{...i,...r,ref:t})},"DropdownMenuSeparator")),ez=eE,eM=ej,eL=eT,eB=eA,eF=eD,eq=eI,eK=eO},58013:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(15814);let i=e=>{let t,n=new Set,r=(e,r)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>s,subscribe:e=>(n.add(e),()=>n.delete(e))},s=t=e(r,i,l);return l},l=e=>{let t=e?i(e):i,n=e=>(function(e,t=e=>e){let n=r.useSyncExternalStore(e.subscribe,r.useCallback(()=>t(e.getState()),[e,t]),r.useCallback(()=>t(e.getInitialState()),[e,t]));return r.useDebugValue(n),n})(t,e);return Object.assign(n,t),n},s=e=>e?l(e):l},62392:(e,t,n)=>{function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}n.d(t,{xI:()=>ej});var i=r(),l={exec:()=>null};function s(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function o(e,t=""){let n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(c.caret,"$1"),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var a=((e="")=>{try{return!!RegExp("(?<=1)(?<!1)"+e)}catch{return!1}})(),c={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:s(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:s(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:s(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:s(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:s(e=>RegExp(`^ {0,${e}}(?:</?(?:${x})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,"i")),blockquoteBeginRegex:s(e=>RegExp(`^ {0,${e}}>`))},u=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,h=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,d=o(h).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f=o(h).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),g=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,k=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,m=o(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",k).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),b=o(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),x="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,y=o("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",x).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),v=e=>o(g).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",e).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x).getRegex(),R=v(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),S=v(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),_={blockquote:o(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",S).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:m,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:u,html:y,lheading:d,list:b,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:R,table:l,text:/^[^\n]+/},C=o("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x).getRegex(),P={..._,lheading:f,table:C,paragraph:o(g).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",C).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",x).getRegex()},$={..._,html:o("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:o(g).replace("hr",u).replace("heading",` *#{1,6} *[^
|
|
4
|
+
]`).replace("lheading",d).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},E=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,j=/[\p{P}\p{S}]/u,T=/[\s\p{P}\p{S}]/u,A=/[^\s\p{P}\p{S}]/u,D=o(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,T).getRegex(),I=/(?!~)[\p{P}\p{S}]/u,O=o(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",a?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),z=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,M=o(z,"u").replace(/punct/g,j).getRegex(),L=o(z,"u").replace(/punct/g,I).getRegex(),B=o(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,"u").replace(/openQuote/g,/[\p{Pi}\p{Ps}"']/u).replace(/punct/g,j).getRegex(),F="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",q=o(F,"gu").replace(/notPunctSpace/g,A).replace(/punctSpace/g,T).replace(/punct/g,j).getRegex(),K=o(F,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,I).getRegex(),G=o("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,A).replace(/punctSpace/g,T).replace(/punct/g,j).getRegex(),N=o("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,A).replace(/punctSpace/g,T).replace(/punct/g,j).getRegex(),U=o("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,A).replace(/punctSpace/g,T).replace(/punct/g,j).getRegex(),Z=o(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,j).getRegex(),H=o("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,A).replace(/punctSpace/g,T).replace(/punct/g,j).getRegex(),Q=o(/\\(punct)/,"gu").replace(/punct/g,j).getRegex(),W=o(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),V=o(w).replace("(?:--\x3e|$)","--\x3e").getRegex(),X=o("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",V).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),J=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,Y=o(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",J).getRegex(),ee=o(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Y).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),et=o(/^!?\[(label)\]\[(ref)\]/).replace("label",Y).replace("ref",k).getRegex(),en=o(/^!?\[(ref)\](?:\[\])?/).replace("ref",k).getRegex(),er=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,ei=o(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",J).getRegex(),el=o("reflink|nolink(?!\\()","g").replace("reflink",o(/^!?\[(label)\]\[(ref)\]/).replace("label",ei).replace("ref",er).getRegex()).replace("nolink",o(/^!?\[(ref)\](?:\[\])?/).replace("ref",er).getRegex()).getRegex(),es=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,eo={_backpedal:l,anyPunctuation:Q,autolink:W,blockSkip:O,br:E,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:M,emStrongRDelimAst:q,emStrongRDelimUnd:N,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:ee,nolink:en,punctuation:D,reflink:et,reflinkSearch:el,tag:X,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},ea={...eo,emStrongLDelim:B,emStrongRDelimAst:G,emStrongRDelimUnd:U,link:o(/^!?\[(label)\]\((.*?)\)/).replace("label",Y).getRegex(),reflink:o(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Y).getRegex()},ec={...eo,emStrongRDelimAst:K,emStrongLDelim:L,delLDelim:Z,delRDelim:H,url:o(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",es).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:o(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",es).getRegex()},eu={...ec,br:o(E).replace("{2,}","*").getRegex(),text:o(ec.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ep={normal:_,gfm:P,pedantic:$},eh={normal:eo,gfm:ec,breaks:eu,pedantic:ea},ed={"&":"&","<":"<",">":">",'"':""","'":"'"},ef=e=>ed[e];function eg(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,ef)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,ef);return e}function ek(e){try{e=encodeURI(e).replace(c.percentDecode,"%")}catch{return null}return e}function em(e,t){let n=e.replace(c.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(c.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(c.slashPipe,"|");return n}function eb(e,t,n){let r=e.length;if(0===r)return"";let i=0;for(;i<r;){let l=e.charAt(r-i-1);if(l!==t||n)if(l!==t&&n)i++;else break;else i++}return e.slice(0,r-i)}function ex(e){let t=e.split(`
|
|
5
|
+
`),n=t.length-1;for(;n>=0&&c.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
6
|
+
`)}function ew(e){return e.toLowerCase().toUpperCase().toLowerCase()}function ey(e,t,n,r,i){let l=t.href,s=t.title||null,o=e[1].replace(i.other.outputLinkReplace,"$1"),a="!"===e[0].charAt(0);r.state.inLink=!0;let c=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let p=r.inlineTokens(o),h=r.state.linkEmitted;if(r.state.linkEmitted=c,r.state.inLink=!1,!a){if(h){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:a?"image":"link",raw:n,href:l,title:s,text:o,tokens:p}}function ev(e,t,n,r){if(!t.includes("<"))return!1;for(let i=0;i<t.length;i++){if("\\"===t[i]){i++;continue}if("`"===t[i]){let e=r.inline.code.exec(t.slice(i));if(e){i+=e[0].length-1;continue}}if("<"!==t[i])continue;let l=e.slice(n+i),s=r.inline.tag.exec(l)||r.inline.autolink.exec(l);if(s){if(s[0].length>t.length-i)return!0;i+=s[0].length-1}}return!1}var eR=class{options;rules;lexer;constructor(e){this.options=e||i}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:ex(t[0]),n=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:n}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let i=r[1];return t.split(`
|
|
7
|
+
`).map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return e.slice(Math.min(r.length,i.length))}).join(`
|
|
8
|
+
`)}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eb(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceTabChar.test(t))&&(e=t.trim())}return{type:"heading",raw:eb(t[0],`
|
|
9
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eb(t[0],`
|
|
10
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eb(t[0],`
|
|
11
|
+
`).split(`
|
|
12
|
+
`),n="",r="",i=[];for(;e.length>0;){let t=!1,l=[],s;for(s=0;s<e.length;s++)if(this.rules.other.blockquoteStart.test(e[s]))l.push(e[s]),t=!0;else if(t)break;else l.push(e[s]);e=e.slice(s);let o=l.join(`
|
|
13
|
+
`),a=o.replace(this.rules.other.blockquoteSetextReplace,`
|
|
14
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");n=n?`${n}
|
|
15
|
+
${o}`:o,r=r?`${r}
|
|
16
|
+
${a}`:a;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,i,!0),this.lexer.state.top=c,0===e.length)break;let u=i.at(-1);if(u?.type==="code")break;if(u?.type==="blockquote"){let t=e.join(`
|
|
17
|
+
`),l=u.raw+`
|
|
18
|
+
`+t.replace(this.rules.other.blockquoteSetextReplace2,""),s=this.blockquote(l);i[i.length-1]=s,n=`${n}
|
|
19
|
+
${t}`,r=r.substring(0,r.length-u.text.length)+s.text;break}if(u?.type==="list"){let t=u.raw+`
|
|
20
|
+
`+e.join(`
|
|
21
|
+
`),l=this.list(t);i[i.length-1]=l,n=n.substring(0,n.length-u.raw.length)+l.raw,r=r.substring(0,r.length-u.raw.length)+l.raw,e=t.substring(i.at(-1).raw.length).split(`
|
|
22
|
+
`);continue}}return{type:"blockquote",raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let l=this.rules.other.listItemRegex(n),s=!1;for(;e;){let n=!1,r="",o="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let a=function(e,t=0){let n=t,r="";for(let t of e)if(" "===t){let e=4-n%4;r+=" ".repeat(e),n+=e}else r+=t,n++;return r}(t[2].split(`
|
|
23
|
+
`,1)[0],t[1].length),c=e.split(`
|
|
24
|
+
`,1)[0],u=!a.trim(),p=0;if(this.options.pedantic?(p=2,o=a.trimStart()):u?p=t[1].length+1:(p=(p=a.search(this.rules.other.nonSpaceChar))>4?1:p,o=a.slice(p),p+=t[1].length),u&&this.rules.other.blankLine.test(c)&&(r+=c+`
|
|
25
|
+
`,e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),i=this.rules.other.fencesBeginRegex(p),l=this.rules.other.headingBeginRegex(p),s=this.rules.other.htmlBeginRegex(p),h=this.rules.other.blockquoteBeginRegex(p);for(;e;){let d=e.split(`
|
|
26
|
+
`,1)[0],f;if(c=d,f=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),i.test(c)||l.test(c)||s.test(c)||h.test(c)||t.test(c)||n.test(c))break;if(f.search(this.rules.other.nonSpaceChar)>=p||!c.trim())o+=`
|
|
27
|
+
`+f.slice(p);else{if(u||a.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||i.test(a)||l.test(a)||n.test(a))break;o+=`
|
|
28
|
+
`+c}u=!c.trim(),r+=d+`
|
|
29
|
+
`,e=e.substring(d.length+1),a=f.slice(p)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(s=!0)),i.items.push({type:"list_item",raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(o),loose:!1,text:o,tokens:[]}),i.raw+=r}let o=i.items.at(-1);if(!o)return;for(let e of(o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd(),i.raw=i.raw.trimEnd(),i.items))if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>"space"===e.type);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type==="text"||t?.type==="paragraph")){e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:"checkbox",raw:n[0]+" ",checked:"[ ]"!==n[0]};e.checked=t.checked,i.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&(e.task=!1)}if(i.loose)for(let e of i.items)for(let t of(e.loose=!0,e.tokens))"text"===t.type&&(t.type="paragraph");return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=ex(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=ew(t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:eb(t[0],`
|
|
30
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=em(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
31
|
+
`):[],l={type:"table",raw:eb(t[0],`
|
|
32
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?l.align.push("right"):this.rules.other.tableAlignCenter.test(e)?l.align.push("center"):this.rules.other.tableAlignLeft.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<n.length;e++)l.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:l.align[e]});for(let e of i)l.rows.push(em(e,l.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]})));return l}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:eb(t[0],`
|
|
33
|
+
`),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
34
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n="!"===t[0].charAt(0)?2:1;if(!this.options.pedantic&&ev(e,t[1],n,this.rules))return;let r=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let e=eb(r.slice(0,-1),"\\");if((r.length-e.length)%2==0)return}else{let e=function(e){if(-1===e.indexOf(")"))return -1;let t=0;for(let n=0;n<e.length;n++)if("\\"===e[n])n++;else if("("===e[n])t++;else if(")"===e[n]&&--t<0)return n;return t>0?-2:-1}(t[2]);if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let i=t[2],l="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(i);e&&(i=e[1],l=e[3])}else l=t[3]?t[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(i=this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?i.slice(1):i.slice(1,-1)),ey(t,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:l&&l.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r="!"===n[0].charAt(0)?2:1;if(!this.options.pedantic&&ev(e,n[1],r,this.rules))return;let i=t[ew((n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "))];if(!i){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return ey(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,l,s,o=i,a=0,c=r[0][0],u=n===c,p="*"===c?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,t=t.slice(-1*e.length+i);null!==(r=p.exec(t));){if(!(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(s=[...l].length,r[3]||r[4]){o+=s;continue}if(r[5]||r[6]){if(i%3&&!((i+s)%3)){a+=s;continue}if(u)break}if((o-=s)>0)continue;s=Math.min(s,s+o+a);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+s);if(Math.min(i,s)%2){let e=n.slice(1,-1);return{type:"em",raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let c=n.slice(2,-2);return{type:"strong",raw:n,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,l,s=n,o=this.rules.inline.delRDelim;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=o.exec(t));){if(!(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])||(l=[...i].length)!==n)continue;if(r[3]||r[4]){s+=l;continue}if((s-=l)>0)continue;l=Math.min(l,l+s);let t=[...r[0]][0].length,o=e.slice(0,n+r.index+t+l),a=o.slice(n,-n);return{type:"del",raw:o,text:a,tokens:this.lexer.inlineTokens(a)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])n="mailto:"+(e=t[0]);else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0]);e=t[0],n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,autolink:!0,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},eS=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||i,this.options.tokenizer=this.options.tokenizer||new eR,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:c,block:ep.normal,inline:eh.normal};this.options.pedantic?(t.block=ep.pedantic,t.inline=eh.pedantic):this.options.gfm&&(t.block=ep.gfm,this.options.breaks?t.inline=eh.breaks:t.inline=eh.gfm),this.tokenizer.rules=t}static get rules(){return{block:ep,inline:eh}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,`
|
|
35
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal," ").replace(c.spaceLine,""));let r=1/0;for(;e;){let i;if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(this.options.extensions?.block?.some(n=>!!(i=n.call({lexer:this},e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);1===i.raw.length&&void 0!==n?n.raw+=`
|
|
36
|
+
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type==="paragraph"||n?.type==="text"?(n.raw+=(n.raw.endsWith(`
|
|
37
|
+
`)?"":`
|
|
38
|
+
`)+i.raw,n.text+=`
|
|
39
|
+
`+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if((i=this.tokenizer.fences(e))||(i=this.tokenizer.heading(e))||(i=this.tokenizer.hr(e))||(i=this.tokenizer.blockquote(e))||(i=this.tokenizer.list(e))||(i=this.tokenizer.html(e))){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type==="paragraph"||n?.type==="text"?(n.raw+=(n.raw.endsWith(`
|
|
40
|
+
`)?"":`
|
|
41
|
+
`)+i.raw,n.text+=`
|
|
42
|
+
`+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if((i=this.tokenizer.table(e))||(i=this.tokenizer.lheading(e))){e=e.substring(i.raw.length),t.push(i);continue}let l=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(l=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(l))){let r=t.at(-1);n&&r?.type==="paragraph"?(r.raw+=(r.raw.endsWith(`
|
|
43
|
+
`)?"":`
|
|
44
|
+
`)+i.raw,r.text+=`
|
|
45
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=l.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type==="text"?(n.raw+=(n.raw.endsWith(`
|
|
46
|
+
`)?"":`
|
|
47
|
+
`)+i.raw,n.text+=`
|
|
48
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes("["))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&"!"!==e.charAt(n.index-1))return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf("[");if(!("!"===e.charAt(0)||!Object.hasOwn(this.tokens.links,ew(e.slice(n+1,-1))))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes("[")){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,ew(n.slice(r+1,-1))))return n;if(r>1&&"!"!==n.charAt(0)){let i=n.slice(1,r-1);if(this.linkInText(i))return"["+i.replace(e,t)+"]["+"a".repeat(n.length-r-2)+"]"}return"["+"a".repeat(n.length-2)+"]"};n=n.replace(e,t)}n=(n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>"+".repeat(e.length))).replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+"["+"a".repeat(e.length-r-2)+"]"}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i="",l=1/0;for(;e;){let s;if(e.length<l)l=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(r||(i=""),r=!1,this.options.extensions?.inline?.some(n=>!!(s=n.call({lexer:this},e,t))&&(e=e.substring(s.raw.length),t.push(s),!0)))continue;if((s=this.tokenizer.escape(e))||(s=this.tokenizer.tag(e))||(s=this.tokenizer.link(e))){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length);let n=t.at(-1);"text"===s.type&&n?.type==="text"?(n.raw+=s.raw,n.text+=s.text):t.push(s);continue}if((s=this.tokenizer.emStrong(e,n,i))||(s=this.tokenizer.codespan(e))||(s=this.tokenizer.br(e))||(s=this.tokenizer.del(e,n,i))||(s=this.tokenizer.autolink(e))||!this.state.inLink&&(s=this.tokenizer.url(e))){e=e.substring(s.raw.length),t.push(s);continue}let o=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(s=this.tokenizer.inlineText(o)){e=e.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(i=s.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type==="text"?(n.raw+=s.raw,n.text+=s.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw Error(t)}},e_=class{options;parser;constructor(e){this.options=e||i}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(c.notSpaceStart)?.[0],i=e?e.replace(c.endingNewline,"")+`
|
|
49
|
+
`:"";return r?'<pre><code class="language-'+eg(r)+'">'+(n?i:eg(i,!0))+`</code></pre>
|
|
50
|
+
`:"<pre><code>"+(n?i:eg(i,!0))+`</code></pre>
|
|
51
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
52
|
+
${this.parser.parse(e)}</blockquote>
|
|
53
|
+
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
54
|
+
`}hr(e){return`<hr>
|
|
55
|
+
`}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+`>
|
|
56
|
+
`+r+"</"+i+`>
|
|
57
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
58
|
+
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
59
|
+
`}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n="";for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
|
|
60
|
+
<thead>
|
|
61
|
+
`+t+`</thead>
|
|
62
|
+
`+r+`</table>
|
|
63
|
+
`}tablerow({text:e}){return`<tr>
|
|
64
|
+
${e}</tr>
|
|
65
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
66
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${eg(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:n,tokens:r,autolink:i}){let l=i?eg(n,!0):this.parser.parseInline(r),s=ek(e);if(null===s)return l;let o='<a href="'+(e=eg(s,i))+'"';return t&&(o+=' title="'+eg(t)+'"'),o+=">"+l+"</a>"}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=ek(e);if(null===i)return eg(n);e=i;let l=`<img src="${eg(e)}" alt="${eg(n)}"`;return t&&(l+=` title="${eg(t)}"`),l+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:eg(e.text)}},eC=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},eP=class e{options;renderer;textRenderer;constructor(e){this.options=e||i,this.options.renderer=this.options.renderer||new e_,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new eC}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(r.type)){t+=e||"";continue}}switch(r.type){case"space":t+=this.renderer.space(r);break;case"hr":t+=this.renderer.hr(r);break;case"heading":t+=this.renderer.heading(r);break;case"code":t+=this.renderer.code(r);break;case"table":t+=this.renderer.table(r);break;case"blockquote":t+=this.renderer.blockquote(r);break;case"list":t+=this.renderer.list(r);break;case"checkbox":t+=this.renderer.checkbox(r);break;case"html":t+=this.renderer.html(r);break;case"def":t+=this.renderer.def(r);break;case"paragraph":t+=this.renderer.paragraph(r);break;case"text":t+=this.renderer.text(r);break;default:{let e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"checkbox":n+=t.checkbox(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}},e$=class{options;block;constructor(e){this.options=e||i}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?eS.lex:eS.lexInline}provideParser(e=this.block){return e?eP.parse:eP.parseInline}},eE=new class{defaults=r();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=eP;Renderer=e_;TextRenderer=eC;Lexer=eS;Tokenizer=eR;Hooks=e$;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":for(let e of r.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of r.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(r.items,t));break;default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new e_(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let r=e.renderer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new eR(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=e.tokenizer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new e$;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let r=e.hooks[n],i=t[n];e$.passThroughHooks.has(n)?t[n]=e=>{if(this.defaults.async&&e$.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await r.call(t,e);return i.call(t,n)})();let l=r.call(t,e);return i.call(t,l)}:t[n]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await r.apply(t,e);return!1===n&&(n=await i.apply(t,e)),n})();let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return eS.lex(e,t??this.defaults)}parser(e,t){return eP.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},l=this.onError(!!i.silent,!!i.async);if(!0===this.defaults.async&&!1===r.async)return l(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await (i.hooks?await i.hooks.provideLexer(e):e?eS.lex:eS.lexInline)(n,i),l=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(l,i.walkTokens));let s=await (i.hooks?await i.hooks.provideParser(e):e?eP.parse:eP.parseInline)(l,i);return i.hooks?await i.hooks.postprocess(s):s})().catch(l);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?eS.lex:eS.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?eP.parse:eP.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return l(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
67
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e="<p>An error occurred:</p><pre>"+eg(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function ej(e,t){return eE.parse(e,t)}ej.options=ej.setOptions=function(e){return eE.setOptions(e),ej.defaults=eE.defaults,i=ej.defaults,ej},ej.getDefaults=r,ej.defaults=i,ej.use=function(...e){return eE.use(...e),ej.defaults=eE.defaults,i=ej.defaults,ej},ej.walkTokens=function(e,t){return eE.walkTokens(e,t)},ej.parseInline=eE.parseInline,ej.Parser=eP,ej.parser=eP.parse,ej.Renderer=e_,ej.TextRenderer=eC,ej.Lexer=eS,ej.lexer=eS.lex,ej.Tokenizer=eR,ej.Hooks=e$,ej.parse=ej,ej.options,ej.setOptions,ej.walkTokens,ej.parseInline,eP.parse,eS.lex},66967:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return l}};for(var r in n)Object.defineProperty(t,r,{enumerable:!0,get:n[r]});let i=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},69260:(e,t,n)=>{n.d(t,{UC:()=>M,VY:()=>K,ZL:()=>T,bL:()=>P,bm:()=>G,hE:()=>q,hJ:()=>D});var r=n(15814),i=n(52629),l=n(74612),s=n(67246),o=n(88461),a=n(79742),c=n(47670),u=n(73138),p=n(75211),h=n(14417),d=n(40144),f=n(99059),g=n(57109),k=n(6424),m=n(86029),b=n(80954),x=n(29798),w=Object.defineProperty,y=(e,t)=>w(e,"name",{value:t,configurable:!0}),v="Dialog",[R,S]=(0,s.A)(v),[_,C]=R(v),P=y(e=>{let{__scopeDialog:t,children:n,open:i,defaultOpen:l,onOpenChange:s,modal:c=!0}=e,u=r.useRef(null),p=r.useRef(null),[h,d]=(0,a.i)({prop:i,defaultProp:l??!1,onChange:s,caller:v}),[f,g]=r.useState(0),[k,m]=r.useState(0);return(0,x.jsx)(_,{scope:t,triggerRef:u,contentRef:p,contentId:(0,o.B)(),titleId:(0,o.B)(),descriptionId:(0,o.B)(),titlePresent:f>0,descriptionPresent:k>0,setTitleCount:g,setDescriptionCount:m,open:h,onOpenChange:d,onOpenToggle:r.useCallback(()=>d(e=>!e),[d]),modal:c,children:n})},"Dialog"),$="DialogPortal",[E,j]=R($,{forceMount:void 0}),T=y(e=>{let{__scopeDialog:t,forceMount:n,children:i,container:l}=e,s=C($,t);return(0,x.jsx)(E,{scope:t,forceMount:n,children:r.Children.map(i,e=>(0,x.jsx)(h.C,{present:n||s.open,children:(0,x.jsx)(p.Z,{asChild:!0,container:l,children:e})}))})},"DialogPortal"),A="DialogOverlay",D=r.forwardRef(y(function(e,t){let n=j(A,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,l=C(A,e.__scopeDialog);return l.modal?(0,x.jsx)(h.C,{present:r||l.open,children:(0,x.jsx)(O,{...i,ref:t})}):null},"DialogOverlay")),I=(0,b.TL)("DialogOverlay.RemoveScroll"),O=r.forwardRef(y(function(e,t){let{__scopeDialog:n,...r}=e,i=C(A,n),s=(0,c.e0)(),o=(0,l.s)(t,s);return(0,x.jsx)(k.A,{as:I,allowPinchZoom:!0,shards:[i.contentRef],children:(0,x.jsx)(d.sG.div,{"data-state":N(i.open),...r,ref:o,style:{pointerEvents:"auto",...r.style}})})},"DialogOverlayImpl")),z="DialogContent",M=r.forwardRef(y(function(e,t){let n=j(z,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,l=C(z,e.__scopeDialog);return(0,x.jsx)(h.C,{present:r||l.open,children:l.modal?(0,x.jsx)(L,{...i,ref:t}):(0,x.jsx)(B,{...i,ref:t})})},"DialogContent")),L=r.forwardRef(y(function(e,t){let n=C(z,e.__scopeDialog),s=r.useRef(null),o=(0,l.s)(t,n.contentRef,s);return r.useEffect(()=>{let e=s.current;if(e)return(0,m.Eq)(e)},[]),(0,x.jsx)(F,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:(0,i.mK)(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:(0,i.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,i.mK)(e.onFocusOutside,e=>e.preventDefault())})},"DialogContentModal")),B=r.forwardRef(y(function(e,t){let n=C(z,e.__scopeDialog),i=r.useRef(!1),l=r.useRef(!1);return(0,x.jsx)(F,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||n.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,l.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(l.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&l.current&&t.preventDefault()}})},"DialogContentNonModal")),F=r.forwardRef(y(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:l,...s}=e,o=C(z,n);return(0,f.Oh)(),(0,x.jsx)(x.Fragment,{children:(0,x.jsx)(u.n,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:l,children:(0,x.jsx)(c.qW,{role:"dialog",id:o.contentId,"aria-describedby":o.descriptionPresent?o.descriptionId:void 0,"aria-labelledby":o.titlePresent?o.titleId:void 0,"data-state":N(o.open),...s,ref:t,deferPointerDownOutside:!0,onDismiss:()=>o.onOpenChange(!1)})})})},"DialogContentImpl")),q=r.forwardRef(y(function(e,t){let{__scopeDialog:n,...r}=e,i=C("DialogTitle",n),{setTitleCount:l}=i;return(0,g.N)(()=>(l(e=>e+1),()=>l(e=>e-1)),[l]),(0,x.jsx)(d.sG.h2,{id:i.titleId,...r,ref:t})},"DialogTitle")),K=r.forwardRef(y(function(e,t){let{__scopeDialog:n,...r}=e,i=C("DialogDescription",n),{setDescriptionCount:l}=i;return(0,g.N)(()=>(l(e=>e+1),()=>l(e=>e-1)),[l]),(0,x.jsx)(d.sG.p,{id:i.descriptionId,...r,ref:t})},"DialogDescription")),G=r.forwardRef(y(function(e,t){let{__scopeDialog:n,...r}=e,l=C("DialogClose",n);return(0,x.jsx)(d.sG.button,{type:"button",...r,ref:t,onClick:(0,i.mK)(e.onClick,()=>l.onOpenChange(!1))})},"DialogClose"));function N(e){return e?"open":"closed"}y(N,"getState")},69763:(e,t)=>{function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:l,objectFit:s}){let o=r?40*r:e,a=i?40*i:t,c=o&&a?`viewBox='0 0 ${o} ${a}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${c}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${c?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${l}'/%3E%3C/svg%3E`}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},73639:(e,t,n)=>{n.d(t,{b:()=>h});var r=n(15814),i=n(40144),l=n(29798),s=Object.defineProperty,o=(e,t)=>s(e,"name",{value:t,configurable:!0}),a="horizontal",c=["horizontal","vertical"],u=r.forwardRef(o(function(e,t){let{decorative:n,orientation:r=a,...s}=e,o=p(r)?r:a;return(0,l.jsx)(i.sG.div,{"data-orientation":o,...n?{role:"none"}:{"aria-orientation":"vertical"===o?o:void 0,role:"separator"},...s,ref:t})},"Separator"));function p(e){return c.includes(e)}o(p,"isValidOrientation");var h=u},80514:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={default:function(){return u},getImageProps:function(){return c}};for(var i in r)Object.defineProperty(t,i,{enumerable:!0,get:r[i]});let l=n(27926),s=n(1674),o=n(34098),a=l._(n(35994));function c(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let u=o.Image}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2836],{15764:(e,s,t)=>{"use strict";t.d(s,{CK:()=>d.default,G9:()=>x.default,Iz:()=>j.default,KX:()=>y.PanelSkeleton,LF:()=>n.default,LH:()=>m.default,Mu:()=>y.StatCardSkeleton,Nf:()=>c.default,Qv:()=>l.CardSkeleton,YW:()=>v.YW,gw:()=>p.default,jK:()=>o.default,nh:()=>g.default,pV:()=>v.pV,rq:()=>i.default,uR:()=>r.default,uo:()=>a.ConfirmModal,vE:()=>h.default,vj:()=>u.default,wI:()=>f.default,wn:()=>v.wn,zY:()=>v.zY}),t(58913);var a=t(3537),l=t(58350);t(30872),t(33526),t(42535),t(1279);var n=t(92802),i=t(25908),r=t(58729),d=t(24873),c=t(5258),o=t(80599);t(949),t(56776),t(53599),t(77063),t(69561);var x=t(37753),m=t(23444),h=t(93624),u=t(86920),f=t(65461);t(14580);var p=t(14670),j=t(70296);t(57779),t(22205);var y=t(43276),g=t(75862),v=t(92412)},41684:(e,s,t)=>{"use strict";t.d(s,{default:()=>j});var a=t(29798),l=t(15814),n=t(75669),i=t(18055),r=t(77345),d=t(49787),c=t(1352),o=t(58913),x=t(15764),m=t(63523);function h({label:e,url:s,copyId:t,copied:l,onCopy:n,badge:d,actions:x}){return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-center font-mono text-xs min-w-[88px] ${"CF"===d||"TS"===d?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:e}),(0,a.jsx)(r.p,{value:s,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>n(s,t),children:(0,a.jsx)(o.default,{name:l===t?"check":"content_copy",className:"text-[18px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:l===t?"Copied!":"Copy"})]}),x]})}var u=t(54563),f=t(14231);function p({message:e,action:s}){return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,a.jsx)(o.default,{name:"warning",className:"text-[16px] shrink-0 mt-0.5"}),(0,a.jsx)("p",{className:"text-xs flex-1",children:e}),s&&(0,a.jsx)("a",{href:s.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:s.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(s.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:s.label})]})}function j({machineId:e}){let[s,t]=(0,l.useState)([]),[y,g]=(0,l.useState)(!0),[v,k]=(0,l.useState)(!1),[N,w]=(0,l.useState)(""),[C,b]=(0,l.useState)(null),[S,E]=(0,l.useState)(null),[P,I]=(0,l.useState)(!1),[K,A]=(0,l.useState)(new Set),[_,$]=(0,l.useState)(!1);(0,l.useEffect)(()=>{$(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]);let{copied:T,copy:O}=(0,m.C)();(0,l.useEffect)(()=>{z(),L()},[]);let L=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();I(s.requireApiKey||!1)}}catch(e){console.log("Error loading settings:",e)}},q=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:e})})).ok&&I(e)}catch(e){console.log("Error updating requireApiKey:",e)}},z=async()=>{try{let e=async()=>{let e=await fetch("/api/keys");return e.ok&&(await e.json()).keys||[]},s=await e();if(0===s.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(s=await e())}catch{}t(s)}catch(e){console.log("Error fetching data:",e)}finally{g(!1)}},D=async()=>{if(N.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N})}),s=await e.json();e.ok&&(b(s.key),await z(),w(""),k(!1))}catch(e){console.log("Error creating key:",e)}},W=async e=>{E({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{E(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(t(s.filter(s=>s.id!==e)),A(s=>{let t=new Set(s);return t.delete(e),t}))}catch(e){console.log("Error deleting key:",e)}}})},[Y,Z]=(0,l.useState)("/v1");return((0,l.useEffect)(()=>{Z(`${window.location.origin}/v1`)},[]),y)?(0,a.jsxs)(x.YW,{children:[(0,a.jsx)(x.KX,{}),(0,a.jsx)(x.KX,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(x.YW,{children:[(0,a.jsxs)(n.Zp,{children:[(0,a.jsx)(n.aR,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"api",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Endpoint"}),(0,a.jsx)(n.BT,{children:"Local and remote access URLs"})]})]})}),(0,a.jsx)(n.Wu,{children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(h,{label:"Local",url:Y,copyId:"local_url",copied:T,onCopy:O})})})]}),(0,a.jsxs)(n.Zp,{id:"require-api-key",children:[(0,a.jsxs)(n.aR,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Keys"}),(0,a.jsx)(n.BT,{children:"Keys for authenticating gateway requests"})]})]}),(0,a.jsx)(n.X9,{children:(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})})]}),(0,a.jsxs)(n.Wu,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Requests without a valid key will be rejected"})]}),(0,a.jsx)(f.d,{checked:P,onCheckedChange:()=>q(!P)})]}),_&&!P&&(0,a.jsx)("div",{className:"mb-4 -mt-2",children:(0,a.jsx)(p,{message:"Endpoint is exposed without an API key."})}),0===s.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[32px]"})}),(0,a.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No API keys yet"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first API key to get started"}),(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})]}):(0,a.jsx)("div",{className:"flex flex-col",children:s.map(e=>{var s;return(0,a.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,a.jsx)("code",{className:"text-xs text-muted-foreground font-mono",children:K.has(e.id)?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"•".repeat(s.length-10)+s.slice(-4):s||""}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>{var s;return s=e.id,void A(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},children:(0,a.jsx)(o.default,{name:K.has(e.id)?"visibility_off":"visibility",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:K.has(e.id)?"Hide key":"Show key"})]}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>O(e.key,e.id),children:(0,a.jsx)(o.default,{name:T===e.id?"check":"content_copy",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:T===e.id?"Copied!":"Copy"})]})]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Created ",new Date(e.createdAt).toLocaleDateString()]}),!1===e.isActive&&(0,a.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>W(e.id),className:"text-red-500 opacity-100 hover:bg-red-500/10 hover:text-red-500 sm:opacity-0 sm:group-hover:opacity-100",children:(0,a.jsx)(o.default,{name:"delete",className:"text-[18px]"})})})]},e.id)})})]})]})]}),(0,a.jsx)(d.lG,{open:v,onOpenChange:e=>{e||(k(!1),w(""))},children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"Create API Key"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsx)("div",{className:"flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)("label",{className:"text-sm font-medium text-foreground",children:"Key Name"}),(0,a.jsx)(r.p,{value:N,onChange:e=>w(e.target.value),placeholder:"Production Key"})]})})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)("div",{className:"flex w-full gap-2 sm:w-auto",children:(0,a.jsx)(i.$,{onClick:D,className:"w-full sm:w-auto",disabled:!N.trim(),children:"Create"})})})]})}),(0,a.jsx)(d.lG,{open:!!C,onOpenChange:e=>!e&&b(null),children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"API Key Created"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(u.Fc,{children:(0,a.jsxs)(u.TN,{children:[(0,a.jsx)("span",{className:"font-medium",children:"Save this key now! "}),"This is the only time you will see this key. Store it securely."]})}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.p,{value:C||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(i.$,{variant:"secondary",onClick:()=>O(C,"created_key"),children:[(0,a.jsx)(o.default,{name:"created_key"===T?"check":"content_copy"}),"created_key"===T?"Copied!":"Copy"]})]})]})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)(i.$,{onClick:()=>b(null),className:"w-full sm:w-auto",children:"Done"})})]})}),(0,a.jsx)(x.uo,{isOpen:!!S,onClose:()=>E(null),onConfirm:S?.onConfirm,title:S?.title||"Confirm",message:S?.message,variant:"danger"})]})}},92412:(e,s,t)=>{"use strict";t.d(s,{YW:()=>a.Page,pV:()=>a.CardGrid,wn:()=>a.Section,zY:()=>a.PageHeader}),t(16675),t(72778);var a=t(29575)},92836:(e,s,t)=>{Promise.resolve().then(t.bind(t,41684))}}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2836],{15764:(e,s,t)=>{"use strict";t.d(s,{CK:()=>d.default,G9:()=>x.default,Iz:()=>j.default,KX:()=>y.PanelSkeleton,LF:()=>n.default,LH:()=>m.default,Mu:()=>y.StatCardSkeleton,Nf:()=>c.default,Qv:()=>l.CardSkeleton,YW:()=>v.YW,gw:()=>p.default,jK:()=>o.default,nh:()=>g.default,pV:()=>v.pV,rq:()=>i.default,uR:()=>r.default,uo:()=>a.ConfirmModal,vE:()=>h.default,vj:()=>u.default,wI:()=>f.default,wn:()=>v.wn,zY:()=>v.zY}),t(58913);var a=t(3537),l=t(58350);t(30872),t(33526),t(42535),t(1279);var n=t(92802),i=t(25908),r=t(58729),d=t(24873),c=t(5258),o=t(80599);t(949),t(56776),t(53599),t(88336),t(69561);var x=t(37753),m=t(23444),h=t(93624),u=t(86920),f=t(65461);t(14580);var p=t(14670),j=t(70296);t(57779),t(22205);var y=t(43276),g=t(75862),v=t(92412)},41684:(e,s,t)=>{"use strict";t.d(s,{default:()=>j});var a=t(29798),l=t(15814),n=t(75669),i=t(18055),r=t(77345),d=t(49787),c=t(1352),o=t(58913),x=t(15764),m=t(63523);function h({label:e,url:s,copyId:t,copied:l,onCopy:n,badge:d,actions:x}){return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-center font-mono text-xs min-w-[88px] ${"CF"===d||"TS"===d?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:e}),(0,a.jsx)(r.p,{value:s,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>n(s,t),children:(0,a.jsx)(o.default,{name:l===t?"check":"content_copy",className:"text-[18px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:l===t?"Copied!":"Copy"})]}),x]})}var u=t(54563),f=t(14231);function p({message:e,action:s}){return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,a.jsx)(o.default,{name:"warning",className:"text-[16px] shrink-0 mt-0.5"}),(0,a.jsx)("p",{className:"text-xs flex-1",children:e}),s&&(0,a.jsx)("a",{href:s.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:s.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(s.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:s.label})]})}function j({machineId:e}){let[s,t]=(0,l.useState)([]),[y,g]=(0,l.useState)(!0),[v,k]=(0,l.useState)(!1),[N,w]=(0,l.useState)(""),[C,b]=(0,l.useState)(null),[S,E]=(0,l.useState)(null),[P,I]=(0,l.useState)(!1),[K,A]=(0,l.useState)(new Set),[_,$]=(0,l.useState)(!1);(0,l.useEffect)(()=>{$(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]);let{copied:T,copy:O}=(0,m.C)();(0,l.useEffect)(()=>{z(),L()},[]);let L=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();I(s.requireApiKey||!1)}}catch(e){console.log("Error loading settings:",e)}},q=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:e})})).ok&&I(e)}catch(e){console.log("Error updating requireApiKey:",e)}},z=async()=>{try{let e=async()=>{let e=await fetch("/api/keys");return e.ok&&(await e.json()).keys||[]},s=await e();if(0===s.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(s=await e())}catch{}t(s)}catch(e){console.log("Error fetching data:",e)}finally{g(!1)}},D=async()=>{if(N.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N})}),s=await e.json();e.ok&&(b(s.key),await z(),w(""),k(!1))}catch(e){console.log("Error creating key:",e)}},W=async e=>{E({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{E(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(t(s.filter(s=>s.id!==e)),A(s=>{let t=new Set(s);return t.delete(e),t}))}catch(e){console.log("Error deleting key:",e)}}})},[Y,Z]=(0,l.useState)("/v1");return((0,l.useEffect)(()=>{Z(`${window.location.origin}/v1`)},[]),y)?(0,a.jsxs)(x.YW,{children:[(0,a.jsx)(x.KX,{}),(0,a.jsx)(x.KX,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(x.YW,{children:[(0,a.jsxs)(n.Zp,{children:[(0,a.jsx)(n.aR,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"api",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Endpoint"}),(0,a.jsx)(n.BT,{children:"Local and remote access URLs"})]})]})}),(0,a.jsx)(n.Wu,{children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(h,{label:"Local",url:Y,copyId:"local_url",copied:T,onCopy:O})})})]}),(0,a.jsxs)(n.Zp,{id:"require-api-key",children:[(0,a.jsxs)(n.aR,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Keys"}),(0,a.jsx)(n.BT,{children:"Keys for authenticating gateway requests"})]})]}),(0,a.jsx)(n.X9,{children:(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})})]}),(0,a.jsxs)(n.Wu,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Requests without a valid key will be rejected"})]}),(0,a.jsx)(f.d,{checked:P,onCheckedChange:()=>q(!P)})]}),_&&!P&&(0,a.jsx)("div",{className:"mb-4 -mt-2",children:(0,a.jsx)(p,{message:"Endpoint is exposed without an API key."})}),0===s.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[32px]"})}),(0,a.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No API keys yet"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first API key to get started"}),(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})]}):(0,a.jsx)("div",{className:"flex flex-col",children:s.map(e=>{var s;return(0,a.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,a.jsx)("code",{className:"text-xs text-muted-foreground font-mono",children:K.has(e.id)?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"•".repeat(s.length-10)+s.slice(-4):s||""}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>{var s;return s=e.id,void A(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},children:(0,a.jsx)(o.default,{name:K.has(e.id)?"visibility_off":"visibility",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:K.has(e.id)?"Hide key":"Show key"})]}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>O(e.key,e.id),children:(0,a.jsx)(o.default,{name:T===e.id?"check":"content_copy",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:T===e.id?"Copied!":"Copy"})]})]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Created ",new Date(e.createdAt).toLocaleDateString()]}),!1===e.isActive&&(0,a.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>W(e.id),className:"text-red-500 opacity-100 hover:bg-red-500/10 hover:text-red-500 sm:opacity-0 sm:group-hover:opacity-100",children:(0,a.jsx)(o.default,{name:"delete",className:"text-[18px]"})})})]},e.id)})})]})]})]}),(0,a.jsx)(d.lG,{open:v,onOpenChange:e=>{e||(k(!1),w(""))},children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"Create API Key"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsx)("div",{className:"flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)("label",{className:"text-sm font-medium text-foreground",children:"Key Name"}),(0,a.jsx)(r.p,{value:N,onChange:e=>w(e.target.value),placeholder:"Production Key"})]})})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)("div",{className:"flex w-full gap-2 sm:w-auto",children:(0,a.jsx)(i.$,{onClick:D,className:"w-full sm:w-auto",disabled:!N.trim(),children:"Create"})})})]})}),(0,a.jsx)(d.lG,{open:!!C,onOpenChange:e=>!e&&b(null),children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"API Key Created"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(u.Fc,{children:(0,a.jsxs)(u.TN,{children:[(0,a.jsx)("span",{className:"font-medium",children:"Save this key now! "}),"This is the only time you will see this key. Store it securely."]})}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.p,{value:C||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(i.$,{variant:"secondary",onClick:()=>O(C,"created_key"),children:[(0,a.jsx)(o.default,{name:"created_key"===T?"check":"content_copy"}),"created_key"===T?"Copied!":"Copy"]})]})]})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)(i.$,{onClick:()=>b(null),className:"w-full sm:w-auto",children:"Done"})})]})}),(0,a.jsx)(x.uo,{isOpen:!!S,onClose:()=>E(null),onConfirm:S?.onConfirm,title:S?.title||"Confirm",message:S?.message,variant:"danger"})]})}},92412:(e,s,t)=>{"use strict";t.d(s,{YW:()=>a.Page,pV:()=>a.CardGrid,wn:()=>a.Section,zY:()=>a.PageHeader}),t(16675),t(72778);var a=t(29575)},92836:(e,s,t)=>{Promise.resolve().then(t.bind(t,41684))}}]);
|