@m1nh/9router 0.5.80 → 0.5.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +25 -14
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +20 -20
- package/app/.next-cli-build/required-server-files.json +4 -0
- package/app/.next-cli-build/routes-manifest.json +73 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -40
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +14 -8
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +6 -6
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +19 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +16 -0
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/presets/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +8 -7
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +25 -14
- package/app/.next-cli-build/server/chunks/1679.js +1 -0
- package/app/.next-cli-build/server/chunks/2132.js +1 -0
- package/app/.next-cli-build/server/chunks/2220.js +1 -0
- package/app/.next-cli-build/server/chunks/2329.js +1 -0
- package/app/.next-cli-build/server/chunks/24.js +1 -1
- package/app/.next-cli-build/server/chunks/{5285.js → 2778.js} +59 -41
- package/app/.next-cli-build/server/chunks/3225.js +1 -1
- package/app/.next-cli-build/server/chunks/3535.js +1 -1
- package/app/.next-cli-build/server/chunks/3546.js +1 -1
- package/app/.next-cli-build/server/chunks/3558.js +1 -1
- package/app/.next-cli-build/server/chunks/3726.js +1 -1
- package/app/.next-cli-build/server/chunks/3933.js +65 -0
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/3966.js +40 -0
- package/app/.next-cli-build/server/chunks/4037.js +1 -1
- package/app/.next-cli-build/server/chunks/4049.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/436.js +1 -1
- package/app/.next-cli-build/server/chunks/4572.js +1 -1
- package/app/.next-cli-build/server/chunks/4663.js +1 -1
- package/app/.next-cli-build/server/chunks/4882.js +1 -0
- package/app/.next-cli-build/server/chunks/4884.js +1 -1
- package/app/.next-cli-build/server/chunks/4961.js +1 -1
- package/app/.next-cli-build/server/chunks/5081.js +3 -3
- package/app/.next-cli-build/server/chunks/5215.js +1 -0
- package/app/.next-cli-build/server/chunks/5237.js +1 -0
- package/app/.next-cli-build/server/chunks/5330.js +183 -0
- package/app/.next-cli-build/server/chunks/5524.js +1 -0
- package/app/.next-cli-build/server/chunks/5615.js +2 -2
- package/app/.next-cli-build/server/chunks/5670.js +1 -0
- package/app/.next-cli-build/server/chunks/6022.js +1 -0
- package/app/.next-cli-build/server/chunks/6070.js +1 -1
- package/app/.next-cli-build/server/chunks/6140.js +1 -0
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6249.js +9 -0
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6777.js +1 -1
- package/app/.next-cli-build/server/chunks/6877.js +1 -1
- package/app/.next-cli-build/server/chunks/6922.js +1 -1
- package/app/.next-cli-build/server/chunks/7211.js +1 -1
- package/app/.next-cli-build/server/chunks/7220.js +1 -1
- package/app/.next-cli-build/server/chunks/7236.js +1 -1
- package/app/.next-cli-build/server/chunks/7247.js +1 -1
- package/app/.next-cli-build/server/chunks/7525.js +1 -0
- package/app/.next-cli-build/server/chunks/7557.js +1 -0
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7995.js +120 -0
- package/app/.next-cli-build/server/chunks/8145.js +1 -1
- package/app/.next-cli-build/server/chunks/827.js +1 -1
- package/app/.next-cli-build/server/chunks/8363.js +1 -1
- package/app/.next-cli-build/server/chunks/8402.js +1 -1
- package/app/.next-cli-build/server/chunks/8416.js +1 -1
- package/app/.next-cli-build/server/chunks/8499.js +12 -14
- package/app/.next-cli-build/server/chunks/8587.js +1 -0
- package/app/.next-cli-build/server/chunks/8635.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +10 -10
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- package/app/.next-cli-build/server/chunks/9076.js +1 -1
- package/app/.next-cli-build/server/chunks/9128.js +1 -1
- package/app/.next-cli-build/server/chunks/9181.js +1 -1
- package/app/.next-cli-build/server/chunks/9609.js +1 -0
- package/app/.next-cli-build/server/chunks/9765.js +1 -0
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +15 -9
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/PZvA43-na7jomNlixbKIv/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1321-ba798be7ef223475.js +1 -0
- package/app/.next-cli-build/static/chunks/2997-48a076b193b7e799.js +65 -0
- package/app/.next-cli-build/static/chunks/5497-7130e302b038bd53.js +7 -0
- package/app/.next-cli-build/static/chunks/{6656-f2e63671585916c9.js → 6447-8c30ca0cd19a2827.js} +28 -10
- package/app/.next-cli-build/static/chunks/705-295d5a491126ba0f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-d2ebeca71a654050.js → page-b53011ec7100adad.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-7f382f3fdaaffe1c.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-b7cd6ba9be2834c9.js → page-da6cd027c41600d2.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-138e942a26290c9a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-9dc40dfaf8bb9c2f.js → page-aeee8cefa10e645f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-f6004c76e84d18b8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-504b91e76d61e922.js → page-e23da419d4adb7a2.js} +18 -12
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-0f3e304e9dcb3908.js → page-0eb2b398eb744c0f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-d26b769b3ea19230.js → page-bec45bb3eef874b7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-328e95259b3db7c9.js → page-2349a185542f0944.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-3f8f5c4d19e35c9f.js → page-760204f861cec6d2.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-fe04cafecd314500.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-1d5b0892b9e38484.js → page-58a254bd99b16cc8.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e5b2b18f79f00d51.js +27 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-01d3a90045f608f0.js → page-b186313872ecccaa.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-1e2b8b4c212be3db.js → page-6a48d7084b38775a.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-94ba31f21dbde737.js → page-9e5c979637ab9959.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-8d9da8bd82bff339.js → page-9e00e2bbc6c5de93.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-4f578f99d7b58b82.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-7075c2dd7fc2dd34.js → page-4aeebeb20ac61e68.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-391a44ba0a469b9c.js → page-51dad2fcc181caad.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-8bb3a4b5cd43cc82.js → page-58b2249774b634d8.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-4d54a770ac8e4c22.js → page-28667ad95507641a.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-d055d8e12f0643a5.js → layout-e16a46ac5cf042f1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/callback/{page-12175ac9b13192c8.js → page-a66633cf0f4c4043.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-a334844a890c729f.js → page-e009c3a8edfa2e4f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1b9308dbbaa9a160.js +1 -0
- package/app/.next-cli-build/static/chunks/webpack-c156bc04aeb5cff4.js +1 -0
- package/app/.next-cli-build/static/css/83c41073a41a81a0.css +1 -0
- package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
- package/app/cli/package.json +1 -1
- package/app/package.json +1 -1
- package/app/public/i18n/literals/fa.json +17 -1
- package/app/public/i18n/literals/zh-CN.json +26 -1
- package/app/public/providers/codewhale.svg +9 -0
- package/app/public/providers/crush.png +0 -0
- package/app/public/providers/forge.png +0 -0
- package/app/public/providers/omp.png +0 -0
- package/app/public/providers/pi.svg +6 -0
- package/app/public/providers/qoder-cn.png +0 -0
- package/app/public/providers/smelt.svg +101 -0
- package/app/server.js +1 -1
- package/app/src/lib/oauth/services/qoder.js +24 -3
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/318.js +0 -187
- package/app/.next-cli-build/server/chunks/3490.js +0 -1
- package/app/.next-cli-build/server/chunks/4665.js +0 -65
- package/app/.next-cli-build/server/chunks/6697.js +0 -1
- package/app/.next-cli-build/server/chunks/8526.js +0 -1
- package/app/.next-cli-build/server/chunks/8628.js +0 -1
- package/app/.next-cli-build/server/chunks/8755.js +0 -1
- package/app/.next-cli-build/static/GMR3RbgZVxIk9IrwDjSM6/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/1321-f51a5f2ed41cad73.js +0 -1
- package/app/.next-cli-build/static/chunks/4614-a353a89a0bbb4e1e.js +0 -65
- package/app/.next-cli-build/static/chunks/5497-1fd5580a860b4a46.js +0 -7
- package/app/.next-cli-build/static/chunks/705-f07c546a169bc3d2.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-ad6f85df94dfec7d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-6238681346fa83a7.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-b96427e2c0f8647b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-1cf3411b4a9b782e.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-2ca4c0776d1b9e76.js +0 -27
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-fd61246b51b43c8b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0278e45f2fd73e77.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-bdc3c550d3b2fcae.js +0 -1
- package/app/.next-cli-build/static/css/ca83731f31142e3f.css +0 -1
- /package/app/.next-cli-build/static/{GMR3RbgZVxIk9IrwDjSM6 → PZvA43-na7jomNlixbKIv}/_ssgManifest.js +0 -0
package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var a={};a.id=182,a.ids=[182],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>K});var d=c(48249),e=c(19099),f=c(2116),g=c.n(f),h=c(67484),i=c(50412),j=c(72738),k=c(92592),l=c(74875),m=c(49885),n=c.n(m);function o({until:a}){let[b,c]=(0,h.useState)("");return b?(0,d.jsxs)("span",{className:"text-xs text-orange-500 font-mono",children:["⏱ ",b]}):null}function p({connection:a,proxyPools:b,isOAuth:c,isFirst:e,isLast:f,onMoveUp:g,onMoveDown:j,onToggleActive:k,onUpdateProxy:m,onEdit:n,onDelete:q}){let[r,s]=(0,h.useState)(!1),[t,u]=(0,h.useState)(!1),[v,w]=(0,h.useState)(!1),x=(0,h.useRef)(null),y=new Map((b||[]).map(a=>[a.id,a])),z=a.providerSpecificData?.proxyPoolId||null,A=z?y.get(z):null,B=a.providerSpecificData?.connectionProxyEnabled===!0&&!!a.providerSpecificData?.connectionProxyUrl,C=!!z||B,D=A?`Pool: ${A.name}`:z?`Pool: ${z} (inactive/missing)`:B?`Legacy: ${a.providerSpecificData?.connectionProxyUrl}`:"",E="",F=A?.proxyUrl||a.providerSpecificData?.connectionProxyUrl;if(F)try{let a=new URL(F);E=`${a.protocol}//${a.hostname}${a.port?`:${a.port}`:""}`}catch{E=F}let G=A?.noProxy||a.providerSpecificData?.connectionNoProxy||"",H=A?.isActive===!0?"success":z||B?"error":"default",I=Object.entries(a).filter(([a])=>a.startsWith("modelLock_")).map(([,a])=>a).filter(Boolean).sort()[0]||null,J="unavailable"!==a.testStatus||v?a.testStatus:"active",K=c?a.name||a.email||a.displayName||"OAuth Account":a.name,L=async a=>{u(!0);try{await m("__none__"===a?null:a)}finally{u(!1),s(!1)}};return(0,d.jsxs)("div",{className:`group flex flex-col gap-3 p-2 rounded-lg sm:flex-row sm:items-center sm:justify-between hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex w-full min-w-0 flex-1 items-start gap-3 sm:items-center",children:[(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsx)("button",{onClick:g,disabled:e,className:`p-0.5 rounded ${e?"text-text-muted/30 cursor-not-allowed":"hover:bg-sidebar text-text-muted hover:text-primary"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"keyboard_arrow_up"})}),(0,d.jsx)("button",{onClick:j,disabled:f,className:`p-0.5 rounded ${f?"text-text-muted/30 cursor-not-allowed":"hover:bg-sidebar text-text-muted hover:text-primary"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"keyboard_arrow_down"})})]}),(0,d.jsx)("span",{className:"material-symbols-outlined text-base text-text-muted",children:c?"lock":"key"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium truncate",children:K}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-1",children:[(0,d.jsx)(i.Ex,{variant:(0,l.g)(a.isActive,J),size:"sm",dot:!0,children:!1===a.isActive?"disabled":J||"Unknown"}),C&&(0,d.jsx)(i.Ex,{variant:H,size:"sm",children:"Proxy"}),v&&!1!==a.isActive&&(0,d.jsx)(o,{until:I}),a.lastError&&!1!==a.isActive&&(0,d.jsx)("span",{className:"text-xs text-red-500 truncate max-w-[300px]",title:a.lastError,children:a.lastError}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["#",a.priority]})]}),C&&(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] text-text-muted truncate max-w-[420px]",title:D,children:D}),E&&(0,d.jsx)("code",{className:"text-[10px] font-mono bg-black/5 dark:bg-white/5 px-1 py-0.5 rounded text-text-muted",children:E}),G&&(0,d.jsxs)("span",{className:"text-[11px] text-text-muted truncate max-w-[320px]",title:G,children:["no_proxy: ",G]})]})]})]}),(0,d.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-between gap-2 sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(b||[]).length>0&&(0,d.jsxs)("div",{className:"relative",ref:x,children:[(0,d.jsxs)("button",{onClick:()=>s(a=>!a),className:`flex flex-col items-center px-2 py-1 rounded hover:bg-black/5 dark:hover:bg-white/5 transition-colors ${C?"text-primary":"text-text-muted hover:text-primary"}`,disabled:t,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:t?"progress_activity":"lan"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Proxy"})]}),r&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-1 z-50 bg-bg border border-border rounded-lg shadow-lg py-1 min-w-[160px]",children:[(0,d.jsx)("button",{onClick:()=>L("__none__"),className:`w-full text-left px-3 py-1.5 text-sm hover:bg-black/5 dark:hover:bg-white/5 ${!z?"text-primary font-medium":"text-text-main"}`,children:"None"}),(b||[]).map(a=>(0,d.jsx)("button",{onClick:()=>L(a.id),className:`w-full text-left px-3 py-1.5 text-sm hover:bg-black/5 dark:hover:bg-white/5 ${z===a.id?"text-primary font-medium":"text-text-main"}`,children:a.name},a.id))]})]}),(0,d.jsxs)("button",{onClick:n,className:"flex flex-col items-center px-2 py-1 rounded hover:bg-black/5 dark:hover:bg-white/5 text-text-muted hover:text-primary",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,d.jsxs)("button",{onClick:q,className:"flex flex-col items-center px-2 py-1 rounded hover:bg-red-500/10 text-red-500",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]}),(0,d.jsx)(i.lM,{size:"sm",checked:a.isActive??!0,onChange:k,title:a.isActive??!0?"Disable":"Enable"})]})]})}function q({isOpen:a,provider:b,providerName:c,proxyPools:e,onSave:f,onClose:g}){let j="__none__",[k,l]=(0,h.useState)({name:"",apiKey:"",priority:1,proxyPoolId:j}),[m,n]=(0,h.useState)(!1),[o,p]=(0,h.useState)(null),[r,s]=(0,h.useState)(!1),t=async()=>{n(!0);try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b,apiKey:k.apiKey})}),c=await a.json();p(c.valid?"success":"failed")}catch{p("failed")}finally{n(!1)}},u=async()=>{if(b&&k.apiKey){s(!0);try{let a=!1;try{n(!0),p(null);let c=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b,apiKey:k.apiKey})});a=!!(await c.json()).valid,p(a?"success":"failed")}catch{p("failed")}finally{n(!1)}await f({name:k.name,apiKey:k.apiKey,priority:k.priority,proxyPoolId:k.proxyPoolId===j?null:k.proxyPoolId,testStatus:a?"active":"unknown"})}finally{s(!1)}}};return b?(0,d.jsx)(i.aF,{isOpen:a,title:`Add ${c||b} API Key`,onClose:g,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Name"}),(0,d.jsx)("input",{className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.name,onChange:a=>l({...k,name:a.target.value}),placeholder:"Production Key"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"API Key"}),(0,d.jsx)("input",{type:"password",className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.apiKey,onChange:a=>l({...k,apiKey:a.target.value})})]}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(i.$n,{onClick:t,disabled:!k.apiKey||m||r,variant:"secondary",children:m?"Checking...":"Check"})})]}),o&&(0,d.jsx)(i.Ex,{variant:"success"===o?"success":"error",children:"success"===o?"Valid":"Invalid"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Priority"}),(0,d.jsx)("input",{type:"number",className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.priority,onChange:a=>l({...k,priority:Number.parseInt(a.target.value)||1})})]}),(0,d.jsx)(i.l6,{label:"Proxy Pool",value:k.proxyPoolId,onChange:a=>l({...k,proxyPoolId:a.target.value}),options:[{value:j,label:"None"},...(e||[]).map(a=>({value:a.id,label:a.name}))]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.$n,{onClick:u,fullWidth:!0,disabled:!k.name||!k.apiKey||r,children:r?"Saving...":"Save"}),(0,d.jsx)(i.$n,{onClick:g,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}function r({providerId:a,isOAuth:b}){let[c,e]=(0,h.useState)([]),[f,g]=(0,h.useState)([]),[j,k]=(0,h.useState)(!0),[l,m]=(0,h.useState)(!1),[n,o]=(0,h.useState)(!1),[s,t]=(0,h.useState)(null),[u,v]=(0,h.useState)(null),[w,x]=(0,h.useState)("1"),[y,z]=(0,h.useState)(null),A=(0,h.useCallback)(async()=>{try{let[b,c,d]=await Promise.all([fetch("/api/providers",{cache:"no-store"}),fetch("/api/proxy-pools?isActive=true",{cache:"no-store"}),fetch("/api/settings",{cache:"no-store"})]),f=await b.json(),h=await c.json(),i=d.ok?await d.json():{};b.ok&&e((f.connections||[]).filter(b=>b.provider===a)),c.ok&&g(h.proxyPools||[]);let j=(i.providerStrategies||{})[a]||{};v(j.fallbackStrategy||null),x(null!=j.stickyRoundRobinLimit?String(j.stickyRoundRobinLimit):"1")}catch(a){console.log("ConnectionsCard fetch error:",a)}finally{k(!1)}},[a]),B=async(b,c)=>{try{let d=await fetch("/api/settings",{cache:"no-store"}),e=(d.ok?await d.json():{}).providerStrategies||{},f={};b&&(f.fallbackStrategy=b),"round-robin"===b&&""!==c&&(f.stickyRoundRobinLimit=Number(c)||3);let g={...e};0===Object.keys(f).length?delete g[a]:g[a]=f,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:g})})}catch(a){console.log("saveStrategy error:",a)}},C=async(a,b)=>{let d=[...c];[d[a],d[b]]=[d[b],d[a]],e(d);try{await Promise.all([fetch(`/api/providers/${d[a].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})}),fetch(`/api/providers/${d[b].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})])}catch{await A()}},D=async a=>{z({title:"Delete Connection",message:"Delete this connection?",onConfirm:async()=>{z(null);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&e(b=>b.filter(b=>b.id!==a))}catch(a){console.log("delete error:",a)}}})},E=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&e(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("toggle error:",a)}},F=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:b||null})})).ok&&e(c=>c.map(c=>c.id===a?{...c,providerSpecificData:{...c.providerSpecificData,proxyPoolId:b||null}}:c))}catch(a){console.log("proxy error:",a)}},G=async b=>{try{(await fetch("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a,...b})})).ok&&(await A(),m(!1))}catch(a){console.log("save apikey error:",a)}},H=async a=>{try{(await fetch(`/api/providers/${s.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await A(),o(!1))}catch(a){console.log("update connection error:",a)}};return j?(0,d.jsx)(i.Zp,{children:(0,d.jsx)("div",{className:"h-20 animate-pulse bg-black/5 rounded-lg"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between mb-4",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Connections"}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Round Robin"}),(0,d.jsx)(i.lM,{checked:"round-robin"===u,onChange:a=>{let b=a?"round-robin":null;v(b),a&&!w&&x("1"),B(b,a?w||"1":w)}}),"round-robin"===u&&(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"Sticky:"}),(0,d.jsx)("input",{type:"number",min:1,value:w,onChange:a=>{x(a.target.value),B("round-robin",a.target.value)},className:"w-16 px-2 py-1 text-xs border border-border rounded-md bg-background focus:outline-none focus:border-primary"})]})]})]}),0===c.length?(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"No connections yet"}),(0,d.jsx)(i.$n,{size:"sm",icon:"add",onClick:()=>m(!0),children:"Add Connection"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex flex-col divide-y divide-black/[0.03] dark:divide-white/[0.03] max-h-[500px] overflow-y-auto pr-1",children:c.map((a,e)=>(0,d.jsx)(p,{connection:a,proxyPools:f,isOAuth:b,isFirst:0===e,isLast:e===c.length-1,onMoveUp:()=>C(e,e-1),onMoveDown:()=>C(e,e+1),onToggleActive:b=>E(a.id,b),onUpdateProxy:b=>F(a.id,b),onEdit:()=>{t(a),o(!0)},onDelete:()=>D(a.id)},a.id))}),(0,d.jsx)("div",{className:"mt-4 flex justify-stretch sm:justify-start",children:(0,d.jsx)(i.$n,{size:"sm",icon:"add",onClick:()=>m(!0),children:"Add"})})]})]}),(0,d.jsx)(q,{isOpen:l,provider:a,proxyPools:f,onSave:G,onClose:()=>m(!1)}),(0,d.jsx)(i.wI,{isOpen:n,connection:s,proxyPools:f,onSave:H,onClose:()=>o(!1)}),(0,d.jsx)(i.uo,{isOpen:!!y,onClose:()=>z(null),onConfirm:y?.onConfirm,title:y?.title||"Confirm",message:y?.message,variant:"danger"})]})}o.propTypes={until:n().string.isRequired},p.propTypes={connection:n().shape({id:n().string,name:n().string,email:n().string,displayName:n().string,testStatus:n().string,isActive:n().bool,lastError:n().string,priority:n().number}).isRequired,proxyPools:n().array,isOAuth:n().bool.isRequired,isFirst:n().bool.isRequired,isLast:n().bool.isRequired,onMoveUp:n().func.isRequired,onMoveDown:n().func.isRequired,onToggleActive:n().func.isRequired,onUpdateProxy:n().func,onEdit:n().func.isRequired,onDelete:n().func.isRequired},q.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerName:n().string,proxyPools:n().array,onSave:n().func.isRequired,onClose:n().func.isRequired},r.propTypes={providerId:n().string.isRequired,isOAuth:n().bool};var s=c(91431),t=c(50377);function u({model:a,fullModel:b,copied:c,onCopy:e,testStatus:f,isCustom:g,isFree:h,onDeleteAlias:i,onTest:j,isTesting:k}){let l="ok"===f?"#22c55e":"error"===f?"#ef4444":void 0;return(0,d.jsx)("div",{className:`group px-3 py-2 rounded-lg border ${"ok"===f?"border-green-500/40":"error"===f?"border-red-500/40":"border-border"} hover:bg-sidebar/50`,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-base",style:l?{color:l}:void 0,children:"ok"===f?"check_circle":"error"===f?"cancel":"smart_toy"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono bg-sidebar px-1.5 py-0.5 rounded",children:b}),a.name&&(0,d.jsx)("span",{className:"text-[9px] text-text-muted/70 italic pl-1",children:a.name})]}),j&&(0,d.jsxs)("div",{className:"relative group/btn",children:[(0,d.jsx)("button",{onClick:j,disabled:k,className:`p-0.5 hover:bg-sidebar rounded text-text-muted hover:text-primary transition-opacity ${k?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",style:k?{animation:"spin 1s linear infinite"}:void 0,children:k?"progress_activity":"science"})}),(0,d.jsx)("span",{className:"pointer-events-none absolute mt-1 top-5 left-1/2 -translate-x-1/2 text-[10px] text-text-muted whitespace-nowrap opacity-0 group-hover/btn:opacity-100 transition-opacity",children:k?"Testing...":"Test"})]}),(0,d.jsxs)("div",{className:"relative group/btn",children:[(0,d.jsx)("button",{onClick:()=>e(b,`model-${a.id}`),className:"p-0.5 hover:bg-sidebar rounded text-text-muted hover:text-primary",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:c===`model-${a.id}`?"check":"content_copy"})}),(0,d.jsx)("span",{className:"pointer-events-none absolute mt-1 top-5 left-1/2 -translate-x-1/2 text-[10px] text-text-muted whitespace-nowrap opacity-0 group-hover/btn:opacity-100 transition-opacity",children:c===`model-${a.id}`?"Copied!":"Copy"})]}),h&&(0,d.jsx)("span",{className:"text-[10px] font-bold text-green-500 bg-green-500/10 px-1.5 py-0.5 rounded",children:"FREE"}),g&&(0,d.jsx)("button",{onClick:i,className:"p-0.5 hover:bg-red-500/10 rounded text-text-muted hover:text-red-500 opacity-0 group-hover:opacity-100 transition-opacity ml-auto",title:"Remove custom model",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"close"})})]})})}function v({isOpen:a,onSave:b,onClose:c}){let[e,f]=(0,h.useState)(""),g=()=>{e.trim()&&(b(e.trim()),f(""))};return(0,d.jsx)(i.aF,{isOpen:a,title:"Add Custom Model",onClose:c,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Model ID"}),(0,d.jsx)("input",{className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>"Enter"===a.key&&g(),placeholder:"e.g. tts-1-hd",autoFocus:!0})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.$n,{onClick:g,fullWidth:!0,disabled:!e.trim(),children:"Add"}),(0,d.jsx)(i.$n,{onClick:c,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}function w({providerId:a,kindFilter:b,providerAliasOverride:c}){let{copied:e,copy:f}=(0,t.C)(),[g,j]=(0,h.useState)({}),[l,m]=(0,h.useState)([]),[n,o]=(0,h.useState)({}),[p,q]=(0,h.useState)(null),[r,x]=(0,h.useState)(""),[y,z]=(0,h.useState)(!1),A=c||(0,k.wG)(a),B=b||"llm",C=(0,h.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/models/alias"),fetch("/api/models/custom",{cache:"no-store"})]),c=await a.json(),d=await b.json();a.ok&&j(c.aliases||{}),b.ok&&m(d.models||[])}catch(a){console.log("ModelsCard fetch error:",a)}},[]),D=async(a,b)=>{let c=`${A}/${a}`;try{(await fetch("/api/models/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:c,alias:b})})).ok&&await C()}catch(a){console.log("set alias error:",a)}},E=async a=>{try{(await fetch(`/api/models/alias?alias=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await C()}catch(a){console.log("delete alias error:",a)}},F=async a=>{try{(await fetch("/api/models/custom",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:A,id:a,type:B})})).ok&&(await C(),window.dispatchEvent(new CustomEvent("customModelChanged")))}catch(a){console.log("add custom model error:",a)}},G=async a=>{try{let b=new URLSearchParams({providerAlias:A,id:a,type:B});(await fetch(`/api/models/custom?${b}`,{method:"DELETE"})).ok&&(await C(),window.dispatchEvent(new CustomEvent("customModelChanged")))}catch(a){console.log("delete custom model error:",a)}},H=async a=>{if(!p){q(a);try{let c=await fetch("/api/models/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:`${A}/${a}`,kind:b})}),d=await c.json();o(b=>({...b,[a]:d.ok?"ok":"error"})),x(d.ok?"":d.error||"Model not reachable")}catch{o(b=>({...b,[a]:"error"})),x("Network error")}finally{q(null)}}},I=(0,s.KC)(a),J=b?I.filter(a=>a.kinds?a.kinds.includes(b):(0,s.CP)(a,"llm")===b):I,K=l.filter(a=>a.providerAlias===A&&(0,s.CP)(a,"llm")===B&&!J.some(b=>b.id===a.id));return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Models",b?` — ${b.toUpperCase()}`:""]})}),r&&(0,d.jsx)("p",{className:"text-xs text-red-500 mb-3 break-words",children:r}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[J.map(a=>{let b=`${A}/${a.id}`,c=Object.entries(g).find(([,a])=>a===b)?.[0];return(0,d.jsx)(u,{model:a,fullModel:`${A}/${a.id}`,alias:c,copied:e,onCopy:f,onSetAlias:b=>D(a.id,b),onDeleteAlias:()=>E(c),testStatus:n[a.id],onTest:()=>H(a.id),isTesting:p===a.id,isFree:a.isFree},a.id)}),K.map(a=>(0,d.jsx)(u,{model:{id:a.id,name:a.name},fullModel:`${A}/${a.id}`,copied:e,onCopy:f,onSetAlias:()=>{},onDeleteAlias:()=>G(a.id),testStatus:n[a.id],onTest:()=>H(a.id),isTesting:p===a.id,isCustom:!0},`${a.id}-${a.type}`)),(0,d.jsxs)("button",{onClick:()=>z(!0),className:"flex items-center gap-1.5 px-3 py-2 rounded-lg border border-dashed border-black/15 dark:border-white/15 text-xs text-text-muted hover:text-primary hover:border-primary/40 transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"add"}),"Add Model"]})]})]}),(0,d.jsx)(v,{isOpen:y,onSave:async a=>{await F(a),z(!1)},onClose:()=>z(!1)})]})}function x({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-1.5 sm:flex-row sm:items-center sm:gap-3",children:[(0,d.jsx)("span",{className:"w-full text-xs font-medium text-text-muted sm:w-20 sm:shrink-0",children:a}),(0,d.jsx)("div",{className:"w-full min-w-0 flex-1",children:b})]})}u.propTypes={model:n().shape({id:n().string.isRequired}).isRequired,fullModel:n().string.isRequired,copied:n().string,onCopy:n().func.isRequired,testStatus:n().oneOf(["ok","error"]),isCustom:n().bool,isFree:n().bool,onDeleteAlias:n().func,onTest:n().func,isTesting:n().bool},v.propTypes={isOpen:n().bool.isRequired,onSave:n().func.isRequired,onClose:n().func.isRequired},w.propTypes={providerId:n().string.isRequired,kindFilter:n().string,providerAliasOverride:n().string};let y={webSearch:{inputLabel:"Query",inputPlaceholder:"What is the latest news about AI?",defaultInput:"What is the latest news about AI?",bodyKey:"query",defaultResponse:`{
|
|
1
|
+
(()=>{var a={};a.id=182,a.ids=[182],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},1936:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>y,handler:()=>A,routeModule:()=>z});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),w={children:["",{children:["(dashboard)",{children:["dashboard",{children:["media-providers",{children:["[kind]",{children:["[id]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,69296))),"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js"]}]},{"global-error":[v,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},["combo","web"]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/Users/giapminh79/code/GitHub/9router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,x=(0,e.H)({tree:w,page:"/(dashboard)/dashboard/media-providers/[kind]/[id]/page",pathname:"/dashboard/media-providers/[kind]/[id]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),y=x.__next_app__,z=x.routeModule,A=x.handler},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>K});var d=c(48249),e=c(19099),f=c(2116),g=c.n(f),h=c(67484),i=c(50412),j=c(72738),k=c(92592),l=c(74875),m=c(49885),n=c.n(m);function o({until:a}){let[b,c]=(0,h.useState)("");return b?(0,d.jsxs)("span",{className:"text-xs text-orange-500 font-mono",children:["⏱ ",b]}):null}function p({connection:a,proxyPools:b,isOAuth:c,isFirst:e,isLast:f,onMoveUp:g,onMoveDown:j,onToggleActive:k,onUpdateProxy:m,onEdit:n,onDelete:q}){let[r,s]=(0,h.useState)(!1),[t,u]=(0,h.useState)(!1),[v,w]=(0,h.useState)(!1),x=(0,h.useRef)(null),y=new Map((b||[]).map(a=>[a.id,a])),z=a.providerSpecificData?.proxyPoolId||null,A=z?y.get(z):null,B=a.providerSpecificData?.connectionProxyEnabled===!0&&!!a.providerSpecificData?.connectionProxyUrl,C=!!z||B,D=A?`Pool: ${A.name}`:z?`Pool: ${z} (inactive/missing)`:B?`Legacy: ${a.providerSpecificData?.connectionProxyUrl}`:"",E="",F=A?.proxyUrl||a.providerSpecificData?.connectionProxyUrl;if(F)try{let a=new URL(F);E=`${a.protocol}//${a.hostname}${a.port?`:${a.port}`:""}`}catch{E=F}let G=A?.noProxy||a.providerSpecificData?.connectionNoProxy||"",H=A?.isActive===!0?"success":z||B?"error":"default",I=Object.entries(a).filter(([a])=>a.startsWith("modelLock_")).map(([,a])=>a).filter(Boolean).sort()[0]||null,J="unavailable"!==a.testStatus||v?a.testStatus:"active",K=c?a.name||a.email||a.displayName||"OAuth Account":a.name,L=async a=>{u(!0);try{await m("__none__"===a?null:a)}finally{u(!1),s(!1)}};return(0,d.jsxs)("div",{className:`group flex flex-col gap-3 p-2 rounded-lg sm:flex-row sm:items-center sm:justify-between hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex w-full min-w-0 flex-1 items-start gap-3 sm:items-center",children:[(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsx)("button",{onClick:g,disabled:e,className:`p-0.5 rounded ${e?"text-text-muted/30 cursor-not-allowed":"hover:bg-sidebar text-text-muted hover:text-primary"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"keyboard_arrow_up"})}),(0,d.jsx)("button",{onClick:j,disabled:f,className:`p-0.5 rounded ${f?"text-text-muted/30 cursor-not-allowed":"hover:bg-sidebar text-text-muted hover:text-primary"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"keyboard_arrow_down"})})]}),(0,d.jsx)("span",{className:"material-symbols-outlined text-base text-text-muted",children:c?"lock":"key"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium truncate",children:K}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-1",children:[(0,d.jsx)(i.Ex,{variant:(0,l.g)(a.isActive,J),size:"sm",dot:!0,children:!1===a.isActive?"disabled":J||"Unknown"}),C&&(0,d.jsx)(i.Ex,{variant:H,size:"sm",children:"Proxy"}),v&&!1!==a.isActive&&(0,d.jsx)(o,{until:I}),a.lastError&&!1!==a.isActive&&(0,d.jsx)("span",{className:"text-xs text-red-500 truncate max-w-[300px]",title:a.lastError,children:a.lastError}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["#",a.priority]})]}),C&&(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] text-text-muted truncate max-w-[420px]",title:D,children:D}),E&&(0,d.jsx)("code",{className:"text-[10px] font-mono bg-black/5 dark:bg-white/5 px-1 py-0.5 rounded text-text-muted",children:E}),G&&(0,d.jsxs)("span",{className:"text-[11px] text-text-muted truncate max-w-[320px]",title:G,children:["no_proxy: ",G]})]})]})]}),(0,d.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-between gap-2 sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(b||[]).length>0&&(0,d.jsxs)("div",{className:"relative",ref:x,children:[(0,d.jsxs)("button",{onClick:()=>s(a=>!a),className:`flex flex-col items-center px-2 py-1 rounded hover:bg-black/5 dark:hover:bg-white/5 transition-colors ${C?"text-primary":"text-text-muted hover:text-primary"}`,disabled:t,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:t?"progress_activity":"lan"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Proxy"})]}),r&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-1 z-50 bg-bg border border-border rounded-lg shadow-lg py-1 min-w-[160px]",children:[(0,d.jsx)("button",{onClick:()=>L("__none__"),className:`w-full text-left px-3 py-1.5 text-sm hover:bg-black/5 dark:hover:bg-white/5 ${!z?"text-primary font-medium":"text-text-main"}`,children:"None"}),(b||[]).map(a=>(0,d.jsx)("button",{onClick:()=>L(a.id),className:`w-full text-left px-3 py-1.5 text-sm hover:bg-black/5 dark:hover:bg-white/5 ${z===a.id?"text-primary font-medium":"text-text-main"}`,children:a.name},a.id))]})]}),(0,d.jsxs)("button",{onClick:n,className:"flex flex-col items-center px-2 py-1 rounded hover:bg-black/5 dark:hover:bg-white/5 text-text-muted hover:text-primary",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,d.jsxs)("button",{onClick:q,className:"flex flex-col items-center px-2 py-1 rounded hover:bg-red-500/10 text-red-500",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,d.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]}),(0,d.jsx)(i.lM,{size:"sm",checked:a.isActive??!0,onChange:k,title:a.isActive??!0?"Disable":"Enable"})]})]})}function q({isOpen:a,provider:b,providerName:c,proxyPools:e,onSave:f,onClose:g}){let j="__none__",[k,l]=(0,h.useState)({name:"",apiKey:"",priority:1,proxyPoolId:j}),[m,n]=(0,h.useState)(!1),[o,p]=(0,h.useState)(null),[r,s]=(0,h.useState)(!1),t=async()=>{n(!0);try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b,apiKey:k.apiKey})}),c=await a.json();p(c.valid?"success":"failed")}catch{p("failed")}finally{n(!1)}},u=async()=>{if(b&&k.apiKey){s(!0);try{let a=!1;try{n(!0),p(null);let c=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b,apiKey:k.apiKey})});a=!!(await c.json()).valid,p(a?"success":"failed")}catch{p("failed")}finally{n(!1)}await f({name:k.name,apiKey:k.apiKey,priority:k.priority,proxyPoolId:k.proxyPoolId===j?null:k.proxyPoolId,testStatus:a?"active":"unknown"})}finally{s(!1)}}};return b?(0,d.jsx)(i.aF,{isOpen:a,title:`Add ${c||b} API Key`,onClose:g,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Name"}),(0,d.jsx)("input",{className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.name,onChange:a=>l({...k,name:a.target.value}),placeholder:"Production Key"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"API Key"}),(0,d.jsx)("input",{type:"password",className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.apiKey,onChange:a=>l({...k,apiKey:a.target.value})})]}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(i.$n,{onClick:t,disabled:!k.apiKey||m||r,variant:"secondary",children:m?"Checking...":"Check"})})]}),o&&(0,d.jsx)(i.Ex,{variant:"success"===o?"success":"error",children:"success"===o?"Valid":"Invalid"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Priority"}),(0,d.jsx)("input",{type:"number",className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:k.priority,onChange:a=>l({...k,priority:Number.parseInt(a.target.value)||1})})]}),(0,d.jsx)(i.l6,{label:"Proxy Pool",value:k.proxyPoolId,onChange:a=>l({...k,proxyPoolId:a.target.value}),options:[{value:j,label:"None"},...(e||[]).map(a=>({value:a.id,label:a.name}))]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.$n,{onClick:u,fullWidth:!0,disabled:!k.name||!k.apiKey||r,children:r?"Saving...":"Save"}),(0,d.jsx)(i.$n,{onClick:g,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}function r({providerId:a,isOAuth:b}){let[c,e]=(0,h.useState)([]),[f,g]=(0,h.useState)([]),[j,k]=(0,h.useState)(!0),[l,m]=(0,h.useState)(!1),[n,o]=(0,h.useState)(!1),[s,t]=(0,h.useState)(null),[u,v]=(0,h.useState)(null),[w,x]=(0,h.useState)("1"),[y,z]=(0,h.useState)(null),A=(0,h.useCallback)(async()=>{try{let[b,c,d]=await Promise.all([fetch("/api/providers",{cache:"no-store"}),fetch("/api/proxy-pools?isActive=true",{cache:"no-store"}),fetch("/api/settings",{cache:"no-store"})]),f=await b.json(),h=await c.json(),i=d.ok?await d.json():{};b.ok&&e((f.connections||[]).filter(b=>b.provider===a)),c.ok&&g(h.proxyPools||[]);let j=(i.providerStrategies||{})[a]||{};v(j.fallbackStrategy||null),x(null!=j.stickyRoundRobinLimit?String(j.stickyRoundRobinLimit):"1")}catch(a){console.log("ConnectionsCard fetch error:",a)}finally{k(!1)}},[a]),B=async(b,c)=>{try{let d=await fetch("/api/settings",{cache:"no-store"}),e=(d.ok?await d.json():{}).providerStrategies||{},f={};b&&(f.fallbackStrategy=b),"round-robin"===b&&""!==c&&(f.stickyRoundRobinLimit=Number(c)||3);let g={...e};0===Object.keys(f).length?delete g[a]:g[a]=f,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:g})})}catch(a){console.log("saveStrategy error:",a)}},C=async(a,b)=>{let d=[...c];[d[a],d[b]]=[d[b],d[a]],e(d);try{await Promise.all([fetch(`/api/providers/${d[a].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})}),fetch(`/api/providers/${d[b].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})])}catch{await A()}},D=async a=>{z({title:"Delete Connection",message:"Delete this connection?",onConfirm:async()=>{z(null);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&e(b=>b.filter(b=>b.id!==a))}catch(a){console.log("delete error:",a)}}})},E=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&e(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("toggle error:",a)}},F=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:b||null})})).ok&&e(c=>c.map(c=>c.id===a?{...c,providerSpecificData:{...c.providerSpecificData,proxyPoolId:b||null}}:c))}catch(a){console.log("proxy error:",a)}},G=async b=>{try{(await fetch("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a,...b})})).ok&&(await A(),m(!1))}catch(a){console.log("save apikey error:",a)}},H=async a=>{try{(await fetch(`/api/providers/${s.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await A(),o(!1))}catch(a){console.log("update connection error:",a)}};return j?(0,d.jsx)(i.Zp,{children:(0,d.jsx)("div",{className:"h-20 animate-pulse bg-black/5 rounded-lg"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between mb-4",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Connections"}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Round Robin"}),(0,d.jsx)(i.lM,{checked:"round-robin"===u,onChange:a=>{let b=a?"round-robin":null;v(b),a&&!w&&x("1"),B(b,a?w||"1":w)}}),"round-robin"===u&&(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"Sticky:"}),(0,d.jsx)("input",{type:"number",min:1,value:w,onChange:a=>{x(a.target.value),B("round-robin",a.target.value)},className:"w-16 px-2 py-1 text-xs border border-border rounded-md bg-background focus:outline-none focus:border-primary"})]})]})]}),0===c.length?(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"No connections yet"}),(0,d.jsx)(i.$n,{size:"sm",icon:"add",onClick:()=>m(!0),children:"Add Connection"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex flex-col divide-y divide-black/[0.03] dark:divide-white/[0.03] max-h-[500px] overflow-y-auto pr-1",children:c.map((a,e)=>(0,d.jsx)(p,{connection:a,proxyPools:f,isOAuth:b,isFirst:0===e,isLast:e===c.length-1,onMoveUp:()=>C(e,e-1),onMoveDown:()=>C(e,e+1),onToggleActive:b=>E(a.id,b),onUpdateProxy:b=>F(a.id,b),onEdit:()=>{t(a),o(!0)},onDelete:()=>D(a.id)},a.id))}),(0,d.jsx)("div",{className:"mt-4 flex justify-stretch sm:justify-start",children:(0,d.jsx)(i.$n,{size:"sm",icon:"add",onClick:()=>m(!0),children:"Add"})})]})]}),(0,d.jsx)(q,{isOpen:l,provider:a,proxyPools:f,onSave:G,onClose:()=>m(!1)}),(0,d.jsx)(i.wI,{isOpen:n,connection:s,proxyPools:f,onSave:H,onClose:()=>o(!1)}),(0,d.jsx)(i.uo,{isOpen:!!y,onClose:()=>z(null),onConfirm:y?.onConfirm,title:y?.title||"Confirm",message:y?.message,variant:"danger"})]})}o.propTypes={until:n().string.isRequired},p.propTypes={connection:n().shape({id:n().string,name:n().string,email:n().string,displayName:n().string,testStatus:n().string,isActive:n().bool,lastError:n().string,priority:n().number}).isRequired,proxyPools:n().array,isOAuth:n().bool.isRequired,isFirst:n().bool.isRequired,isLast:n().bool.isRequired,onMoveUp:n().func.isRequired,onMoveDown:n().func.isRequired,onToggleActive:n().func.isRequired,onUpdateProxy:n().func,onEdit:n().func.isRequired,onDelete:n().func.isRequired},q.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerName:n().string,proxyPools:n().array,onSave:n().func.isRequired,onClose:n().func.isRequired},r.propTypes={providerId:n().string.isRequired,isOAuth:n().bool};var s=c(91431),t=c(50377);function u({model:a,fullModel:b,copied:c,onCopy:e,testStatus:f,isCustom:g,isFree:h,onDeleteAlias:i,onTest:j,isTesting:k}){let l="ok"===f?"#22c55e":"error"===f?"#ef4444":void 0;return(0,d.jsx)("div",{className:`group px-3 py-2 rounded-lg border ${"ok"===f?"border-green-500/40":"error"===f?"border-red-500/40":"border-border"} hover:bg-sidebar/50`,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-base",style:l?{color:l}:void 0,children:"ok"===f?"check_circle":"error"===f?"cancel":"smart_toy"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono bg-sidebar px-1.5 py-0.5 rounded",children:b}),a.name&&(0,d.jsx)("span",{className:"text-[9px] text-text-muted/70 italic pl-1",children:a.name})]}),j&&(0,d.jsxs)("div",{className:"relative group/btn",children:[(0,d.jsx)("button",{onClick:j,disabled:k,className:`p-0.5 hover:bg-sidebar rounded text-text-muted hover:text-primary transition-opacity ${k?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",style:k?{animation:"spin 1s linear infinite"}:void 0,children:k?"progress_activity":"science"})}),(0,d.jsx)("span",{className:"pointer-events-none absolute mt-1 top-5 left-1/2 -translate-x-1/2 text-[10px] text-text-muted whitespace-nowrap opacity-0 group-hover/btn:opacity-100 transition-opacity",children:k?"Testing...":"Test"})]}),(0,d.jsxs)("div",{className:"relative group/btn",children:[(0,d.jsx)("button",{onClick:()=>e(b,`model-${a.id}`),className:"p-0.5 hover:bg-sidebar rounded text-text-muted hover:text-primary",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:c===`model-${a.id}`?"check":"content_copy"})}),(0,d.jsx)("span",{className:"pointer-events-none absolute mt-1 top-5 left-1/2 -translate-x-1/2 text-[10px] text-text-muted whitespace-nowrap opacity-0 group-hover/btn:opacity-100 transition-opacity",children:c===`model-${a.id}`?"Copied!":"Copy"})]}),h&&(0,d.jsx)("span",{className:"text-[10px] font-bold text-green-500 bg-green-500/10 px-1.5 py-0.5 rounded",children:"FREE"}),g&&(0,d.jsx)("button",{onClick:i,className:"p-0.5 hover:bg-red-500/10 rounded text-text-muted hover:text-red-500 opacity-0 group-hover:opacity-100 transition-opacity ml-auto",title:"Remove custom model",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"close"})})]})})}function v({isOpen:a,onSave:b,onClose:c}){let[e,f]=(0,h.useState)(""),g=()=>{e.trim()&&(b(e.trim()),f(""))};return(0,d.jsx)(i.aF,{isOpen:a,title:"Add Custom Model",onClose:c,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-text-muted mb-1 block",children:"Model ID"}),(0,d.jsx)("input",{className:"w-full px-3 py-2 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>"Enter"===a.key&&g(),placeholder:"e.g. tts-1-hd",autoFocus:!0})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.$n,{onClick:g,fullWidth:!0,disabled:!e.trim(),children:"Add"}),(0,d.jsx)(i.$n,{onClick:c,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}function w({providerId:a,kindFilter:b,providerAliasOverride:c}){let{copied:e,copy:f}=(0,t.C)(),[g,j]=(0,h.useState)({}),[l,m]=(0,h.useState)([]),[n,o]=(0,h.useState)({}),[p,q]=(0,h.useState)(null),[r,x]=(0,h.useState)(""),[y,z]=(0,h.useState)(!1),A=c||(0,k.wG)(a),B=b||"llm",C=(0,h.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/models/alias"),fetch("/api/models/custom",{cache:"no-store"})]),c=await a.json(),d=await b.json();a.ok&&j(c.aliases||{}),b.ok&&m(d.models||[])}catch(a){console.log("ModelsCard fetch error:",a)}},[]),D=async(a,b)=>{let c=`${A}/${a}`;try{(await fetch("/api/models/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:c,alias:b})})).ok&&await C()}catch(a){console.log("set alias error:",a)}},E=async a=>{try{(await fetch(`/api/models/alias?alias=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await C()}catch(a){console.log("delete alias error:",a)}},F=async a=>{try{(await fetch("/api/models/custom",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:A,id:a,type:B})})).ok&&(await C(),window.dispatchEvent(new CustomEvent("customModelChanged")))}catch(a){console.log("add custom model error:",a)}},G=async a=>{try{let b=new URLSearchParams({providerAlias:A,id:a,type:B});(await fetch(`/api/models/custom?${b}`,{method:"DELETE"})).ok&&(await C(),window.dispatchEvent(new CustomEvent("customModelChanged")))}catch(a){console.log("delete custom model error:",a)}},H=async a=>{if(!p){q(a);try{let c=await fetch("/api/models/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:`${A}/${a}`,kind:b})}),d=await c.json();o(b=>({...b,[a]:d.ok?"ok":"error"})),x(d.ok?"":d.error||"Model not reachable")}catch{o(b=>({...b,[a]:"error"})),x("Network error")}finally{q(null)}}},I=(0,s.KC)(a),J=b?I.filter(a=>a.kinds?a.kinds.includes(b):(0,s.CP)(a,"llm")===b):I,K=l.filter(a=>a.providerAlias===A&&(0,s.CP)(a,"llm")===B&&!J.some(b=>b.id===a.id));return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("div",{className:"flex items-center justify-between mb-4",children:(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Models",b?` — ${b.toUpperCase()}`:""]})}),r&&(0,d.jsx)("p",{className:"text-xs text-red-500 mb-3 break-words",children:r}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[J.map(a=>{let b=`${A}/${a.id}`,c=Object.entries(g).find(([,a])=>a===b)?.[0];return(0,d.jsx)(u,{model:a,fullModel:`${A}/${a.id}`,alias:c,copied:e,onCopy:f,onSetAlias:b=>D(a.id,b),onDeleteAlias:()=>E(c),testStatus:n[a.id],onTest:()=>H(a.id),isTesting:p===a.id,isFree:a.isFree},a.id)}),K.map(a=>(0,d.jsx)(u,{model:{id:a.id,name:a.name},fullModel:`${A}/${a.id}`,copied:e,onCopy:f,onSetAlias:()=>{},onDeleteAlias:()=>G(a.id),testStatus:n[a.id],onTest:()=>H(a.id),isTesting:p===a.id,isCustom:!0},`${a.id}-${a.type}`)),(0,d.jsxs)("button",{onClick:()=>z(!0),className:"flex items-center gap-1.5 px-3 py-2 rounded-lg border border-dashed border-black/15 dark:border-white/15 text-xs text-text-muted hover:text-primary hover:border-primary/40 transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"add"}),"Add Model"]})]})]}),(0,d.jsx)(v,{isOpen:y,onSave:async a=>{await F(a),z(!1)},onClose:()=>z(!1)})]})}function x({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-1.5 sm:flex-row sm:items-center sm:gap-3",children:[(0,d.jsx)("span",{className:"w-full text-xs font-medium text-text-muted sm:w-20 sm:shrink-0",children:a}),(0,d.jsx)("div",{className:"w-full min-w-0 flex-1",children:b})]})}u.propTypes={model:n().shape({id:n().string.isRequired}).isRequired,fullModel:n().string.isRequired,copied:n().string,onCopy:n().func.isRequired,testStatus:n().oneOf(["ok","error"]),isCustom:n().bool,isFree:n().bool,onDeleteAlias:n().func,onTest:n().func,isTesting:n().bool},v.propTypes={isOpen:n().bool.isRequired,onSave:n().func.isRequired,onClose:n().func.isRequired},w.propTypes={providerId:n().string.isRequired,kindFilter:n().string,providerAliasOverride:n().string};let y={webSearch:{inputLabel:"Query",inputPlaceholder:"What is the latest news about AI?",defaultInput:"What is the latest news about AI?",bodyKey:"query",defaultResponse:`{
|
|
2
2
|
"results": [
|
|
3
3
|
{ "title": "...", "url": "...", "snippet": "..." }
|
|
4
4
|
]
|
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
"data": [
|
|
22
22
|
{ "url": "...", "format": "mp3" }
|
|
23
23
|
]
|
|
24
|
+
}`},systemone:{inputLabel:"State",inputPlaceholder:"Situation, support ticket, or text to evaluate",defaultInput:"My payments have failed for three days and I am losing sales. Please help now.",bodyKey:"state",extraBody:{questions:{is_urgent:{type:"noul",instructions:"Does this request require urgent attention?"}}},defaultResponse:`{
|
|
25
|
+
"model": "jev-1.13",
|
|
26
|
+
"answers": {
|
|
27
|
+
"is_urgent": { "type": "noul", "noul": 0.99 }
|
|
28
|
+
},
|
|
29
|
+
"usage": { "input_tokens": 312, "output_tokens": 48 }
|
|
24
30
|
}`}},z=`{
|
|
25
31
|
"object": "list",
|
|
26
32
|
"data": [{
|
|
@@ -42,12 +48,12 @@
|
|
|
42
48
|
-H "Content-Type: application/json" \\
|
|
43
49
|
-H "Authorization: Bearer ${H||"YOUR_KEY"}" \\
|
|
44
50
|
-d '${JSON.stringify(aw)}' \\
|
|
45
|
-
${"json"===P?"":"--output speech.mp3"}`,ay=async()=>{if(!y.trim()||!av)return;W(!0),Y(""),S(""),U(null);let a=Date.now();try{let b={"Content-Type":"application/json"};H&&(b.Authorization=`Bearer ${H}`);let c=`/api/v1/audio/speech${"json"===P?"?response_format=json":""}`,d=await fetch(c,{method:"POST",headers:b,body:JSON.stringify({...aw,input:y.trim()})});if($(Date.now()-a),!d.ok){let a=await d.json().catch(()=>({}));Y(a?.error?.message||a?.error||`HTTP ${d.status}`);return}if("json"===P){let a=await d.json();U(a);let b=a.format||"mp3",c=await fetch(`data:audio/${b};base64,${a.audio}`).then(a=>a.blob());S(URL.createObjectURL(c))}else{let a=await d.blob();S(URL.createObjectURL(a))}}catch(a){Y(a.message||"Network error")}finally{W(!1)}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[at,"/v1/audio/speech"]}),N&&(0,d.jsxs)("button",{onClick:()=>K(a=>!a),title:J?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${J?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:H?`${H.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,H.length-8)))}`:ap>0?(0,d.jsxs)("span",{className:"text-text-muted italic",children:["Using stored key(s) \xb7 ",ap," connection",ap>1?"s":""]}):(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),f.hasModelSelector&&(f.modelKey||(0,s.KC)(a).some(a=>"tts"===(0,s.CP)(a)))&&(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:((c=(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a))).length?c:(0,s.KC)(f.modelKey)||[]).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}),f.hasLanguageHint&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsxs)("select",{value:an,onChange:a=>ao(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"",children:"Auto-detect"}),(f.languageOptions||D.I).map(a=>"string"==typeof a?(0,d.jsx)("option",{value:a,children:a},a):(0,d.jsx)("option",{value:a.name,children:a.name},a.id))]})}),f.hasBrowseButton&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsx)("button",{onClick:ar,className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm border border-border rounded-lg bg-background font-mono truncate text-left hover:border-primary/40 transition-colors",children:r?(0,d.jsx)("span",{className:"text-text-main",children:ad.find(a=>a.code===r)?.name||r}):(0,d.jsx)("span",{className:"text-text-muted",children:"No language selected"})}),(0,d.jsxs)("button",{onClick:ar,className:"flex w-full items-center justify-center gap-1 text-xs px-2.5 py-1.5 rounded-lg border border-border text-text-muted hover:text-primary hover:border-primary/40 transition-colors sm:w-auto sm:shrink-0",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"language"}),"Select language"]})]})}),p.length>0&&(0,d.jsx)(x,{label:"Voice",children:(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:p.map(a=>(0,d.jsxs)("button",{onClick:()=>{j(a.id),m(a.name),f.hasVoiceIdInput&&o(a.id)},className:`px-2.5 py-1 rounded-full text-xs border transition-colors ${g===a.id?"bg-primary/15 border-primary/40 text-primary font-medium":"border-border text-text-muted hover:text-primary hover:border-primary/40"}`,children:[a.name,a.language?` \xb7 ${a.language}`:"",a.gender?` \xb7 ${a.gender[0].toUpperCase()}`:"",!0===a.free_users_allowed&&(0,d.jsx)("span",{className:"ml-1.5 px-1 py-0.5 text-[9px] font-semibold rounded bg-green-500/15 text-green-600 border border-green-500/20",children:"Free"}),!1===a.free_users_allowed&&(0,d.jsx)("span",{className:"ml-1.5 px-1 py-0.5 text-[9px] font-semibold rounded bg-amber-500/15 text-amber-600 border border-amber-500/20",children:"Paid"})]},a.id))})}),f.hasVoiceIdInput&&(0,d.jsx)(x,{label:"Voice ID",children:(0,d.jsx)("div",{className:"flex flex-col gap-1",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:n,onChange:a=>{o(a.target.value),j(a.target.value)},placeholder:"e.g. CwhRBWXzGAHq8TQ4Fs17",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"}),n&&(0,d.jsx)("button",{type:"button",onClick:()=>{o(""),j("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})})}),f.hasLanguageDropdown&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsx)("select",{value:g,onChange:b=>{let c=(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a)).find(a=>a.id===b.target.value);j(b.target.value),m(c?.name||b.target.value)},className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a)).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}),(0,d.jsx)(x,{label:"Input",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:y,onChange:a=>z(a.target.value),className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),y&&(0,d.jsx)("button",{type:"button",onClick:()=>z(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),f.hasStyleInput&&(0,d.jsx)(x,{label:(0,C.Tl)("Style"),children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("textarea",{value:A,onChange:a=>G(a.target.value),placeholder:(0,C.Tl)("e.g. a warm, gentle voice, speaking slowly with a British accent"),rows:2,className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"}),A&&(0,d.jsx)("button",{type:"button",onClick:()=>G(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),(0,d.jsx)(x,{label:"Output Format",children:(0,d.jsxs)("select",{value:P,onChange:a=>Q(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"mp3",children:"MP3 (Binary)"}),(0,d.jsx)("option",{value:"json",children:"JSON (Base64)"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>aa(ax),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:_?"check":"content_copy"}),_?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:ay,disabled:V||!y.trim()||!av,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:V?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),V?"Generating...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:ax})]}),X&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:X}),R?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",Z&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",Z,"ms"]})]}),(0,d.jsxs)("a",{href:R,download:"speech.mp3",className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"download"}),"Download"]})]}),(0,d.jsx)("audio",{controls:!0,src:R,className:"w-full"}),T&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"JSON Response"})}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:JSON.stringify({format:T.format,audio:T.audio?`${T.audio.substring(0,100)}...`:""},null,2)})]})]}):(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Response"}),(0,d.jsx)("pre",{className:"mt-1.5 bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-50",children:E})]})]})]}),ab&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-end justify-center sm:items-center",style:{backgroundColor:"rgba(0,0,0,0.6)",backdropFilter:"blur(2px)"},onClick:()=>ac(!1),children:(0,d.jsxs)("div",{className:"border border-border rounded-xl shadow-2xl w-full max-w-md mx-4 flex flex-col max-h-[80vh]",style:{backgroundColor:"var(--color-bg)",isolation:"isolate"},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border shrink-0 rounded-t-xl",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:"Select Language"}),(0,d.jsx)("button",{onClick:()=>ac(!1),className:"text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"px-4 py-2.5 border-b border-border shrink-0",children:(0,d.jsx)("input",{autoFocus:!0,value:ah,onChange:a=>ai(a.target.value),placeholder:"Search language...",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),(0,d.jsxs)("div",{className:"overflow-y-auto flex-1 p-2",children:[aj&&(0,d.jsx)("p",{className:"text-xs text-red-500 px-2 py-1",children:aj}),af?(0,d.jsx)("p",{className:"text-xs text-text-muted px-2 py-3",children:"Loading..."}):(0,d.jsxs)("div",{className:"flex flex-col gap-0.5",children:[as.map(a=>(0,d.jsxs)("button",{onClick:()=>{let b;return ac(!1),u(a.code),void(q(b=al[a.code]?.voices||[]),b.length&&(j(b[0].id),m(b[0].name),f.hasVoiceIdInput&&o(b[0].id)))},className:`flex items-center justify-between w-full px-3 py-2 rounded-lg text-left hover:bg-sidebar transition-colors ${r===a.code?"bg-primary/10 text-primary":""}`,children:[(0,d.jsx)("span",{className:"text-sm",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:[a.voices.length," voices"]}),r===a.code&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",children:"check"})]})]},a.code)),0===as.length&&(0,d.jsx)("p",{className:"text-xs text-text-muted px-2 py-3",children:"No languages found."})]})]})]})})]})}let G="https://pub-1fb693cb11cc46b2b2f656f51e015a2c.r2.dev/dog.png";function H(a){let b="string"==typeof a?a.trim():"";return b?/^(data:image\/|https?:\/\/)/i.test(b)?b:`data:image/png;base64,${b}`:""}function I({providerId:a,kind:b}){let c=(0,k.wG)(a),e=(0,k.rs)(c)===a?c:a,f=k.rj.find(a=>a.id===b),g=y[b],j=g||{},l=(0,s.KC)(a).filter(a=>(0,s.CP)(a)===b),m=new Set(["image","video","music","imageToText"]).has(b),n=m&&0===l.length,[o,p]=(0,h.useState)(l[0]?.id??""),q=l.find(a=>a.id===o),r=!!q?.capabilities?.includes("edit"),u=!!q?.capabilities?.includes("mask"),[v,w]=(0,h.useState)(j.defaultInput||""),[z,A]=(0,h.useState)(""),[B,C]=(0,h.useState)(""),[D,E]=(0,h.useState)(()=>(j.extraFields||[]).reduce((a,b)=>(a[b.key]=b.default??"",a),{})),[F,J]=(0,h.useState)(""),[K,L]=(0,h.useState)(!1),[M,N]=(0,h.useState)(""),[O,P]=(0,h.useState)(""),[Q,R]=(0,h.useState)(null),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(null),[W,X]=(0,h.useState)("json"),[Y,Z]=(0,h.useState)(""),[$,_]=(0,h.useState)(!1),[aa,ab]=(0,h.useState)(""),[ac,ad]=(0,h.useState)([]),[ae,af]=(0,h.useState)(""),{copied:ag,copy:ah}=(0,t.C)(),{copied:ai,copy:aj}=(0,t.C)();if(!f||!g)return null;let ak=K?O:M,al=f.endpoint.path,am=m?o?`${e}/${o}`:n?"":e:e,an="cloudflare-ai"!==a?{}:"@cf/runwayml/stable-diffusion-v1-5-img2img"===o?{image:G}:"@cf/runwayml/stable-diffusion-v1-5-inpainting"===o?{image:G,mask_image:"https://pub-1fb693cb11cc46b2b2f656f51e015a2c.r2.dev/dog-mask.png"}:{},ao=z.trim()||an.image||"",ap=B.trim()||an.mask_image||"",aq=H(ao),ar=H(ap),as=Object.entries(D).reduce((a,[b,c])=>(""===c||null==c||"number"==typeof c&&Number.isNaN(c)||(a[b]=c),a),{}),at={model:am,[g.bodyKey]:v,...g.extraBody,...as,...r&&ao?{image:ao}:{},...u&&ap?{mask_image:ap}:{}},au="image"===b&&"binary"===W,av="image"===b&&"codex"===a&&!au,aw=`${al}${au?"?response_format=binary":""}`,ax=`-H "Content-Type: application/json" \\
|
|
46
|
-
-H "Authorization: Bearer ${
|
|
47
|
-
-H "x-connection-id: ${
|
|
48
|
-
-H "Accept: text/event-stream"`:""}`,
|
|
49
|
-
${
|
|
50
|
-
-d '${JSON.stringify(at)}'${au?" \\\n --output image.png":""}`,az=async()=>{if(!v.trim()||!am)return;if(_(!0),ab(""),R(null),T(null),V(null),Y){try{URL.revokeObjectURL(Y)}catch{}Z("")}let a=Date.now();try{let b={"Content-Type":"application/json"};F&&(b.Authorization=`Bearer ${F}`),ae&&(b["x-connection-id"]=ae),av&&(b.Accept="text/event-stream");let c={...at,model:am},d=await fetch(`/api${aw}`,{method:f.endpoint.method,headers:b,body:JSON.stringify(c)});if(!d.ok){let a=await d.json().catch(()=>({}));ab(a?.error?.message||a?.error||`HTTP ${d.status}`);return}let e=d.headers.get("content-type")||"";if(e.startsWith("image/")){let b=await d.blob(),c=URL.createObjectURL(b);Z(c),R({data:{binary:!0,mime:e,size:b.size},latencyMs:Date.now()-a});return}if(e.includes("text/event-stream")&&d.body){let b=d.body.getReader(),c=new TextDecoder,e="",f=null,g=null;for(;;){let a,{done:d,value:h}=await b.read();if(d)break;for(e+=c.decode(h,{stream:!0});-1!==(a=e.indexOf("\n\n"));){let b=e.slice(0,a);e=e.slice(a+2);let c=null,d="";for(let a of b.split("\n"))a.startsWith("event:")?c=a.slice(6).trim():a.startsWith("data:")&&(d+=a.slice(5).trim());if(c)try{let a=d?JSON.parse(d):{};"progress"===c?T(a):"partial_image"===c?V(a):"done"===c?f=a:"error"===c&&(g=a?.message||"Stream error")}catch{}}}let h=Date.now()-a;if(g)return void ab(g);f&&R({data:f,latencyMs:h})}else{let b=await d.json(),c=Date.now()-a;R({data:b,latencyMs:c})}}catch(a){ab(a.message||"Network error")}finally{_(!1)}},aA=a=>{if(!a||"object"!=typeof a)return a;if(Array.isArray(a))return a.map(aA);let b={};for(let[c,d]of Object.entries(a))b[c]="b64_json"===c&&"string"==typeof d&&d.length>100?`<${d.length} chars base64>`:aA(d);return b},aB=Q?JSON.stringify(aA(Q.data),null,2):"";return(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[l.length>0?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:o,onChange:a=>p(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:l.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}):n?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("input",{value:o,onChange:a=>p(a.target.value),placeholder:"Enter model id (provider-specific)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}):null,(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[ak,al]}),O&&(0,d.jsxs)("button",{onClick:()=>L(a=>!a),title:K?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${K?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:F?`${F.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,F.length-8)))}`:(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),ac.length>0&&(0,d.jsx)(x,{label:"Connection",children:(0,d.jsxs)("select",{value:ae,onChange:a=>af(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"",children:"Auto (by priority)"}),ac.map(a=>{let b=a.providerSpecificData?.chatgptPlanType,c=a.email||a.name||a.id.slice(0,8);return(0,d.jsxs)("option",{value:a.id,children:[c,b?` [${b}]`:""]},a.id)})]})}),(0,d.jsx)(x,{label:g.inputLabel,children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:v,onChange:a=>w(a.target.value),placeholder:g.inputPlaceholder,className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),v&&(0,d.jsx)("button",{type:"button",onClick:()=>w(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),r&&(0,d.jsx)(x,{label:"Ref Image (URL)",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:z,onChange:a=>A(a.target.value),placeholder:an.image||"https://example.com/source.png",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),z&&(0,d.jsx)("button",{type:"button",onClick:()=>A(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]}),aq&&(0,d.jsx)("img",{src:aq,alt:"Reference",className:"max-h-40 rounded-lg border border-border object-contain bg-sidebar",onError:a=>{a.currentTarget.style.display="none"},onLoad:a=>{a.currentTarget.style.display="block"},loading:"lazy",decoding:"async"})]})}),u&&(0,d.jsx)(x,{label:"Mask (URL)",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:B,onChange:a=>C(a.target.value),placeholder:an.mask_image||"https://example.com/mask.png",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),B&&(0,d.jsx)("button",{type:"button",onClick:()=>C(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]}),ar&&(0,d.jsx)("img",{src:ar,alt:"Mask",className:"max-h-40 rounded-lg border border-border object-contain bg-sidebar",onError:a=>{a.currentTarget.style.display="none"},onLoad:a=>{a.currentTarget.style.display="block"},loading:"lazy",decoding:"async"})]})}),(g.extraFields||[]).filter(a=>0===l.length||Array.isArray(q?.params)&&q.params.includes(a.key)).map(a=>(0,d.jsx)(x,{label:a.label,children:"select"===a.type?(0,d.jsx)("select",{value:D[a.key]??"",onChange:b=>E(c=>({...c,[a.key]:b.target.value})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:(a.options||[]).map(a=>(0,d.jsx)("option",{value:a,children:""===a?"(default)":a},a))}):"text"===a.type?(0,d.jsx)("input",{type:"text",value:D[a.key]??"",placeholder:a.placeholder,onChange:b=>E(c=>({...c,[a.key]:b.target.value})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}):(0,d.jsx)("input",{type:"number",value:D[a.key]??"",min:a.min,max:a.max,onChange:b=>E(c=>({...c,[a.key]:""===b.target.value?"":Number(b.target.value)})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})},a.key)),"image"===b&&(0,d.jsx)(x,{label:"Output Format",children:(0,d.jsxs)("select",{value:W,onChange:a=>X(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"json",children:"JSON (Base64)"}),(0,d.jsx)("option",{value:"binary",children:"Binary File"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>ah(ay),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ag?"check":"content_copy"}),ag?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:az,disabled:$||!v.trim()||!am,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:$?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),$?"Running...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:ay})]}),($||S)&&av&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 px-3 py-2 rounded-lg bg-sidebar border border-border sm:flex-row sm:items-center sm:gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",style:$?{animation:"spin 1s linear infinite"}:void 0,children:$?"progress_activity":"check_circle"}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:[S?.stage||"starting",!$&&S?.bytesReceived?` \xb7 ${(S.bytesReceived/1024).toFixed(1)} KB`:""]})]}),U?.b64_json&&!Q&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Partial preview"}),(0,d.jsx)("img",{src:`data:image/png;base64,${U.b64_json}`,alt:"Partial",className:"max-w-full rounded-lg border border-border mt-1.5 opacity-80",loading:"lazy",decoding:"async"})]}),aa&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:aa}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",Q&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",Q.latencyMs,"ms"]})]}),Q&&(0,d.jsxs)("button",{onClick:()=>aj(aB),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ai?"check":"content_copy"}),ai?"Copied":"Copy"]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-70",children:Q?aB:g.defaultResponse}),"image"===b&&(Y||Q?.data?.data?.[0])&&(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)("div",{className:"flex items-center justify-end mb-1.5",children:(0,d.jsxs)("a",{href:Y||(Q?.data?.data?.[0]?.b64_json?`data:image/png;base64,${Q.data.data[0].b64_json}`:Q?.data?.data?.[0]?.url||""),download:"image.png",className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"download"}),"Download"]})}),(0,d.jsx)("img",{src:Y||(Q?.data?.data?.[0]?.b64_json?`data:image/png;base64,${Q.data.data[0].b64_json}`:Q?.data?.data?.[0]?.url),alt:"Generated",className:"max-w-full rounded-lg border border-border",loading:"lazy",decoding:"async"})]})]})]})]})}function J({providerId:a}){let b=(0,k.wG)(a),c=(0,s.KC)(a).filter(a=>"stt"===(0,s.CP)(a)),[e,f]=(0,h.useState)([]),g=[...c,...e],[j,l]=(0,h.useState)(c[0]?.id??""),m=g.find(a=>a.id===j),n=Array.isArray(m?.params)?m.params:[],[o,p]=(0,h.useState)(null),[q,r]=(0,h.useState)(""),[u,v]=(0,h.useState)(""),[w,y]=(0,h.useState)("json"),[z,A]=(0,h.useState)(""),[B,C]=(0,h.useState)(""),[D,E]=(0,h.useState)(!1),[F,G]=(0,h.useState)(""),[H,I]=(0,h.useState)(""),[K,L]=(0,h.useState)(null),[M,N]=(0,h.useState)(null),[O,P]=(0,h.useState)(!1),[Q,R]=(0,h.useState)(""),{copied:S,copy:T}=(0,t.C)(),{copied:U,copy:V}=(0,t.C)(),W=D?H:F,X=j?`${b}/${j}`:"",Y=`curl -X POST ${W}/v1/audio/transcriptions \\
|
|
51
|
+
${"json"===P?"":"--output speech.mp3"}`,ay=async()=>{if(!y.trim()||!av)return;W(!0),Y(""),S(""),U(null);let a=Date.now();try{let b={"Content-Type":"application/json"};H&&(b.Authorization=`Bearer ${H}`);let c=`/api/v1/audio/speech${"json"===P?"?response_format=json":""}`,d=await fetch(c,{method:"POST",headers:b,body:JSON.stringify({...aw,input:y.trim()})});if($(Date.now()-a),!d.ok){let a=await d.json().catch(()=>({}));Y(a?.error?.message||a?.error||`HTTP ${d.status}`);return}if("json"===P){let a=await d.json();U(a);let b=a.format||"mp3",c=await fetch(`data:audio/${b};base64,${a.audio}`).then(a=>a.blob());S(URL.createObjectURL(c))}else{let a=await d.blob();S(URL.createObjectURL(a))}}catch(a){Y(a.message||"Network error")}finally{W(!1)}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[at,"/v1/audio/speech"]}),N&&(0,d.jsxs)("button",{onClick:()=>K(a=>!a),title:J?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${J?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:H?`${H.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,H.length-8)))}`:ap>0?(0,d.jsxs)("span",{className:"text-text-muted italic",children:["Using stored key(s) \xb7 ",ap," connection",ap>1?"s":""]}):(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),f.hasModelSelector&&(f.modelKey||(0,s.KC)(a).some(a=>"tts"===(0,s.CP)(a)))&&(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:((c=(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a))).length?c:(0,s.KC)(f.modelKey)||[]).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}),f.hasLanguageHint&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsxs)("select",{value:an,onChange:a=>ao(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"",children:"Auto-detect"}),(f.languageOptions||D.I).map(a=>"string"==typeof a?(0,d.jsx)("option",{value:a,children:a},a):(0,d.jsx)("option",{value:a.name,children:a.name},a.id))]})}),f.hasBrowseButton&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsx)("button",{onClick:ar,className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm border border-border rounded-lg bg-background font-mono truncate text-left hover:border-primary/40 transition-colors",children:r?(0,d.jsx)("span",{className:"text-text-main",children:ad.find(a=>a.code===r)?.name||r}):(0,d.jsx)("span",{className:"text-text-muted",children:"No language selected"})}),(0,d.jsxs)("button",{onClick:ar,className:"flex w-full items-center justify-center gap-1 text-xs px-2.5 py-1.5 rounded-lg border border-border text-text-muted hover:text-primary hover:border-primary/40 transition-colors sm:w-auto sm:shrink-0",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"language"}),"Select language"]})]})}),p.length>0&&(0,d.jsx)(x,{label:"Voice",children:(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:p.map(a=>(0,d.jsxs)("button",{onClick:()=>{j(a.id),m(a.name),f.hasVoiceIdInput&&o(a.id)},className:`px-2.5 py-1 rounded-full text-xs border transition-colors ${g===a.id?"bg-primary/15 border-primary/40 text-primary font-medium":"border-border text-text-muted hover:text-primary hover:border-primary/40"}`,children:[a.name,a.language?` \xb7 ${a.language}`:"",a.gender?` \xb7 ${a.gender[0].toUpperCase()}`:"",!0===a.free_users_allowed&&(0,d.jsx)("span",{className:"ml-1.5 px-1 py-0.5 text-[9px] font-semibold rounded bg-green-500/15 text-green-600 border border-green-500/20",children:"Free"}),!1===a.free_users_allowed&&(0,d.jsx)("span",{className:"ml-1.5 px-1 py-0.5 text-[9px] font-semibold rounded bg-amber-500/15 text-amber-600 border border-amber-500/20",children:"Paid"})]},a.id))})}),f.hasVoiceIdInput&&(0,d.jsx)(x,{label:"Voice ID",children:(0,d.jsx)("div",{className:"flex flex-col gap-1",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:n,onChange:a=>{o(a.target.value),j(a.target.value)},placeholder:"e.g. CwhRBWXzGAHq8TQ4Fs17",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"}),n&&(0,d.jsx)("button",{type:"button",onClick:()=>{o(""),j("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})})}),f.hasLanguageDropdown&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsx)("select",{value:g,onChange:b=>{let c=(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a)).find(a=>a.id===b.target.value);j(b.target.value),m(c?.name||b.target.value)},className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:(0,s.KC)(a).filter(a=>"tts"===(0,s.CP)(a)).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}),(0,d.jsx)(x,{label:"Input",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:y,onChange:a=>z(a.target.value),className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),y&&(0,d.jsx)("button",{type:"button",onClick:()=>z(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),f.hasStyleInput&&(0,d.jsx)(x,{label:(0,C.Tl)("Style"),children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("textarea",{value:A,onChange:a=>G(a.target.value),placeholder:(0,C.Tl)("e.g. a warm, gentle voice, speaking slowly with a British accent"),rows:2,className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"}),A&&(0,d.jsx)("button",{type:"button",onClick:()=>G(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),(0,d.jsx)(x,{label:"Output Format",children:(0,d.jsxs)("select",{value:P,onChange:a=>Q(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"mp3",children:"MP3 (Binary)"}),(0,d.jsx)("option",{value:"json",children:"JSON (Base64)"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>aa(ax),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:_?"check":"content_copy"}),_?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:ay,disabled:V||!y.trim()||!av,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:V?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),V?"Generating...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:ax})]}),X&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:X}),R?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",Z&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",Z,"ms"]})]}),(0,d.jsxs)("a",{href:R,download:"speech.mp3",className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"download"}),"Download"]})]}),(0,d.jsx)("audio",{controls:!0,src:R,className:"w-full"}),T&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"JSON Response"})}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:JSON.stringify({format:T.format,audio:T.audio?`${T.audio.substring(0,100)}...`:""},null,2)})]})]}):(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Response"}),(0,d.jsx)("pre",{className:"mt-1.5 bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-50",children:E})]})]})]}),ab&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-end justify-center sm:items-center",style:{backgroundColor:"rgba(0,0,0,0.6)",backdropFilter:"blur(2px)"},onClick:()=>ac(!1),children:(0,d.jsxs)("div",{className:"border border-border rounded-xl shadow-2xl w-full max-w-md mx-4 flex flex-col max-h-[80vh]",style:{backgroundColor:"var(--color-bg)",isolation:"isolate"},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border shrink-0 rounded-t-xl",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:"Select Language"}),(0,d.jsx)("button",{onClick:()=>ac(!1),className:"text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"px-4 py-2.5 border-b border-border shrink-0",children:(0,d.jsx)("input",{autoFocus:!0,value:ah,onChange:a=>ai(a.target.value),placeholder:"Search language...",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),(0,d.jsxs)("div",{className:"overflow-y-auto flex-1 p-2",children:[aj&&(0,d.jsx)("p",{className:"text-xs text-red-500 px-2 py-1",children:aj}),af?(0,d.jsx)("p",{className:"text-xs text-text-muted px-2 py-3",children:"Loading..."}):(0,d.jsxs)("div",{className:"flex flex-col gap-0.5",children:[as.map(a=>(0,d.jsxs)("button",{onClick:()=>{let b;return ac(!1),u(a.code),void(q(b=al[a.code]?.voices||[]),b.length&&(j(b[0].id),m(b[0].name),f.hasVoiceIdInput&&o(b[0].id)))},className:`flex items-center justify-between w-full px-3 py-2 rounded-lg text-left hover:bg-sidebar transition-colors ${r===a.code?"bg-primary/10 text-primary":""}`,children:[(0,d.jsx)("span",{className:"text-sm",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:[a.voices.length," voices"]}),r===a.code&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",children:"check"})]})]},a.code)),0===as.length&&(0,d.jsx)("p",{className:"text-xs text-text-muted px-2 py-3",children:"No languages found."})]})]})]})})]})}let G="https://pub-1fb693cb11cc46b2b2f656f51e015a2c.r2.dev/dog.png";function H(a){let b="string"==typeof a?a.trim():"";return b?/^(data:image\/|https?:\/\/)/i.test(b)?b:`data:image/png;base64,${b}`:""}function I({providerId:a,kind:b}){let c=(0,k.wG)(a),e=(0,k.rs)(c)===a?c:a,f=k.rj.find(a=>a.id===b),g=y[b],j=g||{},l=(0,s.KC)(a).filter(a=>(0,s.CP)(a)===b),m=new Set(["image","video","music","imageToText","systemone"]).has(b),n=m&&0===l.length,[o,p]=(0,h.useState)(l[0]?.id??""),q=l.find(a=>a.id===o),r=!!q?.capabilities?.includes("edit"),u=!!q?.capabilities?.includes("mask"),[v,w]=(0,h.useState)(j.defaultInput||""),[z,A]=(0,h.useState)("Does this request require urgent attention?"),[B,C]=(0,h.useState)(""),[D,E]=(0,h.useState)(""),[F,J]=(0,h.useState)(()=>(j.extraFields||[]).reduce((a,b)=>(a[b.key]=b.default??"",a),{})),[K,L]=(0,h.useState)(""),[M,N]=(0,h.useState)(!1),[O,P]=(0,h.useState)(""),[Q,R]=(0,h.useState)(""),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(null),[W,X]=(0,h.useState)(null),[Y,Z]=(0,h.useState)("json"),[$,_]=(0,h.useState)(""),[aa,ab]=(0,h.useState)(!1),[ac,ad]=(0,h.useState)(""),[ae,af]=(0,h.useState)([]),[ag,ah]=(0,h.useState)(""),{copied:ai,copy:aj}=(0,t.C)(),{copied:ak,copy:al}=(0,t.C)();if(!f||!g)return null;let am=M?Q:O,an=f.endpoint.path,ao=m?o?`${e}/${o}`:n?"":e:e,ap="huggingface"===a?{image:G}:"cloudflare-ai"!==a?{}:"@cf/runwayml/stable-diffusion-v1-5-img2img"===o?{image:G}:"@cf/runwayml/stable-diffusion-v1-5-inpainting"===o?{image:G,mask_image:"https://pub-1fb693cb11cc46b2b2f656f51e015a2c.r2.dev/dog-mask.png"}:{},aq=B.trim()||ap.image||"",ar=D.trim()||ap.mask_image||"",as=H(aq),at=H(ar),au=Object.entries(F).reduce((a,[b,c])=>(""===c||null==c||"number"==typeof c&&Number.isNaN(c)||(a[b]=c),a),{}),av="systemone"===b?{questions:{is_urgent:{type:"noul",instructions:z.trim()||"Does this request require urgent attention?"}}}:{},aw={model:ao,[g.bodyKey]:v,...g.extraBody,...au,...av,...r&&aq?{image:aq}:{},...u&&ar?{mask_image:ar}:{}},ax="image"===b&&"binary"===Y,ay="image"===b&&"codex"===a&&!ax,az=`${an}${ax?"?response_format=binary":""}`,aA=`-H "Content-Type: application/json" \\
|
|
52
|
+
-H "Authorization: Bearer ${K||"YOUR_KEY"}"${ag?` \\
|
|
53
|
+
-H "x-connection-id: ${ag}"`:""}${ay?` \\
|
|
54
|
+
-H "Accept: text/event-stream"`:""}`,aB=`curl -X ${f.endpoint.method} ${am}${az} \\
|
|
55
|
+
${aA.replace(/\\\n /g,"\\\n ")} \\
|
|
56
|
+
-d '${JSON.stringify(aw)}'${ax?" \\\n --output image.png":""}`,aC=async()=>{if(!v.trim()||!ao)return;if(ab(!0),ad(""),T(null),V(null),X(null),$){try{URL.revokeObjectURL($)}catch{}_("")}let a=Date.now();try{let b={"Content-Type":"application/json"};K&&(b.Authorization=`Bearer ${K}`),ag&&(b["x-connection-id"]=ag),ay&&(b.Accept="text/event-stream");let c={...aw,model:ao},d=await fetch(`/api${az}`,{method:f.endpoint.method,headers:b,body:JSON.stringify(c)});if(!d.ok){let a=await d.json().catch(()=>({}));ad(a?.error?.message||a?.error||`HTTP ${d.status}`);return}let e=d.headers.get("content-type")||"";if(e.startsWith("image/")){let b=await d.blob(),c=URL.createObjectURL(b);_(c),T({data:{binary:!0,mime:e,size:b.size},latencyMs:Date.now()-a});return}if(e.includes("text/event-stream")&&d.body){let b=d.body.getReader(),c=new TextDecoder,e="",f=null,g=null;for(;;){let a,{done:d,value:h}=await b.read();if(d)break;for(e+=c.decode(h,{stream:!0});-1!==(a=e.indexOf("\n\n"));){let b=e.slice(0,a);e=e.slice(a+2);let c=null,d="";for(let a of b.split("\n"))a.startsWith("event:")?c=a.slice(6).trim():a.startsWith("data:")&&(d+=a.slice(5).trim());if(c)try{let a=d?JSON.parse(d):{};"progress"===c?V(a):"partial_image"===c?X(a):"done"===c?f=a:"error"===c&&(g=a?.message||"Stream error")}catch{}}}let h=Date.now()-a;if(g)return void ad(g);f&&T({data:f,latencyMs:h})}else{let b=await d.json(),c=Date.now()-a;T({data:b,latencyMs:c})}}catch(a){ad(a.message||"Network error")}finally{ab(!1)}},aD=a=>{if(!a||"object"!=typeof a)return a;if(Array.isArray(a))return a.map(aD);let b={};for(let[c,d]of Object.entries(a))b[c]="b64_json"===c&&"string"==typeof d&&d.length>100?`<${d.length} chars base64>`:aD(d);return b},aE=S?JSON.stringify(aD(S.data),null,2):"";return(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[l.length>0?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:o,onChange:a=>p(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:l.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}):n?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("input",{value:o,onChange:a=>p(a.target.value),placeholder:"Enter model id (provider-specific)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}):null,(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[am,an]}),Q&&(0,d.jsxs)("button",{onClick:()=>N(a=>!a),title:M?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${M?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:K?`${K.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,K.length-8)))}`:(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),ae.length>0&&(0,d.jsx)(x,{label:"Connection",children:(0,d.jsxs)("select",{value:ag,onChange:a=>ah(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"",children:"Auto (by priority)"}),ae.map(a=>{let b=a.providerSpecificData?.chatgptPlanType,c=a.email||a.name||a.id.slice(0,8);return(0,d.jsxs)("option",{value:a.id,children:[c,b?` [${b}]`:""]},a.id)})]})}),(0,d.jsx)(x,{label:g.inputLabel,children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:v,onChange:a=>w(a.target.value),placeholder:g.inputPlaceholder,className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),v&&(0,d.jsx)("button",{type:"button",onClick:()=>w(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),"systemone"===b&&(0,d.jsx)(x,{label:"Question",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:z,onChange:a=>A(a.target.value),placeholder:"Enter evaluation question or criteria",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),z&&(0,d.jsx)("button",{type:"button",onClick:()=>A(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}),r&&(0,d.jsx)(x,{label:"Ref Image (URL)",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:B,onChange:a=>C(a.target.value),placeholder:ap.image||"https://example.com/source.png",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),B&&(0,d.jsx)("button",{type:"button",onClick:()=>C(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]}),as&&(0,d.jsx)("img",{src:as,alt:"Reference",className:"max-h-40 rounded-lg border border-border object-contain bg-sidebar",onError:a=>{a.currentTarget.style.display="none"},onLoad:a=>{a.currentTarget.style.display="block"},loading:"lazy",decoding:"async"})]})}),u&&(0,d.jsx)(x,{label:"Mask (URL)",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{value:D,onChange:a=>E(a.target.value),placeholder:ap.mask_image||"https://example.com/mask.png",className:"w-full px-3 py-1.5 pr-7 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}),D&&(0,d.jsx)("button",{type:"button",onClick:()=>E(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-muted hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]}),at&&(0,d.jsx)("img",{src:at,alt:"Mask",className:"max-h-40 rounded-lg border border-border object-contain bg-sidebar",onError:a=>{a.currentTarget.style.display="none"},onLoad:a=>{a.currentTarget.style.display="block"},loading:"lazy",decoding:"async"})]})}),(g.extraFields||[]).filter(a=>0===l.length||Array.isArray(q?.params)&&q.params.includes(a.key)).map(a=>(0,d.jsx)(x,{label:a.label,children:"select"===a.type?(0,d.jsx)("select",{value:F[a.key]??"",onChange:b=>J(c=>({...c,[a.key]:b.target.value})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:(a.options||[]).map(a=>(0,d.jsx)("option",{value:a,children:""===a?"(default)":a},a))}):"text"===a.type?(0,d.jsx)("input",{type:"text",value:F[a.key]??"",placeholder:a.placeholder,onChange:b=>J(c=>({...c,[a.key]:b.target.value})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"}):(0,d.jsx)("input",{type:"number",value:F[a.key]??"",min:a.min,max:a.max,onChange:b=>J(c=>({...c,[a.key]:""===b.target.value?"":Number(b.target.value)})),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})},a.key)),"image"===b&&(0,d.jsx)(x,{label:"Output Format",children:(0,d.jsxs)("select",{value:Y,onChange:a=>Z(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"json",children:"JSON (Base64)"}),(0,d.jsx)("option",{value:"binary",children:"Binary File"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>aj(aB),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ai?"check":"content_copy"}),ai?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:aC,disabled:aa||!v.trim()||!ao,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:aa?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),aa?"Running...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:aB})]}),(aa||U)&&ay&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 px-3 py-2 rounded-lg bg-sidebar border border-border sm:flex-row sm:items-center sm:gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",style:aa?{animation:"spin 1s linear infinite"}:void 0,children:aa?"progress_activity":"check_circle"}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:[U?.stage||"starting",!aa&&U?.bytesReceived?` \xb7 ${(U.bytesReceived/1024).toFixed(1)} KB`:""]})]}),W?.b64_json&&!S&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Partial preview"}),(0,d.jsx)("img",{src:`data:image/png;base64,${W.b64_json}`,alt:"Partial",className:"max-w-full rounded-lg border border-border mt-1.5 opacity-80",loading:"lazy",decoding:"async"})]}),ac&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:ac}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",S&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",S.latencyMs,"ms"]})]}),S&&(0,d.jsxs)("button",{onClick:()=>al(aE),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ak?"check":"content_copy"}),ak?"Copied":"Copy"]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-70",children:S?aE:g.defaultResponse}),"image"===b&&($||S?.data?.data?.[0])&&(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)("div",{className:"flex items-center justify-end mb-1.5",children:(0,d.jsxs)("a",{href:$||(S?.data?.data?.[0]?.b64_json?`data:image/png;base64,${S.data.data[0].b64_json}`:S?.data?.data?.[0]?.url||""),download:"image.png",className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"download"}),"Download"]})}),(0,d.jsx)("img",{src:$||(S?.data?.data?.[0]?.b64_json?`data:image/png;base64,${S.data.data[0].b64_json}`:S?.data?.data?.[0]?.url),alt:"Generated",className:"max-w-full rounded-lg border border-border",loading:"lazy",decoding:"async"})]})]})]})]})}function J({providerId:a}){let b=(0,k.wG)(a),c=(0,s.KC)(a).filter(a=>"stt"===(0,s.CP)(a)),[e,f]=(0,h.useState)([]),g=[...c,...e],[j,l]=(0,h.useState)(c[0]?.id??""),m=g.find(a=>a.id===j),n=Array.isArray(m?.params)?m.params:[],[o,p]=(0,h.useState)(null),[q,r]=(0,h.useState)(""),[u,v]=(0,h.useState)(""),[w,y]=(0,h.useState)("json"),[z,A]=(0,h.useState)(""),[B,C]=(0,h.useState)(""),[D,E]=(0,h.useState)(!1),[F,G]=(0,h.useState)(""),[H,I]=(0,h.useState)(""),[K,L]=(0,h.useState)(null),[M,N]=(0,h.useState)(null),[O,P]=(0,h.useState)(!1),[Q,R]=(0,h.useState)(""),{copied:S,copy:T}=(0,t.C)(),{copied:U,copy:V}=(0,t.C)(),W=D?H:F,X=j?`${b}/${j}`:"",Y=`curl -X POST ${W}/v1/audio/transcriptions \\
|
|
51
57
|
-H "Authorization: Bearer ${B||"YOUR_KEY"}" \\
|
|
52
58
|
-F "file=@${o?.name||"audio.mp3"}" \\
|
|
53
59
|
-F "model=${X}"${n.includes("language")&&q?` \\
|
|
@@ -56,4 +62,4 @@
|
|
|
56
62
|
-F "temperature=${z}"`:""}${n.includes("prompt")&&u?` \\
|
|
57
63
|
-F "prompt=${u}"`:""}`,Z=async()=>{if(!o||!X)return;P(!0),R(""),L(null);let a=Date.now();try{let b=new FormData;b.append("file",o),b.append("model",X),n.includes("language")&&q&&b.append("language",q),n.includes("response_format")&&b.append("response_format",w),n.includes("temperature")&&z&&b.append("temperature",z),n.includes("prompt")&&u&&b.append("prompt",u);let c={};B&&(c.Authorization=`Bearer ${B}`);let d=await fetch("/api/v1/audio/transcriptions",{method:"POST",headers:c,body:b});N(Date.now()-a);let e=(d.headers.get("content-type")||"").includes("application/json")?await d.json():await d.text();if(!d.ok)return void R(e?.error?.message||e?.error||e||`HTTP ${d.status}`);L(e)}catch(a){R(a.message||"Network error")}finally{P(!1)}},$="string"==typeof K?K:K?JSON.stringify(K,null,2):`{
|
|
58
64
|
"text": "Hello world..."
|
|
59
|
-
}`;return(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[g.length>0?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:j,onChange:a=>l(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:g.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}):(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("input",{value:j,onChange:a=>l(a.target.value),placeholder:"Enter model id",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}),(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[W,"/v1/audio/transcriptions"]}),H&&(0,d.jsxs)("button",{onClick:()=>E(a=>!a),title:D?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${D?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:B?`${B.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,B.length-8)))}`:(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),(0,d.jsx)(x,{label:"Audio File",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)("input",{type:"file",accept:"audio/*,video/mp4,.m4a,.mp3,.wav,.ogg,.flac,.webm,.opus",onChange:a=>p(a.target.files?.[0]||null),className:"w-full text-xs text-text-muted file:mr-2 file:py-1 file:px-2.5 file:rounded-lg file:border file:border-border file:bg-background file:text-text-main hover:file:bg-sidebar file:cursor-pointer"}),o&&(0,d.jsxs)("span",{className:"text-xs text-text-muted font-mono",children:[o.name," \xb7 ",(o.size/1024).toFixed(1)," KB"]})]})}),n.includes("language")&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsx)("input",{value:q,onChange:a=>r(a.target.value),placeholder:"e.g. en, vi, ja (auto-detect if empty)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}),n.includes("prompt")&&(0,d.jsx)(x,{label:"Prompt",children:(0,d.jsx)("input",{value:u,onChange:a=>v(a.target.value),placeholder:"optional context to improve accuracy",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),n.includes("temperature")&&(0,d.jsx)(x,{label:"Temperature",children:(0,d.jsx)("input",{type:"number",step:"0.1",min:"0",max:"1",value:z,onChange:a=>A(a.target.value),placeholder:"0 - 1 (default 0)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),n.includes("response_format")&&(0,d.jsx)(x,{label:"Response Format",children:(0,d.jsxs)("select",{value:w,onChange:a=>y(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"json",children:"json"}),(0,d.jsx)("option",{value:"text",children:"text"}),(0,d.jsx)("option",{value:"srt",children:"srt"}),(0,d.jsx)("option",{value:"verbose_json",children:"verbose_json"}),(0,d.jsx)("option",{value:"vtt",children:"vtt"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>T(Y),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:S?"check":"content_copy"}),S?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:Z,disabled:O||!o||!X,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:O?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),O?"Transcribing...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:Y})]}),Q&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:Q}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",K&&M&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",M,"ms"]})]}),K&&(0,d.jsxs)("button",{onClick:()=>V($),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:U?"check":"content_copy"}),U?"Copied":"Copy"]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-70",children:$})]})]})]})}function K(){let{kind:a,id:b}=(0,e.useParams)(),c=(0,e.useRouter)(),f=k.rj.find(b=>b.id===a),l=(0,k.gC)(b)&&"embedding"===a,m=async()=>{if(confirm("Delete this Custom Embedding node?"))try{(await fetch(`/api/provider-nodes/${b}`,{method:"DELETE"})).ok&&c.push(`/dashboard/media-providers/${a}`)}catch(a){console.log("Error deleting custom embedding node:",a)}},[n,o]=(0,h.useState)(null),[p,q]=(0,h.useState)(l),[s,t]=(0,h.useState)(!1);if(!f)return(0,e.notFound)();let u=k.Q2[b],v=l?n?{id:b,name:n.name||"Custom Embedding",color:"#6366F1",textIcon:"CE"}:null:u;if(!l&&!u||l&&!p&&!n)return(0,e.notFound)();if(l&&p)return(0,d.jsx)("div",{className:"text-text-muted text-sm py-12 text-center",children:"Loading..."});let x=l?["embedding"]:v.serviceKinds??["llm"];return l||x.includes(a)?(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)(g(),{href:`/dashboard/media-providers/${a}`,className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-lg",children:"arrow_back"}),f.label]}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[(0,d.jsx)("div",{className:"size-12 rounded-lg flex items-center justify-center shrink-0",style:{backgroundColor:`${v.color}15`},children:(0,d.jsx)(j.A,{src:`/providers/${v.id}.png`,alt:v.name,size:48,className:"object-contain rounded-lg max-w-[48px] max-h-[48px]",fallbackText:v.textIcon||v.id.slice(0,2).toUpperCase(),fallbackColor:v.color})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3",children:[(0,d.jsx)("h1",{className:"text-3xl font-semibold tracking-tight",children:v.name}),!l&&v.notice?.apiKeyUrl&&(0,d.jsxs)("a",{href:v.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"open_in_new"}),"Get API Key"]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mt-1 flex-wrap",children:[l&&(0,d.jsxs)(i.Ex,{variant:"default",size:"sm",children:["Custom \xb7 ",n?.prefix]}),x.map(b=>(0,d.jsx)(i.Ex,{variant:b===a?"primary":"default",size:"sm",children:b.toUpperCase()},b))]})]}),l&&(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsx)(i.$n,{size:"sm",variant:"secondary",icon:"edit",onClick:()=>t(!0),children:"Edit"}),(0,d.jsx)(i.$n,{size:"sm",variant:"secondary",icon:"delete",onClick:m,children:"Delete"})]})]})]}),!l&&v.kindNotice?.[a]&&(0,d.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-amber-500/10 border border-amber-500/30 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-sm",children:v.kindNotice[a]})]}),!l&&v.notice?.text&&!v.deprecated&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-blue-500/30 bg-blue-500/10 px-3 py-2 sm:flex-row sm:items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-blue-500 shrink-0",children:"info"}),(0,d.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-relaxed text-blue-600 dark:text-blue-400",children:v.notice.text}),v.notice.apiKeyUrl&&(0,d.jsx)("a",{href:v.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex justify-center rounded bg-blue-500 px-2 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600 sm:py-0.5",children:"Get API Key →"})]}),!l&&v.noAuth?(0,d.jsx)(i.gw,{providerId:b}):(0,d.jsx)(r,{providerId:b,isOAuth:!1}),"tts"!==a&&"webSearch"!==a&&"webFetch"!==a&&(0,d.jsx)(w,{providerId:b,kindFilter:a,providerAliasOverride:l?n?.prefix:void 0}),!l&&(v.searchConfig||v.fetchConfig||v.ttsConfig||v.sttConfig||v.embeddingConfig||v.searchViaChat)&&(0,d.jsx)(i.Wx,{config:"webFetch"===a?v.fetchConfig:"tts"===a?v.ttsConfig:"stt"===a?v.sttConfig:"embedding"===a?v.embeddingConfig:v.searchConfig||{mode:"chat-completions",defaultModel:v.searchViaChat?.defaultModel,pricingUrl:v.searchViaChat?.pricingUrl,freeTier:v.searchViaChat?.freeTier},provider:v,title:`${f.label} Config`}),"embedding"===a&&(0,d.jsx)(A,{providerId:b,customAlias:n?.prefix}),"tts"===a&&(0,d.jsx)(F,{providerId:b}),"stt"===a&&!l&&(0,d.jsx)(J,{providerId:b}),!l&&y[a]&&(0,d.jsx)(I,{providerId:b,kind:a}),l&&(0,d.jsx)(i.x0,{isOpen:s,node:n,onClose:()=>t(!1),onSaved:a=>{o(a),t(!1)}})]}):(0,e.notFound)()}},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27358:(a,b,c)=>{Promise.resolve().then(c.bind(c,69296))},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30465:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>y,handler:()=>A,routeModule:()=>z});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),w={children:["",{children:["(dashboard)",{children:["dashboard",{children:["media-providers",{children:["[kind]",{children:["[id]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,69296))),"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js"]}]},{"global-error":[v,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},["combo","web"]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/Users/giapminh79/code/GitHub/9router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,x=(0,e.H)({tree:w,page:"/(dashboard)/dashboard/media-providers/[kind]/[id]/page",pathname:"/dashboard/media-providers/[kind]/[id]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),y=x.__next_app__,z=x.routeModule,A=x.handler},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69296:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js","default")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74875:(a,b,c)=>{"use strict";function d(a,b){return!1===a?"default":"active"===b||"success"===b?"success":"error"===b||"expired"===b||"unavailable"===b?"error":"default"}c.d(b,{g:()=>d})},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},95814:(a,b,c)=>{Promise.resolve().then(c.bind(c,4120))}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1260,2430,3459,4665,4884,6697,6070,4961,915,6457,4123,9181,6777,412,7236],()=>b(b.s=30465));module.exports=c})();
|
|
65
|
+
}`;return(0,d.jsxs)(i.Zp,{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Example"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[g.length>0?(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("select",{value:j,onChange:a=>l(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:g.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name||a.id},a.id))})}):(0,d.jsx)(x,{label:"Model",children:(0,d.jsx)("input",{value:j,onChange:a=>l(a.target.value),placeholder:"Enter model id",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}),(0,d.jsx)(x,{label:"Endpoint",children:(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("span",{className:"w-full min-w-0 flex-1 px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate",children:[W,"/v1/audio/transcriptions"]}),H&&(0,d.jsxs)("button",{onClick:()=>E(a=>!a),title:D?"Using tunnel":"Using local",className:`flex items-center gap-1 text-xs px-2 py-1.5 rounded-lg border shrink-0 transition-colors ${D?"border-primary/40 bg-primary/10 text-primary":"border-border text-text-muted hover:text-primary"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"wifi_tethering"}),"Tunnel"]})]})}),(0,d.jsx)(x,{label:"API Key",children:(0,d.jsx)("span",{className:"px-3 py-1.5 text-sm font-mono text-text-main bg-sidebar rounded-lg truncate block",children:B?`${B.slice(0,8)}${"•".repeat(Math.min(20,Math.max(0,B.length-8)))}`:(0,d.jsx)("span",{className:"text-text-muted italic",children:"No key configured"})})}),(0,d.jsx)(x,{label:"Audio File",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)("input",{type:"file",accept:"audio/*,video/mp4,.m4a,.mp3,.wav,.ogg,.flac,.webm,.opus",onChange:a=>p(a.target.files?.[0]||null),className:"w-full text-xs text-text-muted file:mr-2 file:py-1 file:px-2.5 file:rounded-lg file:border file:border-border file:bg-background file:text-text-main hover:file:bg-sidebar file:cursor-pointer"}),o&&(0,d.jsxs)("span",{className:"text-xs text-text-muted font-mono",children:[o.name," \xb7 ",(o.size/1024).toFixed(1)," KB"]})]})}),n.includes("language")&&(0,d.jsx)(x,{label:"Language",children:(0,d.jsx)("input",{value:q,onChange:a=>r(a.target.value),placeholder:"e.g. en, vi, ja (auto-detect if empty)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary font-mono"})}),n.includes("prompt")&&(0,d.jsx)(x,{label:"Prompt",children:(0,d.jsx)("input",{value:u,onChange:a=>v(a.target.value),placeholder:"optional context to improve accuracy",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),n.includes("temperature")&&(0,d.jsx)(x,{label:"Temperature",children:(0,d.jsx)("input",{type:"number",step:"0.1",min:"0",max:"1",value:z,onChange:a=>A(a.target.value),placeholder:"0 - 1 (default 0)",className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary"})}),n.includes("response_format")&&(0,d.jsx)(x,{label:"Response Format",children:(0,d.jsxs)("select",{value:w,onChange:a=>y(a.target.value),className:"w-full px-3 py-1.5 text-sm border border-border rounded-lg bg-background focus:outline-none focus:border-primary",children:[(0,d.jsx)("option",{value:"json",children:"json"}),(0,d.jsx)("option",{value:"text",children:"text"}),(0,d.jsx)("option",{value:"srt",children:"srt"}),(0,d.jsx)("option",{value:"verbose_json",children:"verbose_json"}),(0,d.jsx)("option",{value:"vtt",children:"vtt"})]})}),(0,d.jsxs)("div",{className:"mt-1",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:"Request"}),(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsxs)("button",{onClick:()=>T(Y),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:S?"check":"content_copy"}),S?"Copied":"Copy"]}),(0,d.jsxs)("button",{onClick:Z,disabled:O||!o||!X,className:"flex w-full sm:w-auto items-center justify-center gap-1.5 px-3 py-1 rounded-lg bg-primary text-white text-xs font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:O?{animation:"spin 1s linear infinite"}:void 0,children:"play_arrow"}),O?"Transcribing...":"Run"]})]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all",children:Y})]}),Q&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:Q}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between mb-1.5",children:[(0,d.jsxs)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wider",children:["Response ",K&&M&&(0,d.jsxs)("span",{className:"font-normal normal-case",children:["⚡ ",M,"ms"]})]}),K&&(0,d.jsxs)("button",{onClick:()=>V($),className:"inline-flex items-center gap-1 text-xs text-text-muted hover:text-primary transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:U?"check":"content_copy"}),U?"Copied":"Copy"]})]}),(0,d.jsx)("pre",{className:"bg-sidebar rounded-lg px-3 py-2.5 text-xs font-mono text-text-main overflow-x-auto whitespace-pre-wrap break-all opacity-70",children:$})]})]})]})}function K(){let{kind:a,id:b}=(0,e.useParams)(),c=(0,e.useRouter)(),f=k.rj.find(b=>b.id===a),l=(0,k.gC)(b)&&"embedding"===a,m=async()=>{if(confirm("Delete this Custom Embedding node?"))try{(await fetch(`/api/provider-nodes/${b}`,{method:"DELETE"})).ok&&c.push(`/dashboard/media-providers/${a}`)}catch(a){console.log("Error deleting custom embedding node:",a)}},[n,o]=(0,h.useState)(null),[p,q]=(0,h.useState)(l),[s,t]=(0,h.useState)(!1);if(!f)return(0,e.notFound)();let u=k.Q2[b],v=l?n?{id:b,name:n.name||"Custom Embedding",color:"#6366F1",textIcon:"CE"}:null:u;if(!l&&!u||l&&!p&&!n)return(0,e.notFound)();if(l&&p)return(0,d.jsx)("div",{className:"text-text-muted text-sm py-12 text-center",children:"Loading..."});let x=l?["embedding"]:v.serviceKinds??["llm"];return l||x.includes(a)?(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)(g(),{href:`/dashboard/media-providers/${a}`,className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-lg",children:"arrow_back"}),f.label]}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[(0,d.jsx)("div",{className:"size-12 rounded-lg flex items-center justify-center shrink-0",style:{backgroundColor:`${v.color}15`},children:(0,d.jsx)(j.A,{src:`/providers/${v.id}.png`,alt:v.name,size:48,className:"object-contain rounded-lg max-w-[48px] max-h-[48px]",fallbackText:v.textIcon||v.id.slice(0,2).toUpperCase(),fallbackColor:v.color})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3",children:[(0,d.jsx)("h1",{className:"text-3xl font-semibold tracking-tight",children:v.name}),!l&&v.notice?.apiKeyUrl&&(0,d.jsxs)("a",{href:v.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"open_in_new"}),"Get API Key"]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mt-1 flex-wrap",children:[l&&(0,d.jsxs)(i.Ex,{variant:"default",size:"sm",children:["Custom \xb7 ",n?.prefix]}),x.map(b=>(0,d.jsx)(i.Ex,{variant:b===a?"primary":"default",size:"sm",children:b.toUpperCase()},b))]})]}),l&&(0,d.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center",children:[(0,d.jsx)(i.$n,{size:"sm",variant:"secondary",icon:"edit",onClick:()=>t(!0),children:"Edit"}),(0,d.jsx)(i.$n,{size:"sm",variant:"secondary",icon:"delete",onClick:m,children:"Delete"})]})]})]}),!l&&v.kindNotice?.[a]&&(0,d.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-amber-500/10 border border-amber-500/30 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-sm",children:v.kindNotice[a]})]}),!l&&v.notice?.text&&!v.deprecated&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-blue-500/30 bg-blue-500/10 px-3 py-2 sm:flex-row sm:items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-blue-500 shrink-0",children:"info"}),(0,d.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-relaxed text-blue-600 dark:text-blue-400",children:v.notice.text}),v.notice.apiKeyUrl&&(0,d.jsx)("a",{href:v.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex justify-center rounded bg-blue-500 px-2 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600 sm:py-0.5",children:"Get API Key →"})]}),!l&&v.noAuth?(0,d.jsx)(i.gw,{providerId:b}):(0,d.jsx)(r,{providerId:b,isOAuth:!1}),"tts"!==a&&"webSearch"!==a&&"webFetch"!==a&&(0,d.jsx)(w,{providerId:b,kindFilter:a,providerAliasOverride:l?n?.prefix:void 0}),!l&&(v.searchConfig||v.fetchConfig||v.ttsConfig||v.sttConfig||v.embeddingConfig||v.systemoneConfig||v.searchViaChat)&&(0,d.jsx)(i.Wx,{config:"webFetch"===a?v.fetchConfig:"tts"===a?v.ttsConfig:"stt"===a?v.sttConfig:"embedding"===a?v.embeddingConfig:"systemone"===a?v.systemoneConfig:v.searchConfig||{mode:"chat-completions",defaultModel:v.searchViaChat?.defaultModel,pricingUrl:v.searchViaChat?.pricingUrl,freeTier:v.searchViaChat?.freeTier},provider:v,title:`${f.label} Config`}),"embedding"===a&&(0,d.jsx)(A,{providerId:b,customAlias:n?.prefix}),"tts"===a&&(0,d.jsx)(F,{providerId:b}),"stt"===a&&!l&&(0,d.jsx)(J,{providerId:b}),!l&&y[a]&&(0,d.jsx)(I,{providerId:b,kind:a}),l&&(0,d.jsx)(i.x0,{isOpen:s,node:n,onClose:()=>t(!1),onSaved:a=>{o(a),t(!1)}})]}):(0,e.notFound)()}},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27358:(a,b,c)=>{Promise.resolve().then(c.bind(c,69296))},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69296:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/giapminh79/code/GitHub/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js","default")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74875:(a,b,c)=>{"use strict";function d(a,b){return!1===a?"default":"active"===b||"success"===b?"success":"error"===b||"expired"===b||"unavailable"===b?"error":"default"}c.d(b,{g:()=>d})},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},95814:(a,b,c)=>{Promise.resolve().then(c.bind(c,4120))}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1260,2430,3459,3933,4884,5237,6070,4961,915,6457,4123,9181,6777,412,7236],()=>b(b.s=1936));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../../node_modules/bindings/bindings.js","../../../../../../../../node_modules/bindings/package.json","../../../../../../../../node_modules/bundle-name/index.js","../../../../../../../../node_modules/bundle-name/package.json","../../../../../../../../node_modules/default-browser-id/index.js","../../../../../../../../node_modules/default-browser-id/package.json","../../../../../../../../node_modules/default-browser/index.js","../../../../../../../../node_modules/default-browser/package.json","../../../../../../../../node_modules/default-browser/windows.js","../../../../../../../../node_modules/define-lazy-prop/index.js","../../../../../../../../node_modules/define-lazy-prop/package.json","../../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../../node_modules/is-docker/index.js","../../../../../../../../node_modules/is-docker/package.json","../../../../../../../../node_modules/is-in-ssh/index.js","../../../../../../../../node_modules/is-in-ssh/package.json","../../../../../../../../node_modules/is-inside-container/index.js","../../../../../../../../node_modules/is-inside-container/package.json","../../../../../../../../node_modules/is-wsl/index.js","../../../../../../../../node_modules/is-wsl/package.json","../../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../node_modules/next/package.json","../../../../../../../../node_modules/open/index.js","../../../../../../../../node_modules/open/package.json","../../../../../../../../node_modules/open/xdg-open","../../../../../../../../node_modules/powershell-utils/index.js","../../../../../../../../node_modules/powershell-utils/package.json","../../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../../node_modules/react/index.js","../../../../../../../../node_modules/react/package.json","../../../../../../../../node_modules/run-applescript/index.js","../../../../../../../../node_modules/run-applescript/package.json","../../../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../../../node_modules/sql.js/package.json","../../../../../../../../node_modules/wsl-utils/index.js","../../../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/index.js","../../../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/package.json","../../../../../../../../node_modules/wsl-utils/package.json","../../../../../../../../node_modules/wsl-utils/utilities.js","../../../../../../../../package.json","../../../../../../../package.json","../../../../../../chunks/1220.js","../../../../../../chunks/1260.js","../../../../../../chunks/1455.js","../../../../../../chunks/1806.js","../../../../../../chunks/1813.js","../../../../../../chunks/1998.js","../../../../../../chunks/2391.js","../../../../../../chunks/24.js","../../../../../../chunks/241.js","../../../../../../chunks/2430.js","../../../../../../chunks/2554.js","../../../../../../chunks/3016.js","../../../../../../chunks/318.js","../../../../../../chunks/3225.js","../../../../../../chunks/3459.js","../../../../../../chunks/3490.js","../../../../../../chunks/3535.js","../../../../../../chunks/3546.js","../../../../../../chunks/3558.js","../../../../../../chunks/3593.js","../../../../../../chunks/3662.js","../../../../../../chunks/3726.js","../../../../../../chunks/3943.js","../../../../../../chunks/4037.js","../../../../../../chunks/4049.js","../../../../../../chunks/412.js","../../../../../../chunks/4123.js","../../../../../../chunks/4125.js","../../../../../../chunks/4152.js","../../../../../../chunks/4293.js","../../../../../../chunks/436.js","../../../../../../chunks/4572.js","../../../../../../chunks/4663.js","../../../../../../chunks/4665.js","../../../../../../chunks/4730.js","../../../../../../chunks/4739.js","../../../../../../chunks/4741.js","../../../../../../chunks/4780.js","../../../../../../chunks/4884.js","../../../../../../chunks/4935.js","../../../../../../chunks/4961.js","../../../../../../chunks/507.js","../../../../../../chunks/5081.js","../../../../../../chunks/5182.js","../../../../../../chunks/5258.js","../../../../../../chunks/5285.js","../../../../../../chunks/5433.js","../../../../../../chunks/5573.js","../../../../../../chunks/5615.js","../../../../../../chunks/595.js","../../../../../../chunks/6070.js","../../../../../../chunks/615.js","../../../../../../chunks/6457.js","../../../../../../chunks/6697.js","../../../../../../chunks/6763.js","../../../../../../chunks/6777.js","../../../../../../chunks/6844.js","../../../../../../chunks/6877.js","../../../../../../chunks/6922.js","../../../../../../chunks/698.js","../../../../../../chunks/7211.js","../../../../../../chunks/7220.js","../../../../../../chunks/7236.js","../../../../../../chunks/7247.js","../../../../../../chunks/7716.js","../../../../../../chunks/7774.js","../../../../../../chunks/7828.js","../../../../../../chunks/7965.js","../../../../../../chunks/8145.js","../../../../../../chunks/827.js","../../../../../../chunks/8292.js","../../../../../../chunks/8363.js","../../../../../../chunks/8402.js","../../../../../../chunks/8416.js","../../../../../../chunks/8499.js","../../../../../../chunks/8520.js","../../../../../../chunks/8526.js","../../../../../../chunks/8628.js","../../../../../../chunks/8635.js","../../../../../../chunks/8755.js","../../../../../../chunks/8895.js","../../../../../../chunks/8910.js","../../../../../../chunks/8920.js","../../../../../../chunks/9076.js","../../../../../../chunks/9128.js","../../../../../../chunks/915.js","../../../../../../chunks/9181.js","../../../../../../chunks/9399.js","../../../../../../chunks/9528.js","../../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../../node_modules/bindings/bindings.js","../../../../../../../../node_modules/bindings/package.json","../../../../../../../../node_modules/bundle-name/index.js","../../../../../../../../node_modules/bundle-name/package.json","../../../../../../../../node_modules/default-browser-id/index.js","../../../../../../../../node_modules/default-browser-id/package.json","../../../../../../../../node_modules/default-browser/index.js","../../../../../../../../node_modules/default-browser/package.json","../../../../../../../../node_modules/default-browser/windows.js","../../../../../../../../node_modules/define-lazy-prop/index.js","../../../../../../../../node_modules/define-lazy-prop/package.json","../../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../../node_modules/is-docker/index.js","../../../../../../../../node_modules/is-docker/package.json","../../../../../../../../node_modules/is-in-ssh/index.js","../../../../../../../../node_modules/is-in-ssh/package.json","../../../../../../../../node_modules/is-inside-container/index.js","../../../../../../../../node_modules/is-inside-container/package.json","../../../../../../../../node_modules/is-wsl/index.js","../../../../../../../../node_modules/is-wsl/package.json","../../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../node_modules/next/package.json","../../../../../../../../node_modules/open/index.js","../../../../../../../../node_modules/open/package.json","../../../../../../../../node_modules/open/xdg-open","../../../../../../../../node_modules/powershell-utils/index.js","../../../../../../../../node_modules/powershell-utils/package.json","../../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../../node_modules/react/index.js","../../../../../../../../node_modules/react/package.json","../../../../../../../../node_modules/run-applescript/index.js","../../../../../../../../node_modules/run-applescript/package.json","../../../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../../../node_modules/sql.js/package.json","../../../../../../../../node_modules/wsl-utils/index.js","../../../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/index.js","../../../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/package.json","../../../../../../../../node_modules/wsl-utils/package.json","../../../../../../../../node_modules/wsl-utils/utilities.js","../../../../../../../../package.json","../../../../../../../package.json","../../../../../../chunks/1220.js","../../../../../../chunks/1260.js","../../../../../../chunks/1455.js","../../../../../../chunks/1679.js","../../../../../../chunks/1806.js","../../../../../../chunks/1813.js","../../../../../../chunks/1998.js","../../../../../../chunks/2132.js","../../../../../../chunks/2220.js","../../../../../../chunks/2329.js","../../../../../../chunks/2391.js","../../../../../../chunks/24.js","../../../../../../chunks/241.js","../../../../../../chunks/2430.js","../../../../../../chunks/2554.js","../../../../../../chunks/2778.js","../../../../../../chunks/3016.js","../../../../../../chunks/3225.js","../../../../../../chunks/3459.js","../../../../../../chunks/3535.js","../../../../../../chunks/3546.js","../../../../../../chunks/3558.js","../../../../../../chunks/3593.js","../../../../../../chunks/3662.js","../../../../../../chunks/3726.js","../../../../../../chunks/3933.js","../../../../../../chunks/3943.js","../../../../../../chunks/3966.js","../../../../../../chunks/4037.js","../../../../../../chunks/4049.js","../../../../../../chunks/412.js","../../../../../../chunks/4123.js","../../../../../../chunks/4125.js","../../../../../../chunks/4152.js","../../../../../../chunks/4293.js","../../../../../../chunks/436.js","../../../../../../chunks/4572.js","../../../../../../chunks/4663.js","../../../../../../chunks/4730.js","../../../../../../chunks/4739.js","../../../../../../chunks/4741.js","../../../../../../chunks/4780.js","../../../../../../chunks/4882.js","../../../../../../chunks/4884.js","../../../../../../chunks/4935.js","../../../../../../chunks/4961.js","../../../../../../chunks/507.js","../../../../../../chunks/5081.js","../../../../../../chunks/5182.js","../../../../../../chunks/5215.js","../../../../../../chunks/5237.js","../../../../../../chunks/5258.js","../../../../../../chunks/5330.js","../../../../../../chunks/5433.js","../../../../../../chunks/5524.js","../../../../../../chunks/5573.js","../../../../../../chunks/5615.js","../../../../../../chunks/5670.js","../../../../../../chunks/595.js","../../../../../../chunks/6022.js","../../../../../../chunks/6070.js","../../../../../../chunks/6140.js","../../../../../../chunks/615.js","../../../../../../chunks/6249.js","../../../../../../chunks/6457.js","../../../../../../chunks/6763.js","../../../../../../chunks/6777.js","../../../../../../chunks/6844.js","../../../../../../chunks/6877.js","../../../../../../chunks/6922.js","../../../../../../chunks/698.js","../../../../../../chunks/7211.js","../../../../../../chunks/7220.js","../../../../../../chunks/7236.js","../../../../../../chunks/7247.js","../../../../../../chunks/7525.js","../../../../../../chunks/7557.js","../../../../../../chunks/7716.js","../../../../../../chunks/7774.js","../../../../../../chunks/7828.js","../../../../../../chunks/7965.js","../../../../../../chunks/7995.js","../../../../../../chunks/8145.js","../../../../../../chunks/827.js","../../../../../../chunks/8292.js","../../../../../../chunks/8363.js","../../../../../../chunks/8402.js","../../../../../../chunks/8416.js","../../../../../../chunks/8499.js","../../../../../../chunks/8520.js","../../../../../../chunks/8587.js","../../../../../../chunks/8635.js","../../../../../../chunks/8895.js","../../../../../../chunks/8910.js","../../../../../../chunks/8920.js","../../../../../../chunks/9076.js","../../../../../../chunks/9128.js","../../../../../../chunks/915.js","../../../../../../chunks/9181.js","../../../../../../chunks/9399.js","../../../../../../chunks/9528.js","../../../../../../chunks/9609.js","../../../../../../chunks/9765.js","../../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|