ktrouter 1.3.1 → 1.3.3
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/LICENSE +0 -0
- package/README.md +0 -0
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +14 -14
- package/app/.next/build-manifest.json +4 -4
- package/app/.next/react-loadable-manifest.json +1 -13
- package/app/.next/required-server-files.json +22 -22
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +5 -4
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +5 -4
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/debug/mitm/route.js +1 -1
- package/app/.next/server/app/api/debug/mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/health/route.js +1 -1
- package/app/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/locale/route.js +1 -1
- package/app/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/app/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media/download/route.js +1 -1
- package/app/.next/server/app/api/media/download/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -1
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/custom/route.js +1 -1
- package/app/.next/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/disabled/route.js +1 -1
- package/app/.next/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/test/route.js +1 -1
- package/app/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/codex/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/codex/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/browser-login/route.js +2 -2
- package/app/.next/server/app/api/oauth/kiro/browser-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/sync-models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/sync-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/export/route.js +1 -1
- package/app/.next/server/app/api/providers/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/import/route.js +1 -1
- package/app/.next/server/app/api/providers/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/database/route.js +1 -1
- package/app/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/update/check/route.js +1 -1
- package/app/.next/server/app/api/update/check/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/chart/route.js +1 -1
- package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/providers/route.js +1 -1
- package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stats/route.js +1 -1
- package/app/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stream/route.js +2 -2
- package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chatgpt-web/image/[id]/route.js +1 -1
- package/app/.next/server/app/api/v1/chatgpt-web/image/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/search/route.js +1 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/video/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/video/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/video/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +6 -5
- package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next/server/app/dashboard/basic-chat.rsc +7 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +8 -7
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +7 -6
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +8 -7
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.rsc +7 -6
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +7 -6
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +7 -6
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +7 -6
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +7 -6
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +7 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +8 -7
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +6 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.html +1 -1
- package/app/.next/server/app/dashboard/skills.rsc +7 -6
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +7 -6
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +7 -6
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +8 -7
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/favicon.ico/route.js +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +5 -4
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +5 -4
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +6 -5
- package/app/.next/server/app/landing.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +6 -5
- package/app/.next/server/app/login.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/login.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +14 -14
- package/app/.next/server/chunks/1255.js +1 -0
- package/app/.next/server/chunks/2722.js +6 -6
- package/app/.next/server/chunks/3110.js +1 -1
- package/app/.next/server/chunks/318.js +1 -1
- package/app/.next/server/chunks/319.js +3 -3
- package/app/.next/server/chunks/412.js +2 -2
- package/app/.next/server/chunks/4632.js +1 -1
- package/app/.next/server/chunks/4746.js +1 -1
- package/app/.next/server/chunks/{3879.js → 5221.js} +1 -1
- package/app/.next/server/chunks/6084.js +2 -2
- package/app/.next/server/chunks/6811.js +1 -1
- package/app/.next/server/chunks/7154.js +1 -0
- package/app/.next/server/chunks/7354.js +1 -0
- package/app/.next/server/chunks/7482.js +2 -2
- package/app/.next/server/chunks/7828.js +1 -1
- package/app/.next/server/chunks/8895.js +5 -5
- package/app/.next/server/chunks/9222.js +1 -0
- package/app/.next/server/chunks/9982.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next/server/middleware.js +5 -5
- package/app/.next/server/next-font-manifest.js +1 -1
- package/app/.next/server/next-font-manifest.json +1 -1
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{1321-737cb1a085443ebd.js → 1321-6c0a2f0448aefb57.js} +1 -1
- package/app/.next/static/chunks/{6069-ca3d05d54e06c68b.js → 6069-1a7bb3b0d77bc273.js} +6 -6
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-2fb4c939acddfbb7.js → page-1318bee32262629c.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-63a7e080da5c3f3e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-6eb41a5e37c3e992.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-3521b273155b28c0.js → page-cf0a94d005c651a4.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-05aceadb0e452b78.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-97f5deb41f7c5330.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-fa4d84f79b182d78.js → page-e8832240a517af66.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-564d8eb2900ae5b9.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-0925a35716913fa5.js → page-d3a4c4174ef072ef.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-a1787f618e5963b3.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/{page-0150e438137c5974.js → page-18f2ce9da4ea909c.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-97f5deb41f7c5330.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-27a597bbd34bd463.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-40a2f75a78baf92d.js → page-0899d5b2f48bd55b.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-bdefb6c8f88f7f2e.js → page-820fa2dba59b5d5f.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-d900c0641b7b6568.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-a3f6ab12fd089a24.js → page-b0c393c5c145b857.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-7760c41a797d5a35.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-a5b9879d65ad027b.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-669d0d0a27c5572f.js → page-9ed3ebbf060dfc16.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-61f66e1396ee6e84.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/{layout-868ed721c4f248da.js → layout-dcd453c0e8d6904f.js} +1 -1
- package/app/.next/static/chunks/app/_not-found/page-2aca39f9a66493cf.js +1 -0
- package/app/.next/static/chunks/app/callback/page-f5b143419b2112f8.js +1 -0
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-c74be0f3db30e472.js +1 -0
- package/app/.next/static/chunks/app/landing/{page-c97c44ade7f2bd7a.js → page-259bb082b50f260b.js} +1 -1
- package/app/.next/static/chunks/app/layout-2ba6005337d8b73f.js +1 -0
- package/app/.next/static/chunks/app/login/page-cfe05f1158493d3e.js +1 -0
- package/app/.next/static/chunks/main-1f5a4e726f827bc4.js +5 -0
- package/app/.next/static/chunks/{main-app-a489faab3ab40ebd.js → main-app-51e51f6f5e73c937.js} +1 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-4650a7c1621714b5.js +1 -0
- package/app/.next/static/chunks/webpack-f482ccef6733ebcc.js +1 -0
- package/app/.next/static/css/{9f207d7ed6efa211.css → ef966419533c176c.css} +1 -1
- package/app/node_modules/@next/env/dist/index.js +0 -0
- package/app/node_modules/@next/env/package.json +0 -0
- package/app/node_modules/@swc/helpers/LICENSE +0 -0
- package/app/node_modules/@swc/helpers/_/_apply_decorated_descriptor/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_apply_decs_2203_r/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_array_like_to_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_array_with_holes/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_array_without_holes/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_assert_this_initialized/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_async_generator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_async_generator_delegate/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_async_iterator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_async_to_generator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_await_async_generator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_await_value/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_call_super/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_check_private_redeclaration/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_destructure/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_set/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_update/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_call_check/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_check_private_static_access/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_check_private_static_field_descriptor/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_extract_field_descriptor/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_name_tdz_error/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_destructure/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_init/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_set/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_update/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_init/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_set/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_destructure/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_spec_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_spec_set/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_update/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_method_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_construct/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_create_class/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_create_for_of_iterator_helper_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_create_super/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_decorate/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_defaults/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_define_enumerable_properties/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_define_property/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_dispose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_export_star/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_extends/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_get/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_get_prototype_of/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_identity/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_inherits/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_inherits_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_initializer_define_property/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_initializer_warning_helper/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_instanceof/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_interop_require_default/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_interop_require_wildcard/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_is_native_function/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_is_native_reflect_construct/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array_limit/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array_limit_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_jsx/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_new_arrow_check/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_non_iterable_rest/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_non_iterable_spread/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_object_destructuring_empty/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_object_spread/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_object_spread_props/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_object_without_properties/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_object_without_properties_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_possible_constructor_return/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_read_only_error/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_set/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_set_prototype_of/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_skip_first_generator_next/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_sliced_to_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_sliced_to_array_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_super_prop_base/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_tagged_template_literal/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_tagged_template_literal_loose/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_throw/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_to_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_to_consumable_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_to_primitive/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_to_property_key/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_add_disposable_resource/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_decorate/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_dispose_resources/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_generator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_metadata/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_param/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_ts_values/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_type_of/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_unsupported_iterable_to_array/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_update/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_using/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_using_ctx/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_wrap_async_generator/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_wrap_native_super/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/_write_only_error/package.json +0 -0
- package/app/node_modules/@swc/helpers/_/index/package.json +0 -0
- package/app/node_modules/@swc/helpers/cjs/_apply_decorated_descriptor.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_apply_decs_2203_r.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_array_like_to_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_array_with_holes.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_array_without_holes.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_assert_this_initialized.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_async_generator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_async_generator_delegate.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_async_iterator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_async_to_generator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_await_async_generator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_await_value.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_call_super.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_check_private_redeclaration.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_destructure.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_set.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_update.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_call_check.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_check_private_static_access.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_check_private_static_field_descriptor.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_extract_field_descriptor.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_name_tdz_error.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_destructure.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_init.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_set.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_update.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_init.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_set.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_destructure.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_set.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_update.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_method_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_construct.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_create_class.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_create_for_of_iterator_helper_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_create_super.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_decorate.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_defaults.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_define_enumerable_properties.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_define_property.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_dispose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_export_star.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_extends.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_get.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_get_prototype_of.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_identity.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_inherits.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_inherits_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_initializer_define_property.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_initializer_warning_helper.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_instanceof.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_is_native_function.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_is_native_reflect_construct.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array_limit.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array_limit_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_jsx.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_new_arrow_check.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_non_iterable_rest.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_non_iterable_spread.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_object_destructuring_empty.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_object_spread.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_object_spread_props.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_object_without_properties.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_object_without_properties_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_possible_constructor_return.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_read_only_error.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_set.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_set_prototype_of.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_skip_first_generator_next.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_sliced_to_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_sliced_to_array_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_super_prop_base.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_tagged_template_literal.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_throw.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_to_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_to_consumable_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_to_primitive.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_to_property_key.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_add_disposable_resource.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_decorate.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_dispose_resources.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_generator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_metadata.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_param.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_values.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_type_of.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_unsupported_iterable_to_array.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_update.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_using.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_using_ctx.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_wrap_async_generator.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_wrap_native_super.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/_write_only_error.cjs +0 -0
- package/app/node_modules/@swc/helpers/cjs/index.cjs +0 -0
- package/app/node_modules/@swc/helpers/esm/_apply_decorated_descriptor.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_apply_decs_2203_r.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_array_like_to_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_array_with_holes.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_array_without_holes.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_assert_this_initialized.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_async_generator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_async_generator_delegate.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_async_iterator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_async_to_generator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_await_async_generator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_await_value.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_call_super.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_destructure.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_update.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_call_check.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_check_private_static_access.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_check_private_static_field_descriptor.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_name_tdz_error.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_destructure.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_init.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_loose_base.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_loose_key.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_set.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_update.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_init.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_set.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_destructure.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_spec_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_spec_set.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_update.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_method_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_construct.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_create_class.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_create_super.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_decorate.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_defaults.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_define_enumerable_properties.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_define_property.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_dispose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_export_star.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_extends.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_get.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_get_prototype_of.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_identity.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_inherits.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_inherits_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_initializer_define_property.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_initializer_warning_helper.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_instanceof.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_interop_require_default.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_is_native_function.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_is_native_reflect_construct.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array_limit.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array_limit_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_jsx.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_new_arrow_check.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_non_iterable_rest.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_non_iterable_spread.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_object_destructuring_empty.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_object_spread.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_object_spread_props.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_object_without_properties.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_object_without_properties_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_possible_constructor_return.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_read_only_error.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_set.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_set_prototype_of.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_skip_first_generator_next.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_sliced_to_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_sliced_to_array_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_super_prop_base.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_tagged_template_literal.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_throw.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_to_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_to_consumable_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_to_primitive.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_to_property_key.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_add_disposable_resource.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_decorate.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_dispose_resources.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_generator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_metadata.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_param.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_ts_values.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_type_of.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_update.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_using.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_using_ctx.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_wrap_async_generator.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_wrap_native_super.js +0 -0
- package/app/node_modules/@swc/helpers/esm/_write_only_error.js +0 -0
- package/app/node_modules/@swc/helpers/esm/index.js +0 -0
- package/app/node_modules/@swc/helpers/package.json +0 -0
- package/app/node_modules/@swc/helpers/scripts/ast_grep.js +0 -0
- package/app/node_modules/@swc/helpers/scripts/build.js +0 -0
- package/app/node_modules/@swc/helpers/scripts/errors.js +0 -0
- package/app/node_modules/@swc/helpers/scripts/utils.js +0 -0
- package/app/node_modules/@swc/helpers/src/_apply_decorated_descriptor.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_apply_decs_2203_r.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_array_like_to_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_array_with_holes.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_array_without_holes.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_assert_this_initialized.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_async_generator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_async_generator_delegate.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_async_iterator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_async_to_generator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_await_async_generator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_await_value.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_call_super.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_check_private_redeclaration.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_destructure.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_set.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_update.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_call_check.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_check_private_static_access.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_check_private_static_field_descriptor.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_extract_field_descriptor.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_name_tdz_error.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_destructure.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_init.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_loose_base.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_loose_key.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_set.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_update.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_init.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_set.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_destructure.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_spec_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_spec_set.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_update.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_method_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_construct.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_create_class.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_create_for_of_iterator_helper_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_create_super.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_decorate.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_defaults.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_define_enumerable_properties.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_define_property.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_dispose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_export_star.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_extends.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_get.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_get_prototype_of.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_identity.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_inherits.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_inherits_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_initializer_define_property.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_initializer_warning_helper.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_instanceof.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_interop_require_default.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_interop_require_wildcard.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_is_native_function.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_is_native_reflect_construct.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array_limit.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array_limit_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_jsx.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_new_arrow_check.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_non_iterable_rest.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_non_iterable_spread.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_object_destructuring_empty.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_object_spread.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_object_spread_props.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_object_without_properties.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_object_without_properties_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_possible_constructor_return.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_read_only_error.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_set.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_set_prototype_of.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_skip_first_generator_next.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_sliced_to_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_sliced_to_array_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_super_prop_base.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_tagged_template_literal.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_tagged_template_literal_loose.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_throw.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_to_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_to_consumable_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_to_primitive.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_to_property_key.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_add_disposable_resource.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_decorate.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_dispose_resources.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_generator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_metadata.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_param.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_ts_values.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_type_of.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_update.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_using.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_using_ctx.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_wrap_async_generator.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_wrap_native_super.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/_write_only_error.mjs +0 -0
- package/app/node_modules/@swc/helpers/src/index.mjs +0 -0
- package/app/node_modules/baseline-browser-mapping/dist/index.cjs +0 -0
- package/app/node_modules/baseline-browser-mapping/package.json +0 -0
- package/app/node_modules/bindings/bindings.js +0 -0
- package/app/node_modules/bindings/package.json +0 -0
- package/app/node_modules/caniuse-lite/data/agents.js +0 -0
- package/app/node_modules/caniuse-lite/data/browserVersions.js +0 -0
- package/app/node_modules/caniuse-lite/data/browsers.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/aac.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/accelerometer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ambient-light.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/apng.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/array-find-index.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/array-find.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/array-flat.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/array-includes.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/asmjs.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/async-functions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/audio-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/audio.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/audiotracks.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/autofocus.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/auxclick.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/av1.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/avif.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-attachment.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/background-sync.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/battery-status.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/beacon.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/bigint.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/bloburls.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/border-image.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/border-radius.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/brotli.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/calc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/canvas-text.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/canvas.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ch-unit.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/classlist.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/clipboard.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/colr-v1.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/colr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/console-basic.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/console-time.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/const.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/contenteditable.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/cors.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/credential-management.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/cryptography.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-all.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-animation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-any-link.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-appearance.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-autofill.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-canvas.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-color-function.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-containment.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-counters.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-element-function.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-env-function.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-exclusions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-filters.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-first-line.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-fixed.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-gradients.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-grid.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-has.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-if.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-image-set.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-masks.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-media-scripting.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-nesting.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-opacity.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-overflow.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-page-break.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-reflections.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-regions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-resize.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-sel2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-sel3.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-selection.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-shapes.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-sticky.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-table.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-transitions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-variables.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-when-else.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css-zoom.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-attr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-colors.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/currentcolor.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/custom-elements.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/customevent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/customizable-select.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/datalist.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dataset.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/datauri.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/decorators.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/details.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dialog.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dnssec.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/do-not-track.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/document-policy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/documenthead.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dom-range.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/domcontentloaded.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dommatrix.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/download.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/dragndrop.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/element-closest.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/element-from-point.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/eme.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/eot.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es5.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-class.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-generators.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-module.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-number.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/es6.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/eventsource.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/feature-policy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/fetch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/fileapi.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/filereader.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/filereadersync.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/filesystem.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/flac.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/flexbox.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/flow-root.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-feature.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-kerning.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-loading.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-smooth.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/fontface.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/form-attribute.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/form-validation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/forms.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/fullscreen.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/gamepad.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/geolocation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/gyroscope.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/hashchange.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/heif.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/hevc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/hidden.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/history.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/html5semantic.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/http2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/http3.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/imagecapture.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ime.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/import-maps.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/imports.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/indexeddb.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/inline-block.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/innertext.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-color.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-datetime.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-event.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-minlength.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-number.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-pattern.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-range.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-search.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/input-selection.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/internationalization.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/jpegxl.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/jpegxr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/json.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/lazyload.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/let.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/localecompare.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/magnetometer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/matchesselector.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/matchmedia.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mathml.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/maxlength.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/media-fragments.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mediasource.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/menu.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/meter.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/midi.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mp3.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mpeg4.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/multicolumn.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mutation-events.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/nav-timing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/netinfo.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/notifications.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/object-entries.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/object-fit.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/object-observe.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/object-values.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/objectrtc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/offline-apps.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ogv.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/online-status.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/opus.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/outline.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/passkeys.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/passwordrules.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/path2d.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/payment-request.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/permissions-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/picture.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ping.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/png-alpha.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pointer-events.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pointer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/pointerlock.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/portals.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/progress.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/promise-finally.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/promises.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/proximity.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/proxy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/push-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/queryselector.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rellist.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rem.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/resource-timing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ruby.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/run-in.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/script-async.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/script-defer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sdch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/selection-api.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/server-timing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/setimmediate.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/shadowdom.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sni.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/spdy.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sql-storage.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/srcset.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/stream.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/streams.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/style-scoped.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-css.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-filters.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-html.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-html5.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-img.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg-smil.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/svg.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/sxg.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/template-literals.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/template.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/temporal.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/testfeat.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/text-decoration.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/text-overflow.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/text-stroke.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/textcontent.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/textencoder.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/tls1-1.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/tls1-2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/tls1-3.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/touch.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/transforms2d.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/transforms3d.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/trusted-types.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/ttf.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/typedarrays.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/u2f.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/url.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/use-strict.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/user-select-none.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/user-timing.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/vector-effect.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/vibration.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/video.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/videotracks.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/view-transitions.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/viewport-units.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wai-aria.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wake-lock.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wasm.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wav.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wbr-element.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/web-animation.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/web-serial.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/web-share.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webauthn.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webcodecs.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webgl.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webgl2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webgpu.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webhid.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webm.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webnfc.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webp.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/websockets.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webtransport.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webusb.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webvr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webvtt.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webworkers.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/webxr.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/will-change.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/woff.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/woff2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/word-break.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/wordwrap.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/xhr2.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/xhtml.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +0 -0
- package/app/node_modules/caniuse-lite/data/features/zstd.js +0 -0
- package/app/node_modules/caniuse-lite/data/features.js +0 -0
- package/app/node_modules/caniuse-lite/dist/lib/statuses.js +0 -0
- package/app/node_modules/caniuse-lite/dist/lib/supported.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/agents.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/browsers.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/feature.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/features.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/index.js +0 -0
- package/app/node_modules/caniuse-lite/dist/unpacker/region.js +0 -0
- package/app/node_modules/caniuse-lite/package.json +0 -0
- package/app/node_modules/client-only/index.js +0 -0
- package/app/node_modules/client-only/package.json +0 -0
- package/app/node_modules/file-uri-to-path/index.js +0 -0
- package/app/node_modules/file-uri-to-path/package.json +0 -0
- package/app/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
- package/app/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
- package/app/node_modules/koffi/index.js +0 -0
- package/app/node_modules/koffi/package.json +0 -0
- package/app/node_modules/nanoid/non-secure/index.cjs +0 -0
- package/app/node_modules/nanoid/non-secure/package.json +0 -0
- package/app/node_modules/nanoid/package.json +0 -0
- package/app/node_modules/next/dist/build/adapter/setup-node-env.external.js +0 -0
- package/app/node_modules/next/dist/build/analysis/extract-const-value.js +0 -0
- package/app/node_modules/next/dist/build/analysis/get-page-static-info.js +0 -0
- package/app/node_modules/next/dist/build/analysis/parse-module.js +0 -0
- package/app/node_modules/next/dist/build/babel/loader/get-config.js +0 -0
- package/app/node_modules/next/dist/build/babel/loader/index.js +0 -0
- package/app/node_modules/next/dist/build/babel/loader/transform.js +0 -0
- package/app/node_modules/next/dist/build/babel/loader/util.js +0 -0
- package/app/node_modules/next/dist/build/babel/plugins/commonjs.js +0 -0
- package/app/node_modules/next/dist/build/babel/plugins/next-font-unsupported.js +0 -0
- package/app/node_modules/next/dist/build/babel/plugins/next-page-config.js +0 -0
- package/app/node_modules/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +0 -0
- package/app/node_modules/next/dist/build/babel/plugins/next-ssg-transform.js +0 -0
- package/app/node_modules/next/dist/build/build-context.js +0 -0
- package/app/node_modules/next/dist/build/create-compiler-aliases.js +0 -0
- package/app/node_modules/next/dist/build/define-env.js +0 -0
- package/app/node_modules/next/dist/build/duration-to-string.js +0 -0
- package/app/node_modules/next/dist/build/entries.js +0 -0
- package/app/node_modules/next/dist/build/file-classifier.js +0 -0
- package/app/node_modules/next/dist/build/get-babel-config-file.js +0 -0
- package/app/node_modules/next/dist/build/get-babel-loader-config.js +0 -0
- package/app/node_modules/next/dist/build/get-static-info-including-layouts.js +0 -0
- package/app/node_modules/next/dist/build/get-supported-browsers.js +0 -0
- package/app/node_modules/next/dist/build/handle-externals.js +0 -0
- package/app/node_modules/next/dist/build/load-entrypoint.js +0 -0
- package/app/node_modules/next/dist/build/load-jsconfig.js +0 -0
- package/app/node_modules/next/dist/build/lockfile.js +0 -0
- package/app/node_modules/next/dist/build/next-config-ts/require-hook.js +0 -0
- package/app/node_modules/next/dist/build/next-config-ts/transpile-config.js +0 -0
- package/app/node_modules/next/dist/build/next-dir-paths.js +0 -0
- package/app/node_modules/next/dist/build/normalize-catchall-routes.js +0 -0
- package/app/node_modules/next/dist/build/output/format.js +0 -0
- package/app/node_modules/next/dist/build/output/index.js +0 -0
- package/app/node_modules/next/dist/build/output/log.js +0 -0
- package/app/node_modules/next/dist/build/output/store.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/fetch/index.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/fetch/whatwg-fetch.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/object-assign.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/object.assign/auto.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/object.assign/implementation.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/object.assign/polyfill.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/object.assign/shim.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/polyfill-nomodule.js +0 -0
- package/app/node_modules/next/dist/build/polyfills/process.js +0 -0
- package/app/node_modules/next/dist/build/print-build-errors.js +0 -0
- package/app/node_modules/next/dist/build/route-discovery.js +0 -0
- package/app/node_modules/next/dist/build/segment-config/app/app-segment-config.js +0 -0
- package/app/node_modules/next/dist/build/segment-config/app/app-segments.js +0 -0
- package/app/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +0 -0
- package/app/node_modules/next/dist/build/segment-config/middleware/middleware-config.js +0 -0
- package/app/node_modules/next/dist/build/segment-config/pages/pages-segment-config.js +0 -0
- package/app/node_modules/next/dist/build/sort-by-page-exts.js +0 -0
- package/app/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +0 -0
- package/app/node_modules/next/dist/build/static-paths/app.js +0 -0
- package/app/node_modules/next/dist/build/static-paths/pages.js +0 -0
- package/app/node_modules/next/dist/build/static-paths/utils.js +0 -0
- package/app/node_modules/next/dist/build/swc/index.js +0 -0
- package/app/node_modules/next/dist/build/swc/install-bindings.js +0 -0
- package/app/node_modules/next/dist/build/swc/loaderWorkerPool.js +0 -0
- package/app/node_modules/next/dist/build/swc/options.js +0 -0
- package/app/node_modules/next/dist/build/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/cache-invalidation.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/base.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/client.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/file-resolve.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/global.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/modules.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/loaders/next-font.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/messages.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/images/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/blocks/images/messages.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/helpers.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/config/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-icss-parser.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-url-parser.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/getUrl.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/get-module-build-info.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/codegen.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/next-flight-css-loader.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/value-processor.js +0 -0
- package/app/node_modules/next/dist/build/webpack/loaders/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin-utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/copy-file-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/css-chunking-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/css-minimizer-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/deferred-entries-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/devtools-ignore-list-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/eval-source-map-dev-tool-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/flight-client-entry-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/force-complete-runtime.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/jsconfig-paths-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/memory-with-gc-cache-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/minify-webpack-plugin/src/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/next-types-plugin/shared.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/optional-peer-dependency-resolve-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/profiling-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/react-loadable-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/rspack-profiling-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/getModuleTrace.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/index.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parse-dynamic-code-evaluation-error.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseBabel.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseCss.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextFontError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextInvalidImportError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseScss.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/simpleWebpackError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/webpackModuleError.js +0 -0
- package/app/node_modules/next/dist/build/webpack/stringify-request.js +0 -0
- package/app/node_modules/next/dist/build/webpack/utils.js +0 -0
- package/app/node_modules/next/dist/build/webpack-config-rules/resolve.js +0 -0
- package/app/node_modules/next/dist/build/webpack-config.js +0 -0
- package/app/node_modules/next/dist/cli/next-test.js +0 -0
- package/app/node_modules/next/dist/client/add-base-path.js +0 -0
- package/app/node_modules/next/dist/client/add-locale.js +0 -0
- package/app/node_modules/next/dist/client/app-call-server.js +0 -0
- package/app/node_modules/next/dist/client/app-find-source-map-url.js +0 -0
- package/app/node_modules/next/dist/client/assign-location.js +0 -0
- package/app/node_modules/next/dist/client/components/app-router-announcer.js +0 -0
- package/app/node_modules/next/dist/client/components/app-router-headers.js +0 -0
- package/app/node_modules/next/dist/client/components/app-router-instance.js +0 -0
- package/app/node_modules/next/dist/client/components/app-router-utils.js +0 -0
- package/app/node_modules/next/dist/client/components/app-router.js +0 -0
- package/app/node_modules/next/dist/client/components/builtin/app-error.js +0 -0
- package/app/node_modules/next/dist/client/components/builtin/default.js +0 -0
- package/app/node_modules/next/dist/client/components/builtin/error-styles.js +0 -0
- package/app/node_modules/next/dist/client/components/builtin/global-error.js +0 -0
- package/app/node_modules/next/dist/client/components/builtin/global-not-found.js +0 -0
- package/app/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/error-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/errors/root-error-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/forbidden.js +0 -0
- package/app/node_modules/next/dist/client/components/handle-isr-error.js +0 -0
- package/app/node_modules/next/dist/client/components/hooks-server-context.js +0 -0
- package/app/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/http-access-fallback/error-fallback.js +0 -0
- package/app/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +0 -0
- package/app/node_modules/next/dist/client/components/is-next-router-error.js +0 -0
- package/app/node_modules/next/dist/client/components/links.js +0 -0
- package/app/node_modules/next/dist/client/components/match-segments.js +0 -0
- package/app/node_modules/next/dist/client/components/nav-failure-handler.js +0 -0
- package/app/node_modules/next/dist/client/components/navigation-devtools.js +0 -0
- package/app/node_modules/next/dist/client/components/navigation-untracked.js +0 -0
- package/app/node_modules/next/dist/client/components/navigation.js +0 -0
- package/app/node_modules/next/dist/client/components/navigation.react-server.js +0 -0
- package/app/node_modules/next/dist/client/components/noop-head.js +0 -0
- package/app/node_modules/next/dist/client/components/not-found.js +0 -0
- package/app/node_modules/next/dist/client/components/readonly-url-search-params.js +0 -0
- package/app/node_modules/next/dist/client/components/redirect-boundary.js +0 -0
- package/app/node_modules/next/dist/client/components/redirect-error.js +0 -0
- package/app/node_modules/next/dist/client/components/redirect-status-code.js +0 -0
- package/app/node_modules/next/dist/client/components/redirect.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/router-reducer.js +0 -0
- package/app/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/bfcache.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/cache-key.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/cache-map.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/cache.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/lru.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/navigation.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/prefetch.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/scheduler.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/types.js +0 -0
- package/app/node_modules/next/dist/client/components/segment-cache/vary-path.js +0 -0
- package/app/node_modules/next/dist/client/components/static-generation-bailout.js +0 -0
- package/app/node_modules/next/dist/client/components/styles/access-error-styles.js +0 -0
- package/app/node_modules/next/dist/client/components/unauthorized.js +0 -0
- package/app/node_modules/next/dist/client/components/unrecognized-action-error.js +0 -0
- package/app/node_modules/next/dist/client/components/unresolved-thenable.js +0 -0
- package/app/node_modules/next/dist/client/components/unstable-rethrow.browser.js +0 -0
- package/app/node_modules/next/dist/client/components/unstable-rethrow.js +0 -0
- package/app/node_modules/next/dist/client/components/unstable-rethrow.server.js +0 -0
- package/app/node_modules/next/dist/client/components/use-action-queue.js +0 -0
- package/app/node_modules/next/dist/client/detect-domain-locale.js +0 -0
- package/app/node_modules/next/dist/client/dev/debug-channel.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/app/web-socket.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/pages/hot-reloader-pages.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/pages/websocket.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/shared.js +0 -0
- package/app/node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js +0 -0
- package/app/node_modules/next/dist/client/dev/report-hmr-latency.js +0 -0
- package/app/node_modules/next/dist/client/dev/runtime-error-handler.js +0 -0
- package/app/node_modules/next/dist/client/flight-data-helpers.js +0 -0
- package/app/node_modules/next/dist/client/has-base-path.js +0 -0
- package/app/node_modules/next/dist/client/lib/console.js +0 -0
- package/app/node_modules/next/dist/client/lib/javascript-url.js +0 -0
- package/app/node_modules/next/dist/client/lib/promise.js +0 -0
- package/app/node_modules/next/dist/client/navigation-build-id.js +0 -0
- package/app/node_modules/next/dist/client/normalize-trailing-slash.js +0 -0
- package/app/node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js +0 -0
- package/app/node_modules/next/dist/client/react-client-callbacks/report-global-error.js +0 -0
- package/app/node_modules/next/dist/client/remove-base-path.js +0 -0
- package/app/node_modules/next/dist/client/remove-locale.js +0 -0
- package/app/node_modules/next/dist/client/request-idle-callback.js +0 -0
- package/app/node_modules/next/dist/client/resolve-href.js +0 -0
- package/app/node_modules/next/dist/client/route-loader.js +0 -0
- package/app/node_modules/next/dist/client/route-params.js +0 -0
- package/app/node_modules/next/dist/client/router.js +0 -0
- package/app/node_modules/next/dist/client/script.js +0 -0
- package/app/node_modules/next/dist/client/set-attributes-from-props.js +0 -0
- package/app/node_modules/next/dist/client/trusted-types.js +0 -0
- package/app/node_modules/next/dist/client/with-router.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +0 -0
- package/app/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +0 -0
- package/app/node_modules/next/dist/compiled/@hapi/accept/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@hapi/accept/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@modelcontextprotocol/sdk/server/mcp.js +0 -0
- package/app/node_modules/next/dist/compiled/@modelcontextprotocol/sdk/server/streamableHttp.js +0 -0
- package/app/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@napi-rs/triples/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@napi-rs/triples/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/constants.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/fontkit/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/format-available-values.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/fetch-font-file.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/fetch-resource.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/find-font-files-in-css.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/font-data.json +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/get-fallback-font-override-metrics.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/get-font-axes.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/get-google-fonts-url.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/get-proxy-agent.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/google-fonts-metadata.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/loader.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/retry.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/sort-fonts-variant-values.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/google/validate-google-font-function-call.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/local/get-fallback-metrics-from-font-file.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/local/loader.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/local/pick-font-file-for-fallback-generation.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/local/validate-local-font-function-call.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/dist/next-font-error.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/google/loader.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/local/loader.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/font/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/ReactRefreshRspackPlugin.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/ReactRefreshWebpackPlugin.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/ReactRefreshModule.runtime.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/RspackReactRefresh.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/loader.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/rspack-runtime.js +0 -0
- package/app/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js +0 -0
- package/app/node_modules/next/dist/compiled/@opentelemetry/api/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@opentelemetry/api/package.json +0 -0
- package/app/node_modules/next/dist/compiled/@vercel/nft/LICENSE +0 -0
- package/app/node_modules/next/dist/compiled/@vercel/nft/index.js +0 -0
- package/app/node_modules/next/dist/compiled/@vercel/nft/package.json +0 -0
- package/app/node_modules/next/dist/compiled/acorn/acorn.js +0 -0
- package/app/node_modules/next/dist/compiled/acorn/package.json +0 -0
- package/app/node_modules/next/dist/compiled/assert/assert.js +0 -0
- package/app/node_modules/next/dist/compiled/assert/package.json +0 -0
- package/app/node_modules/next/dist/compiled/async-retry/index.js +0 -0
- package/app/node_modules/next/dist/compiled/async-retry/package.json +0 -0
- package/app/node_modules/next/dist/compiled/async-sema/index.js +0 -0
- package/app/node_modules/next/dist/compiled/async-sema/package.json +0 -0
- package/app/node_modules/next/dist/compiled/babel/bundle.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core-lib-block-hoist-plugin.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core-lib-config.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core-lib-normalize-file.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core-lib-normalize-opts.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core-lib-plugin-pass.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/core.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/generator.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/package.json +0 -0
- package/app/node_modules/next/dist/compiled/babel/parser.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/plugin-transform-define.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/plugin-transform-modules-commonjs.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/traverse.js +0 -0
- package/app/node_modules/next/dist/compiled/babel/types.js +0 -0
- package/app/node_modules/next/dist/compiled/babel-packages/package.json +0 -0
- package/app/node_modules/next/dist/compiled/babel-packages/packages-bundle.js +0 -0
- package/app/node_modules/next/dist/compiled/browserify-zlib/index.js +0 -0
- package/app/node_modules/next/dist/compiled/browserify-zlib/package.json +0 -0
- package/app/node_modules/next/dist/compiled/browserslist/index.js +0 -0
- package/app/node_modules/next/dist/compiled/browserslist/package.json +0 -0
- package/app/node_modules/next/dist/compiled/buffer/index.js +0 -0
- package/app/node_modules/next/dist/compiled/buffer/package.json +0 -0
- package/app/node_modules/next/dist/compiled/busboy/index.js +0 -0
- package/app/node_modules/next/dist/compiled/busboy/package.json +0 -0
- package/app/node_modules/next/dist/compiled/bytes/index.js +0 -0
- package/app/node_modules/next/dist/compiled/bytes/package.json +0 -0
- package/app/node_modules/next/dist/compiled/ci-info/index.js +0 -0
- package/app/node_modules/next/dist/compiled/ci-info/package.json +0 -0
- package/app/node_modules/next/dist/compiled/commander/index.js +0 -0
- package/app/node_modules/next/dist/compiled/commander/package.json +0 -0
- package/app/node_modules/next/dist/compiled/comment-json/index.js +0 -0
- package/app/node_modules/next/dist/compiled/comment-json/package.json +0 -0
- package/app/node_modules/next/dist/compiled/compression/index.js +0 -0
- package/app/node_modules/next/dist/compiled/compression/package.json +0 -0
- package/app/node_modules/next/dist/compiled/conf/index.js +0 -0
- package/app/node_modules/next/dist/compiled/conf/package.json +0 -0
- package/app/node_modules/next/dist/compiled/constants-browserify/constants.json +0 -0
- package/app/node_modules/next/dist/compiled/constants-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/content-disposition/index.js +0 -0
- package/app/node_modules/next/dist/compiled/content-disposition/package.json +0 -0
- package/app/node_modules/next/dist/compiled/content-type/index.js +0 -0
- package/app/node_modules/next/dist/compiled/content-type/package.json +0 -0
- package/app/node_modules/next/dist/compiled/cookie/index.js +0 -0
- package/app/node_modules/next/dist/compiled/cookie/package.json +0 -0
- package/app/node_modules/next/dist/compiled/cross-spawn/index.js +0 -0
- package/app/node_modules/next/dist/compiled/cross-spawn/package.json +0 -0
- package/app/node_modules/next/dist/compiled/crypto-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/crypto-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/cssnano-simple/index.js +0 -0
- package/app/node_modules/next/dist/compiled/data-uri-to-buffer/index.js +0 -0
- package/app/node_modules/next/dist/compiled/data-uri-to-buffer/package.json +0 -0
- package/app/node_modules/next/dist/compiled/debug/index.js +0 -0
- package/app/node_modules/next/dist/compiled/debug/package.json +0 -0
- package/app/node_modules/next/dist/compiled/devalue/devalue.umd.js +0 -0
- package/app/node_modules/next/dist/compiled/devalue/package.json +0 -0
- package/app/node_modules/next/dist/compiled/domain-browser/index.js +0 -0
- package/app/node_modules/next/dist/compiled/domain-browser/package.json +0 -0
- package/app/node_modules/next/dist/compiled/edge-runtime/index.js +0 -0
- package/app/node_modules/next/dist/compiled/edge-runtime/package.json +0 -0
- package/app/node_modules/next/dist/compiled/events/events.js +0 -0
- package/app/node_modules/next/dist/compiled/events/package.json +0 -0
- package/app/node_modules/next/dist/compiled/find-up/index.js +0 -0
- package/app/node_modules/next/dist/compiled/find-up/package.json +0 -0
- package/app/node_modules/next/dist/compiled/fresh/index.js +0 -0
- package/app/node_modules/next/dist/compiled/fresh/package.json +0 -0
- package/app/node_modules/next/dist/compiled/glob/glob.js +0 -0
- package/app/node_modules/next/dist/compiled/glob/package.json +0 -0
- package/app/node_modules/next/dist/compiled/gzip-size/index.js +0 -0
- package/app/node_modules/next/dist/compiled/gzip-size/package.json +0 -0
- package/app/node_modules/next/dist/compiled/http-proxy/index.js +0 -0
- package/app/node_modules/next/dist/compiled/http-proxy/package.json +0 -0
- package/app/node_modules/next/dist/compiled/http-proxy-agent/index.js +0 -0
- package/app/node_modules/next/dist/compiled/http-proxy-agent/package.json +0 -0
- package/app/node_modules/next/dist/compiled/https-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/https-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/https-proxy-agent/index.js +0 -0
- package/app/node_modules/next/dist/compiled/https-proxy-agent/package.json +0 -0
- package/app/node_modules/next/dist/compiled/icss-utils/index.js +0 -0
- package/app/node_modules/next/dist/compiled/icss-utils/package.json +0 -0
- package/app/node_modules/next/dist/compiled/ignore-loader/index.js +0 -0
- package/app/node_modules/next/dist/compiled/ignore-loader/package.json +0 -0
- package/app/node_modules/next/dist/compiled/image-detector/detector.js +0 -0
- package/app/node_modules/next/dist/compiled/image-size/index.js +0 -0
- package/app/node_modules/next/dist/compiled/image-size/package.json +0 -0
- package/app/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +0 -0
- package/app/node_modules/next/dist/compiled/ipaddr.js/package.json +0 -0
- package/app/node_modules/next/dist/compiled/is-animated/index.js +0 -0
- package/app/node_modules/next/dist/compiled/is-animated/package.json +0 -0
- package/app/node_modules/next/dist/compiled/is-docker/index.js +0 -0
- package/app/node_modules/next/dist/compiled/is-docker/package.json +0 -0
- package/app/node_modules/next/dist/compiled/is-wsl/index.js +0 -0
- package/app/node_modules/next/dist/compiled/is-wsl/package.json +0 -0
- package/app/node_modules/next/dist/compiled/jest-worker/index.js +0 -0
- package/app/node_modules/next/dist/compiled/jest-worker/package.json +0 -0
- package/app/node_modules/next/dist/compiled/jest-worker/processChild.js +0 -0
- package/app/node_modules/next/dist/compiled/jest-worker/threadChild.js +0 -0
- package/app/node_modules/next/dist/compiled/json5/index.js +0 -0
- package/app/node_modules/next/dist/compiled/json5/package.json +0 -0
- package/app/node_modules/next/dist/compiled/jsonwebtoken/index.js +0 -0
- package/app/node_modules/next/dist/compiled/jsonwebtoken/package.json +0 -0
- package/app/node_modules/next/dist/compiled/loader-utils2/index.js +0 -0
- package/app/node_modules/next/dist/compiled/loader-utils2/package.json +0 -0
- package/app/node_modules/next/dist/compiled/loader-utils3/index.js +0 -0
- package/app/node_modules/next/dist/compiled/loader-utils3/package.json +0 -0
- package/app/node_modules/next/dist/compiled/lodash.curry/index.js +0 -0
- package/app/node_modules/next/dist/compiled/lodash.curry/package.json +0 -0
- package/app/node_modules/next/dist/compiled/lru-cache/index.js +0 -0
- package/app/node_modules/next/dist/compiled/lru-cache/package.json +0 -0
- package/app/node_modules/next/dist/compiled/mini-css-extract-plugin/cjs.js +0 -0
- package/app/node_modules/next/dist/compiled/mini-css-extract-plugin/index.js +0 -0
- package/app/node_modules/next/dist/compiled/mini-css-extract-plugin/package.json +0 -0
- package/app/node_modules/next/dist/compiled/nanoid/index.cjs +0 -0
- package/app/node_modules/next/dist/compiled/nanoid/package.json +0 -0
- package/app/node_modules/next/dist/compiled/native-url/index.js +0 -0
- package/app/node_modules/next/dist/compiled/native-url/package.json +0 -0
- package/app/node_modules/next/dist/compiled/neo-async/async.js +0 -0
- package/app/node_modules/next/dist/compiled/neo-async/package.json +0 -0
- package/app/node_modules/next/dist/compiled/next-devtools/index.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +0 -0
- package/app/node_modules/next/dist/compiled/os-browserify/browser.js +0 -0
- package/app/node_modules/next/dist/compiled/os-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/p-limit/index.js +0 -0
- package/app/node_modules/next/dist/compiled/p-limit/package.json +0 -0
- package/app/node_modules/next/dist/compiled/p-queue/index.js +0 -0
- package/app/node_modules/next/dist/compiled/p-queue/package.json +0 -0
- package/app/node_modules/next/dist/compiled/path-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/path-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/path-to-regexp/index.js +0 -0
- package/app/node_modules/next/dist/compiled/path-to-regexp/package.json +0 -0
- package/app/node_modules/next/dist/compiled/picomatch/index.js +0 -0
- package/app/node_modules/next/dist/compiled/picomatch/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-flexbugs-fixes/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-flexbugs-fixes/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-extract-imports/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-extract-imports/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-local-by-default/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-local-by-default/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-scope/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-scope/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-values/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-modules-values/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-plugin-stub-for-cssnano-simple/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-preset-env/index.cjs +0 -0
- package/app/node_modules/next/dist/compiled/postcss-preset-env/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-scss/package.json +0 -0
- package/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-value-parser/index.js +0 -0
- package/app/node_modules/next/dist/compiled/postcss-value-parser/package.json +0 -0
- package/app/node_modules/next/dist/compiled/process/browser.js +0 -0
- package/app/node_modules/next/dist/compiled/process/package.json +0 -0
- package/app/node_modules/next/dist/compiled/punycode/package.json +0 -0
- package/app/node_modules/next/dist/compiled/punycode/punycode.js +0 -0
- package/app/node_modules/next/dist/compiled/querystring-es3/index.js +0 -0
- package/app/node_modules/next/dist/compiled/querystring-es3/package.json +0 -0
- package/app/node_modules/next/dist/compiled/raw-body/index.js +0 -0
- package/app/node_modules/next/dist/compiled/raw-body/package.json +0 -0
- package/app/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +0 -0
- package/app/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +0 -0
- package/app/node_modules/next/dist/compiled/react-is/index.js +0 -0
- package/app/node_modules/next/dist/compiled/react-is/package.json +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/babel.js +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-babel.development.js +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-babel.production.min.js +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.production.min.js +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/package.json +0 -0
- package/app/node_modules/next/dist/compiled/react-refresh/runtime.js +0 -0
- package/app/node_modules/next/dist/compiled/regenerator-runtime/package.json +0 -0
- package/app/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +0 -0
- package/app/node_modules/next/dist/compiled/safe-stable-stringify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/safe-stable-stringify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/sass-loader/cjs.js +0 -0
- package/app/node_modules/next/dist/compiled/sass-loader/package.json +0 -0
- package/app/node_modules/next/dist/compiled/schema-utils3/index.js +0 -0
- package/app/node_modules/next/dist/compiled/schema-utils3/package.json +0 -0
- package/app/node_modules/next/dist/compiled/semver/index.js +0 -0
- package/app/node_modules/next/dist/compiled/semver/package.json +0 -0
- package/app/node_modules/next/dist/compiled/send/index.js +0 -0
- package/app/node_modules/next/dist/compiled/send/package.json +0 -0
- package/app/node_modules/next/dist/compiled/setimmediate/package.json +0 -0
- package/app/node_modules/next/dist/compiled/setimmediate/setImmediate.js +0 -0
- package/app/node_modules/next/dist/compiled/shell-quote/index.js +0 -0
- package/app/node_modules/next/dist/compiled/shell-quote/package.json +0 -0
- package/app/node_modules/next/dist/compiled/source-map/package.json +0 -0
- package/app/node_modules/next/dist/compiled/source-map/source-map.js +0 -0
- package/app/node_modules/next/dist/compiled/source-map08/package.json +0 -0
- package/app/node_modules/next/dist/compiled/source-map08/source-map.js +0 -0
- package/app/node_modules/next/dist/compiled/stacktrace-parser/package.json +0 -0
- package/app/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +0 -0
- package/app/node_modules/next/dist/compiled/stream-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/stream-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/stream-http/index.js +0 -0
- package/app/node_modules/next/dist/compiled/stream-http/package.json +0 -0
- package/app/node_modules/next/dist/compiled/string-hash/index.js +0 -0
- package/app/node_modules/next/dist/compiled/string-hash/package.json +0 -0
- package/app/node_modules/next/dist/compiled/string_decoder/package.json +0 -0
- package/app/node_modules/next/dist/compiled/string_decoder/string_decoder.js +0 -0
- package/app/node_modules/next/dist/compiled/strip-ansi/index.js +0 -0
- package/app/node_modules/next/dist/compiled/strip-ansi/package.json +0 -0
- package/app/node_modules/next/dist/compiled/superstruct/index.cjs +0 -0
- package/app/node_modules/next/dist/compiled/superstruct/package.json +0 -0
- package/app/node_modules/next/dist/compiled/tar/index.min.js +0 -0
- package/app/node_modules/next/dist/compiled/tar/package.json +0 -0
- package/app/node_modules/next/dist/compiled/text-table/index.js +0 -0
- package/app/node_modules/next/dist/compiled/text-table/package.json +0 -0
- package/app/node_modules/next/dist/compiled/timers-browserify/main.js +0 -0
- package/app/node_modules/next/dist/compiled/timers-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/tty-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/tty-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/unistore/package.json +0 -0
- package/app/node_modules/next/dist/compiled/unistore/unistore.js +0 -0
- package/app/node_modules/next/dist/compiled/util/package.json +0 -0
- package/app/node_modules/next/dist/compiled/util/util.js +0 -0
- package/app/node_modules/next/dist/compiled/vm-browserify/index.js +0 -0
- package/app/node_modules/next/dist/compiled/vm-browserify/package.json +0 -0
- package/app/node_modules/next/dist/compiled/watchpack/package.json +0 -0
- package/app/node_modules/next/dist/compiled/watchpack/watchpack.js +0 -0
- package/app/node_modules/next/dist/compiled/webpack-sources3/index.js +0 -0
- package/app/node_modules/next/dist/compiled/webpack-sources3/package.json +0 -0
- package/app/node_modules/next/dist/compiled/ws/index.js +0 -0
- package/app/node_modules/next/dist/compiled/ws/package.json +0 -0
- package/app/node_modules/next/dist/compiled/zod/index.cjs +0 -0
- package/app/node_modules/next/dist/compiled/zod/package.json +0 -0
- package/app/node_modules/next/dist/compiled/zod-validation-error/index.js +0 -0
- package/app/node_modules/next/dist/compiled/zod-validation-error/package.json +0 -0
- package/app/node_modules/next/dist/experimental/testmode/context.js +0 -0
- package/app/node_modules/next/dist/experimental/testmode/fetch.js +0 -0
- package/app/node_modules/next/dist/experimental/testmode/httpget.js +0 -0
- package/app/node_modules/next/dist/experimental/testmode/server-edge.js +0 -0
- package/app/node_modules/next/dist/experimental/testmode/server.js +0 -0
- package/app/node_modules/next/dist/export/helpers/create-incremental-cache.js +0 -0
- package/app/node_modules/next/dist/export/utils.js +0 -0
- package/app/node_modules/next/dist/lib/batcher.js +0 -0
- package/app/node_modules/next/dist/lib/build-custom-route.js +0 -0
- package/app/node_modules/next/dist/lib/bundler.js +0 -0
- package/app/node_modules/next/dist/lib/client-and-server-references.js +0 -0
- package/app/node_modules/next/dist/lib/coalesced-function.js +0 -0
- package/app/node_modules/next/dist/lib/compile-error.js +0 -0
- package/app/node_modules/next/dist/lib/constants.js +0 -0
- package/app/node_modules/next/dist/lib/create-client-router-filter.js +0 -0
- package/app/node_modules/next/dist/lib/default-transpiled-packages.json +0 -0
- package/app/node_modules/next/dist/lib/detached-promise.js +0 -0
- package/app/node_modules/next/dist/lib/detect-typo.js +0 -0
- package/app/node_modules/next/dist/lib/download-swc.js +0 -0
- package/app/node_modules/next/dist/lib/error-telemetry-utils.js +0 -0
- package/app/node_modules/next/dist/lib/fallback.js +0 -0
- package/app/node_modules/next/dist/lib/fatal-error.js +0 -0
- package/app/node_modules/next/dist/lib/file-exists.js +0 -0
- package/app/node_modules/next/dist/lib/find-config.js +0 -0
- package/app/node_modules/next/dist/lib/find-pages-dir.js +0 -0
- package/app/node_modules/next/dist/lib/find-root.js +0 -0
- package/app/node_modules/next/dist/lib/format-dynamic-import-path.js +0 -0
- package/app/node_modules/next/dist/lib/format-server-error.js +0 -0
- package/app/node_modules/next/dist/lib/framework/boundary-components.js +0 -0
- package/app/node_modules/next/dist/lib/framework/boundary-constants.js +0 -0
- package/app/node_modules/next/dist/lib/fs/rename.js +0 -0
- package/app/node_modules/next/dist/lib/fs/write-atomic.js +0 -0
- package/app/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +0 -0
- package/app/node_modules/next/dist/lib/get-network-host.js +0 -0
- package/app/node_modules/next/dist/lib/get-project-dir.js +0 -0
- package/app/node_modules/next/dist/lib/has-necessary-dependencies.js +0 -0
- package/app/node_modules/next/dist/lib/helpers/get-cache-directory.js +0 -0
- package/app/node_modules/next/dist/lib/helpers/get-online.js +0 -0
- package/app/node_modules/next/dist/lib/helpers/get-pkg-manager.js +0 -0
- package/app/node_modules/next/dist/lib/helpers/get-registry.js +0 -0
- package/app/node_modules/next/dist/lib/helpers/install.js +0 -0
- package/app/node_modules/next/dist/lib/install-dependencies.js +0 -0
- package/app/node_modules/next/dist/lib/interop-default.js +0 -0
- package/app/node_modules/next/dist/lib/is-api-route.js +0 -0
- package/app/node_modules/next/dist/lib/is-app-page-route.js +0 -0
- package/app/node_modules/next/dist/lib/is-app-route-route.js +0 -0
- package/app/node_modules/next/dist/lib/is-edge-runtime.js +0 -0
- package/app/node_modules/next/dist/lib/is-error.js +0 -0
- package/app/node_modules/next/dist/lib/is-interception-route-rewrite.js +0 -0
- package/app/node_modules/next/dist/lib/is-internal-component.js +0 -0
- package/app/node_modules/next/dist/lib/is-serializable-props.js +0 -0
- package/app/node_modules/next/dist/lib/known-edge-safe-packages.json +0 -0
- package/app/node_modules/next/dist/lib/load-custom-routes.js +0 -0
- package/app/node_modules/next/dist/lib/memory/trace.js +0 -0
- package/app/node_modules/next/dist/lib/metadata/get-metadata-route.js +0 -0
- package/app/node_modules/next/dist/lib/metadata/is-metadata-route.js +0 -0
- package/app/node_modules/next/dist/lib/metadata/metadata-context.js +0 -0
- package/app/node_modules/next/dist/lib/multi-file-writer.js +0 -0
- package/app/node_modules/next/dist/lib/needs-experimental-react.js +0 -0
- package/app/node_modules/next/dist/lib/non-nullable.js +0 -0
- package/app/node_modules/next/dist/lib/normalize-path.js +0 -0
- package/app/node_modules/next/dist/lib/oxford-comma-list.js +0 -0
- package/app/node_modules/next/dist/lib/page-types.js +0 -0
- package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +0 -0
- package/app/node_modules/next/dist/lib/pick.js +0 -0
- package/app/node_modules/next/dist/lib/picocolors.js +0 -0
- package/app/node_modules/next/dist/lib/realpath.js +0 -0
- package/app/node_modules/next/dist/lib/recursive-delete.js +0 -0
- package/app/node_modules/next/dist/lib/recursive-readdir.js +0 -0
- package/app/node_modules/next/dist/lib/redirect-status.js +0 -0
- package/app/node_modules/next/dist/lib/resolve-from.js +0 -0
- package/app/node_modules/next/dist/lib/route-pattern-normalizer.js +0 -0
- package/app/node_modules/next/dist/lib/scheduler.js +0 -0
- package/app/node_modules/next/dist/lib/semver-noop.js +0 -0
- package/app/node_modules/next/dist/lib/static-env.js +0 -0
- package/app/node_modules/next/dist/lib/try-to-parse-path.js +0 -0
- package/app/node_modules/next/dist/lib/turbopack-warning.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/missingDependencyError.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/runTypeCheck.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/type-paths.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +0 -0
- package/app/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +0 -0
- package/app/node_modules/next/dist/lib/url.js +0 -0
- package/app/node_modules/next/dist/lib/verify-partytown-setup.js +0 -0
- package/app/node_modules/next/dist/lib/verify-typescript-setup.js +0 -0
- package/app/node_modules/next/dist/lib/wait.js +0 -0
- package/app/node_modules/next/dist/lib/with-promise-cache.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/attach-nodejs-debugger-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/dev-indicator-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/devtools-config-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/font/get-dev-overlay-font-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/get-next-error-feedback-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/launch-editor.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/middleware-response.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/restart-dev-server-middleware.js +0 -0
- package/app/node_modules/next/dist/next-devtools/server/shared.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/console-error.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/deepmerge.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/devtools-config-schema.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/forward-logs-shared.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/react-18-hydration-error.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/react-19-hydration-error.js +0 -0
- package/app/node_modules/next/dist/next-devtools/shared/webpack-module-path.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-error-boundary.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/replay-ssr-only-errors.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/use-error-handler.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/forward-logs-utils.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/forward-logs.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/terminal-logging-config.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/pages/hydration-error-state.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-error-boundary.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.js +0 -0
- package/app/node_modules/next/dist/next-devtools/userspace/use-app-dev-rendering-indicator.js +0 -0
- package/app/node_modules/next/dist/server/ReactDOMServerPages.js +0 -0
- package/app/node_modules/next/dist/server/accept-header.js +0 -0
- package/app/node_modules/next/dist/server/after/after-context.js +0 -0
- package/app/node_modules/next/dist/server/after/awaiter.js +0 -0
- package/app/node_modules/next/dist/server/after/builtin-request-context.js +0 -0
- package/app/node_modules/next/dist/server/after/run-with-after.js +0 -0
- package/app/node_modules/next/dist/server/api-utils/get-cookie-parser.js +0 -0
- package/app/node_modules/next/dist/server/api-utils/index.js +0 -0
- package/app/node_modules/next/dist/server/api-utils/node/parse-body.js +0 -0
- package/app/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +0 -0
- package/app/node_modules/next/dist/server/app-render/action-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/action-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/action-handler.js +0 -0
- package/app/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +0 -0
- package/app/node_modules/next/dist/server/app-render/app-render-render-utils.js +0 -0
- package/app/node_modules/next/dist/server/app-render/app-render-scheduling.js +0 -0
- package/app/node_modules/next/dist/server/app-render/app-render.js +0 -0
- package/app/node_modules/next/dist/server/app-render/async-local-storage.js +0 -0
- package/app/node_modules/next/dist/server/app-render/cache-signal.js +0 -0
- package/app/node_modules/next/dist/server/app-render/console-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/console-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +0 -0
- package/app/node_modules/next/dist/server/app-render/create-component-tree.js +0 -0
- package/app/node_modules/next/dist/server/app-render/create-error-handler.js +0 -0
- package/app/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +0 -0
- package/app/node_modules/next/dist/server/app-render/csrf-protection.js +0 -0
- package/app/node_modules/next/dist/server/app-render/debug-channel-server.js +0 -0
- package/app/node_modules/next/dist/server/app-render/debug-channel-server.web.js +0 -0
- package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/dynamic-rendering.js +0 -0
- package/app/node_modules/next/dist/server/app-render/encryption-utils-server.js +0 -0
- package/app/node_modules/next/dist/server/app-render/encryption-utils.js +0 -0
- package/app/node_modules/next/dist/server/app-render/flight-render-result.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-asset-query-string.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-layer-assets.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +0 -0
- package/app/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +0 -0
- package/app/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-samples-client.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +0 -0
- package/app/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +0 -0
- package/app/node_modules/next/dist/server/app-render/interop-default.js +0 -0
- package/app/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +0 -0
- package/app/node_modules/next/dist/server/app-render/manifests-singleton.js +0 -0
- package/app/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +0 -0
- package/app/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +0 -0
- package/app/node_modules/next/dist/server/app-render/postponed-state.js +0 -0
- package/app/node_modules/next/dist/server/app-render/prospective-render-utils.js +0 -0
- package/app/node_modules/next/dist/server/app-render/react-large-shell-error.js +0 -0
- package/app/node_modules/next/dist/server/app-render/react-server.node.js +0 -0
- package/app/node_modules/next/dist/server/app-render/render-css-resource.js +0 -0
- package/app/node_modules/next/dist/server/app-render/required-scripts.js +0 -0
- package/app/node_modules/next/dist/server/app-render/segment-explorer-path.js +0 -0
- package/app/node_modules/next/dist/server/app-render/server-inserted-html.js +0 -0
- package/app/node_modules/next/dist/server/app-render/staged-rendering.js +0 -0
- package/app/node_modules/next/dist/server/app-render/stale-time.js +0 -0
- package/app/node_modules/next/dist/server/app-render/stream-ops.js +0 -0
- package/app/node_modules/next/dist/server/app-render/stream-ops.web.js +0 -0
- package/app/node_modules/next/dist/server/app-render/strip-flight-headers.js +0 -0
- package/app/node_modules/next/dist/server/app-render/types.js +0 -0
- package/app/node_modules/next/dist/server/app-render/use-flight-response.js +0 -0
- package/app/node_modules/next/dist/server/app-render/vary-params.js +0 -0
- package/app/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +0 -0
- package/app/node_modules/next/dist/server/app-render/work-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/work-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +0 -0
- package/app/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +0 -0
- package/app/node_modules/next/dist/server/async-storage/draft-mode-provider.js +0 -0
- package/app/node_modules/next/dist/server/async-storage/request-store.js +0 -0
- package/app/node_modules/next/dist/server/async-storage/work-store.js +0 -0
- package/app/node_modules/next/dist/server/base-http/helpers.js +0 -0
- package/app/node_modules/next/dist/server/base-http/index.js +0 -0
- package/app/node_modules/next/dist/server/base-http/node.js +0 -0
- package/app/node_modules/next/dist/server/base-server.js +0 -0
- package/app/node_modules/next/dist/server/body-streams.js +0 -0
- package/app/node_modules/next/dist/server/cache-dir.js +0 -0
- package/app/node_modules/next/dist/server/capsize-font-metrics.json +0 -0
- package/app/node_modules/next/dist/server/ci-info.js +0 -0
- package/app/node_modules/next/dist/server/client-component-renderer-logger.js +0 -0
- package/app/node_modules/next/dist/server/config-schema.js +0 -0
- package/app/node_modules/next/dist/server/config-shared.js +0 -0
- package/app/node_modules/next/dist/server/config-utils.js +0 -0
- package/app/node_modules/next/dist/server/config.js +0 -0
- package/app/node_modules/next/dist/server/crypto-utils.js +0 -0
- package/app/node_modules/next/dist/server/dev/browser-logs/file-logger.js +0 -0
- package/app/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +0 -0
- package/app/node_modules/next/dist/server/dev/browser-logs/source-map.js +0 -0
- package/app/node_modules/next/dist/server/dev/debug-channel.js +0 -0
- package/app/node_modules/next/dist/server/dev/dev-indicator-server-state.js +0 -0
- package/app/node_modules/next/dist/server/dev/get-source-map-from-file.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-middleware.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-rspack.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-types.js +0 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +0 -0
- package/app/node_modules/next/dist/server/dev/log-requests.js +0 -0
- package/app/node_modules/next/dist/server/dev/messages.js +0 -0
- package/app/node_modules/next/dist/server/dev/middleware-turbopack.js +0 -0
- package/app/node_modules/next/dist/server/dev/middleware-webpack.js +0 -0
- package/app/node_modules/next/dist/server/dev/next-dev-server.js +0 -0
- package/app/node_modules/next/dist/server/dev/node-stack-frames.js +0 -0
- package/app/node_modules/next/dist/server/dev/on-demand-entry-handler.js +0 -0
- package/app/node_modules/next/dist/server/dev/parse-version-info.js +0 -0
- package/app/node_modules/next/dist/server/dev/require-cache.js +0 -0
- package/app/node_modules/next/dist/server/dev/serialized-errors.js +0 -0
- package/app/node_modules/next/dist/server/dev/server-action-logger.js +0 -0
- package/app/node_modules/next/dist/server/dev/static-paths-worker.js +0 -0
- package/app/node_modules/next/dist/server/dev/turbopack-utils.js +0 -0
- package/app/node_modules/next/dist/server/dynamic-rendering-utils.js +0 -0
- package/app/node_modules/next/dist/server/font-utils.js +0 -0
- package/app/node_modules/next/dist/server/get-app-route-from-entrypoint.js +0 -0
- package/app/node_modules/next/dist/server/get-route-from-entrypoint.js +0 -0
- package/app/node_modules/next/dist/server/image-optimizer.js +0 -0
- package/app/node_modules/next/dist/server/instrumentation/utils.js +0 -0
- package/app/node_modules/next/dist/server/internal-utils.js +0 -0
- package/app/node_modules/next/dist/server/is-private-ip.js +0 -0
- package/app/node_modules/next/dist/server/lib/app-dir-module.js +0 -0
- package/app/node_modules/next/dist/server/lib/app-info-log.js +0 -0
- package/app/node_modules/next/dist/server/lib/async-callback-set.js +0 -0
- package/app/node_modules/next/dist/server/lib/cache-control.js +0 -0
- package/app/node_modules/next/dist/server/lib/cache-handlers/default.js +0 -0
- package/app/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +0 -0
- package/app/node_modules/next/dist/server/lib/clone-response.js +0 -0
- package/app/node_modules/next/dist/server/lib/cpu-profile.js +0 -0
- package/app/node_modules/next/dist/server/lib/decode-query-path-parameter.js +0 -0
- package/app/node_modules/next/dist/server/lib/dedupe-fetch.js +0 -0
- package/app/node_modules/next/dist/server/lib/dev-bundler-service.js +0 -0
- package/app/node_modules/next/dist/server/lib/disk-lru-cache.external.js +0 -0
- package/app/node_modules/next/dist/server/lib/encode-cache-tag.js +0 -0
- package/app/node_modules/next/dist/server/lib/etag.js +0 -0
- package/app/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +0 -0
- package/app/node_modules/next/dist/server/lib/experimental/ppr.js +0 -0
- package/app/node_modules/next/dist/server/lib/find-page-file.js +0 -0
- package/app/node_modules/next/dist/server/lib/fix-mojibake.js +0 -0
- package/app/node_modules/next/dist/server/lib/format-hostname.js +0 -0
- package/app/node_modules/next/dist/server/lib/i18n-provider.js +0 -0
- package/app/node_modules/next/dist/server/lib/implicit-tags.js +0 -0
- package/app/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +0 -0
- package/app/node_modules/next/dist/server/lib/incremental-cache/index.js +0 -0
- package/app/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +0 -0
- package/app/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +0 -0
- package/app/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +0 -0
- package/app/node_modules/next/dist/server/lib/install-code-frame.js +0 -0
- package/app/node_modules/next/dist/server/lib/is-ipv6.js +0 -0
- package/app/node_modules/next/dist/server/lib/is-rsc-request.js +0 -0
- package/app/node_modules/next/dist/server/lib/lazy-result.js +0 -0
- package/app/node_modules/next/dist/server/lib/lru-cache.js +0 -0
- package/app/node_modules/next/dist/server/lib/match-next-data-pathname.js +0 -0
- package/app/node_modules/next/dist/server/lib/mock-request.js +0 -0
- package/app/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +0 -0
- package/app/node_modules/next/dist/server/lib/node-fs-methods.js +0 -0
- package/app/node_modules/next/dist/server/lib/parse-stack.js +0 -0
- package/app/node_modules/next/dist/server/lib/patch-fetch.js +0 -0
- package/app/node_modules/next/dist/server/lib/patch-set-header.js +0 -0
- package/app/node_modules/next/dist/server/lib/postponed-request-body.js +0 -0
- package/app/node_modules/next/dist/server/lib/render-server.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-server.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/build-data-route.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/filesystem.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/is-postpone.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/proxy-request.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/router-server-context.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js +0 -0
- package/app/node_modules/next/dist/server/lib/router-utils/typegen.js +0 -0
- package/app/node_modules/next/dist/server/lib/server-action-request-meta.js +0 -0
- package/app/node_modules/next/dist/server/lib/server-ipc/utils.js +0 -0
- package/app/node_modules/next/dist/server/lib/source-maps.js +0 -0
- package/app/node_modules/next/dist/server/lib/start-server.js +0 -0
- package/app/node_modules/next/dist/server/lib/streaming-metadata.js +0 -0
- package/app/node_modules/next/dist/server/lib/to-route.js +0 -0
- package/app/node_modules/next/dist/server/lib/trace/constants.js +0 -0
- package/app/node_modules/next/dist/server/lib/trace/tracer.js +0 -0
- package/app/node_modules/next/dist/server/lib/trace/utils.js +0 -0
- package/app/node_modules/next/dist/server/lib/utils.js +0 -0
- package/app/node_modules/next/dist/server/load-components.js +0 -0
- package/app/node_modules/next/dist/server/load-default-error-components.js +0 -0
- package/app/node_modules/next/dist/server/load-manifest.external.js +0 -0
- package/app/node_modules/next/dist/server/match-bundle.js +0 -0
- package/app/node_modules/next/dist/server/mcp/get-mcp-middleware.js +0 -0
- package/app/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +0 -0
- package/app/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-errors.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-logs.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-routes.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +0 -0
- package/app/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +0 -0
- package/app/node_modules/next/dist/server/next-server.js +0 -0
- package/app/node_modules/next/dist/server/next-typescript.js +0 -0
- package/app/node_modules/next/dist/server/next.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-baseline.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/console-exit.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/console-file.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/date.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/io-utils.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/random.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +0 -0
- package/app/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +0 -0
- package/app/node_modules/next/dist/server/node-environment.js +0 -0
- package/app/node_modules/next/dist/server/node-polyfill-crypto.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/app/index.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/pages/index.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/normalizers.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/base-path.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/next-data.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/prefix.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/rsc.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/request/suffix.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/underscore-normalizer.js +0 -0
- package/app/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +0 -0
- package/app/node_modules/next/dist/server/patch-error-inspect.js +0 -0
- package/app/node_modules/next/dist/server/pipe-readable.js +0 -0
- package/app/node_modules/next/dist/server/post-process.js +0 -0
- package/app/node_modules/next/dist/server/render-result.js +0 -0
- package/app/node_modules/next/dist/server/render.js +0 -0
- package/app/node_modules/next/dist/server/request/fallback-params.js +0 -0
- package/app/node_modules/next/dist/server/request-meta.js +0 -0
- package/app/node_modules/next/dist/server/require-hook.js +0 -0
- package/app/node_modules/next/dist/server/require.js +0 -0
- package/app/node_modules/next/dist/server/response-cache/index.js +0 -0
- package/app/node_modules/next/dist/server/response-cache/types.js +0 -0
- package/app/node_modules/next/dist/server/response-cache/utils.js +0 -0
- package/app/node_modules/next/dist/server/resume-data-cache/cache-store.js +0 -0
- package/app/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +0 -0
- package/app/node_modules/next/dist/server/revalidation-utils.js +0 -0
- package/app/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +0 -0
- package/app/node_modules/next/dist/server/route-kind.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matchers/route-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-matches/pages-api-route-match.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/module.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/module.render.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/checks.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/module.compiled.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/module.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/module.render.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/pages-handler.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +0 -0
- package/app/node_modules/next/dist/server/route-modules/route-module.js +0 -0
- package/app/node_modules/next/dist/server/runtime-reacts.external.js +0 -0
- package/app/node_modules/next/dist/server/send-payload.js +0 -0
- package/app/node_modules/next/dist/server/send-response.js +0 -0
- package/app/node_modules/next/dist/server/serve-static.js +0 -0
- package/app/node_modules/next/dist/server/server-route-utils.js +0 -0
- package/app/node_modules/next/dist/server/server-utils.js +0 -0
- package/app/node_modules/next/dist/server/setup-http-agent-env.js +0 -0
- package/app/node_modules/next/dist/server/stream-utils/encoded-tags.js +0 -0
- package/app/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +0 -0
- package/app/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +0 -0
- package/app/node_modules/next/dist/server/typescript/constant.js +0 -0
- package/app/node_modules/next/dist/server/typescript/index.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/client-boundary.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/config.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/entry.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/error.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/metadata.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/server-boundary.js +0 -0
- package/app/node_modules/next/dist/server/typescript/rules/server.js +0 -0
- package/app/node_modules/next/dist/server/typescript/utils.js +0 -0
- package/app/node_modules/next/dist/server/use-cache/constants.js +0 -0
- package/app/node_modules/next/dist/server/use-cache/handlers.js +0 -0
- package/app/node_modules/next/dist/server/utils.js +0 -0
- package/app/node_modules/next/dist/server/web/adapter.js +0 -0
- package/app/node_modules/next/dist/server/web/error.js +0 -0
- package/app/node_modules/next/dist/server/web/get-edge-preview-props.js +0 -0
- package/app/node_modules/next/dist/server/web/globals.js +0 -0
- package/app/node_modules/next/dist/server/web/http.js +0 -0
- package/app/node_modules/next/dist/server/web/next-url.js +0 -0
- package/app/node_modules/next/dist/server/web/sandbox/context.js +0 -0
- package/app/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +0 -0
- package/app/node_modules/next/dist/server/web/sandbox/index.js +0 -0
- package/app/node_modules/next/dist/server/web/sandbox/resource-managers.js +0 -0
- package/app/node_modules/next/dist/server/web/sandbox/sandbox.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/cookies.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/fetch-event.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/request.js +0 -0
- package/app/node_modules/next/dist/server/web/spec-extension/response.js +0 -0
- package/app/node_modules/next/dist/server/web/utils.js +0 -0
- package/app/node_modules/next/dist/server/web/web-on-close.js +0 -0
- package/app/node_modules/next/dist/shared/lib/action-revalidation-kind.js +0 -0
- package/app/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/app-router-types.js +0 -0
- package/app/node_modules/next/dist/shared/lib/bloom-filter.js +0 -0
- package/app/node_modules/next/dist/shared/lib/constants.js +0 -0
- package/app/node_modules/next/dist/shared/lib/deep-freeze.js +0 -0
- package/app/node_modules/next/dist/shared/lib/deployment-id.js +0 -0
- package/app/node_modules/next/dist/shared/lib/dset.js +0 -0
- package/app/node_modules/next/dist/shared/lib/encode-uri-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/entry-constants.js +0 -0
- package/app/node_modules/next/dist/shared/lib/error-source.js +0 -0
- package/app/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +0 -0
- package/app/node_modules/next/dist/shared/lib/errors/code-frame.js +0 -0
- package/app/node_modules/next/dist/shared/lib/errors/constants.js +0 -0
- package/app/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +0 -0
- package/app/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +0 -0
- package/app/node_modules/next/dist/shared/lib/escape-regexp.js +0 -0
- package/app/node_modules/next/dist/shared/lib/format-webpack-messages.js +0 -0
- package/app/node_modules/next/dist/shared/lib/get-hostname.js +0 -0
- package/app/node_modules/next/dist/shared/lib/get-rspack.js +0 -0
- package/app/node_modules/next/dist/shared/lib/get-webpack-bundler.js +0 -0
- package/app/node_modules/next/dist/shared/lib/hash.js +0 -0
- package/app/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/head.js +0 -0
- package/app/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/htmlescape.js +0 -0
- package/app/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +0 -0
- package/app/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +0 -0
- package/app/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/image-blur-svg.js +0 -0
- package/app/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/image-config.js +0 -0
- package/app/node_modules/next/dist/shared/lib/invariant-error.js +0 -0
- package/app/node_modules/next/dist/shared/lib/is-internal.js +0 -0
- package/app/node_modules/next/dist/shared/lib/is-plain-object.js +0 -0
- package/app/node_modules/next/dist/shared/lib/is-thenable.js +0 -0
- package/app/node_modules/next/dist/shared/lib/isomorphic/path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +0 -0
- package/app/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/magic-identifier.js +0 -0
- package/app/node_modules/next/dist/shared/lib/match-local-pattern.js +0 -0
- package/app/node_modules/next/dist/shared/lib/match-remote-pattern.js +0 -0
- package/app/node_modules/next/dist/shared/lib/mitt.js +0 -0
- package/app/node_modules/next/dist/shared/lib/modern-browserslist-target.js +0 -0
- package/app/node_modules/next/dist/shared/lib/no-fallback-error.external.js +0 -0
- package/app/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +0 -0
- package/app/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +0 -0
- package/app/node_modules/next/dist/shared/lib/promise-with-resolvers.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/adapters.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/router.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/routes/app.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/add-locale.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/app-paths.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/compare-states.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/format-url.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/html-bots.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/index.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/is-bot.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/is-local-url.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/omit.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/parse-path.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/parse-url.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/path-match.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/querystring.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/resolve-rewrites.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/route-regex.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +0 -0
- package/app/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +0 -0
- package/app/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +0 -0
- package/app/node_modules/next/dist/shared/lib/segment.js +0 -0
- package/app/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +0 -0
- package/app/node_modules/next/dist/shared/lib/server-reference-info.js +0 -0
- package/app/node_modules/next/dist/shared/lib/side-effect.js +0 -0
- package/app/node_modules/next/dist/shared/lib/size-limit.js +0 -0
- package/app/node_modules/next/dist/shared/lib/turbopack/compilation-events.js +0 -0
- package/app/node_modules/next/dist/shared/lib/turbopack/entry-key.js +0 -0
- package/app/node_modules/next/dist/shared/lib/turbopack/internal-error.js +0 -0
- package/app/node_modules/next/dist/shared/lib/turbopack/manifest-loader.js +0 -0
- package/app/node_modules/next/dist/shared/lib/turbopack/utils.js +0 -0
- package/app/node_modules/next/dist/shared/lib/utils/reflect-utils.js +0 -0
- package/app/node_modules/next/dist/shared/lib/utils/warn-once.js +0 -0
- package/app/node_modules/next/dist/shared/lib/utils.js +0 -0
- package/app/node_modules/next/dist/shared/lib/zod.js +0 -0
- package/app/node_modules/next/dist/telemetry/anonymous-meta.js +0 -0
- package/app/node_modules/next/dist/telemetry/detached-flush.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/build.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/error-feedback.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/index.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/plugins.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +0 -0
- package/app/node_modules/next/dist/telemetry/events/version.js +0 -0
- package/app/node_modules/next/dist/telemetry/flush-telemetry.js +0 -0
- package/app/node_modules/next/dist/telemetry/post-telemetry-payload.js +0 -0
- package/app/node_modules/next/dist/telemetry/project-id.js +0 -0
- package/app/node_modules/next/dist/telemetry/storage.js +0 -0
- package/app/node_modules/next/dist/trace/index.js +0 -0
- package/app/node_modules/next/dist/trace/report/index.js +0 -0
- package/app/node_modules/next/dist/trace/report/to-json-build.js +0 -0
- package/app/node_modules/next/dist/trace/report/to-json.js +0 -0
- package/app/node_modules/next/dist/trace/report/to-telemetry.js +0 -0
- package/app/node_modules/next/dist/trace/shared.js +0 -0
- package/app/node_modules/next/dist/trace/trace.js +0 -0
- package/app/node_modules/next/font/google/target.css +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/at-rule.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/comment.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/container.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/css-syntax-error.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/declaration.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/document.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/fromJSON.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/input.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/lazy-result.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/list.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/map-generator.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/no-work-result.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/node.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/parse.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/parser.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/postcss.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/previous-map.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/processor.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/result.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/root.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/rule.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/stringifier.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/stringify.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/symbols.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/terminal-highlight.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/tokenize.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/warn-once.js +0 -0
- package/app/node_modules/next/node_modules/postcss/lib/warning.js +0 -0
- package/app/node_modules/next/node_modules/postcss/package.json +0 -0
- package/app/node_modules/next/package.json +0 -0
- package/app/node_modules/picocolors/package.json +0 -0
- package/app/node_modules/picocolors/picocolors.js +0 -0
- package/app/node_modules/react/cjs/react-compiler-runtime.production.js +0 -0
- package/app/node_modules/react/cjs/react-jsx-dev-runtime.production.js +0 -0
- package/app/node_modules/react/cjs/react-jsx-runtime.production.js +0 -0
- package/app/node_modules/react/cjs/react.development.js +0 -0
- package/app/node_modules/react/cjs/react.production.js +0 -0
- package/app/node_modules/react/compiler-runtime.js +0 -0
- package/app/node_modules/react/index.js +0 -0
- package/app/node_modules/react/jsx-dev-runtime.js +0 -0
- package/app/node_modules/react/jsx-runtime.js +0 -0
- package/app/node_modules/react/package.json +0 -0
- package/app/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +0 -0
- package/app/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +0 -0
- package/app/node_modules/react-dom/cjs/react-dom-server.browser.production.js +0 -0
- package/app/node_modules/react-dom/cjs/react-dom-server.edge.production.js +0 -0
- package/app/node_modules/react-dom/cjs/react-dom-server.node.production.js +0 -0
- package/app/node_modules/react-dom/cjs/react-dom.production.js +0 -0
- package/app/node_modules/react-dom/index.js +0 -0
- package/app/node_modules/react-dom/package.json +0 -0
- package/app/node_modules/react-dom/server.browser.js +0 -0
- package/app/node_modules/react-dom/server.edge.js +0 -0
- package/app/node_modules/react-dom/server.js +0 -0
- package/app/node_modules/react-dom/server.node.js +0 -0
- package/app/node_modules/react-dom/static.js +0 -0
- package/app/node_modules/react-dom/static.node.js +0 -0
- package/app/node_modules/source-map-js/lib/array-set.js +0 -0
- package/app/node_modules/source-map-js/lib/base64-vlq.js +0 -0
- package/app/node_modules/source-map-js/lib/base64.js +0 -0
- package/app/node_modules/source-map-js/lib/binary-search.js +0 -0
- package/app/node_modules/source-map-js/lib/mapping-list.js +0 -0
- package/app/node_modules/source-map-js/lib/quick-sort.js +0 -0
- package/app/node_modules/source-map-js/lib/source-map-consumer.js +0 -0
- package/app/node_modules/source-map-js/lib/source-map-generator.js +0 -0
- package/app/node_modules/source-map-js/lib/source-node.js +0 -0
- package/app/node_modules/source-map-js/lib/util.js +0 -0
- package/app/node_modules/source-map-js/package.json +0 -0
- package/app/node_modules/source-map-js/source-map.js +0 -0
- package/app/node_modules/sql.js/.devcontainer/Dockerfile +0 -0
- package/app/node_modules/sql.js/.devcontainer/devcontainer.json +0 -0
- package/app/node_modules/sql.js/.eslintrc.js +0 -0
- package/app/node_modules/sql.js/.jsdoc.config.json +0 -0
- package/app/node_modules/sql.js/.nojekyll +0 -0
- package/app/node_modules/sql.js/AUTHORS +0 -0
- package/app/node_modules/sql.js/CONTRIBUTING.md +0 -0
- package/app/node_modules/sql.js/LICENSE +0 -0
- package/app/node_modules/sql.js/README.md +0 -0
- package/app/node_modules/sql.js/dist/sql-wasm.js +0 -0
- package/app/node_modules/sql.js/dist/sql-wasm.wasm +0 -0
- package/app/node_modules/sql.js/documentation_index.md +0 -0
- package/app/node_modules/sql.js/eslint.config.cjs +0 -0
- package/app/node_modules/sql.js/logo.svg +0 -0
- package/app/node_modules/sql.js/package.json +0 -0
- package/app/node_modules/styled-jsx/dist/index/index.js +0 -0
- package/app/node_modules/styled-jsx/index.js +0 -0
- package/app/node_modules/styled-jsx/package.json +0 -0
- package/app/node_modules/styled-jsx/style.js +0 -0
- package/app/node_modules/tldts/dist/cjs/index.js +0 -0
- package/app/node_modules/tldts/package.json +0 -0
- package/app/node_modules/tls-client-node/bin/tls-client-windows-64-1.15.1.dll +0 -0
- package/app/node_modules/tls-client-node/dist/binary.js +0 -0
- package/app/node_modules/tls-client-node/dist/client.js +0 -0
- package/app/node_modules/tls-client-node/dist/errors.js +0 -0
- package/app/node_modules/tls-client-node/dist/index.js +0 -0
- package/app/node_modules/tls-client-node/dist/multipart.js +0 -0
- package/app/node_modules/tls-client-node/dist/native.js +0 -0
- package/app/node_modules/tls-client-node/dist/response.js +0 -0
- package/app/node_modules/tls-client-node/dist/types.js +0 -0
- package/app/node_modules/tls-client-node/index.mjs +0 -0
- package/app/node_modules/tls-client-node/package.json +0 -0
- package/app/node_modules/tough-cookie/dist/index.cjs +0 -0
- package/app/node_modules/tough-cookie/package.json +0 -0
- package/app/package.json +2 -2
- package/app/public/CHANGELOG.md +0 -0
- package/app/public/favicon.svg +0 -0
- package/app/public/file.svg +0 -0
- package/app/public/globe.svg +0 -0
- package/app/public/i18n/literals/ar.json +0 -0
- package/app/public/i18n/literals/bn.json +0 -0
- package/app/public/i18n/literals/cs.json +0 -0
- package/app/public/i18n/literals/da.json +0 -0
- package/app/public/i18n/literals/de.json +0 -0
- package/app/public/i18n/literals/el.json +0 -0
- package/app/public/i18n/literals/es.json +0 -0
- package/app/public/i18n/literals/fi.json +0 -0
- package/app/public/i18n/literals/fr.json +0 -0
- package/app/public/i18n/literals/he.json +0 -0
- package/app/public/i18n/literals/hi.json +0 -0
- package/app/public/i18n/literals/hu.json +0 -0
- package/app/public/i18n/literals/id.json +0 -0
- package/app/public/i18n/literals/it.json +0 -0
- package/app/public/i18n/literals/ja.json +0 -0
- package/app/public/i18n/literals/ko.json +0 -0
- package/app/public/i18n/literals/nl.json +0 -0
- package/app/public/i18n/literals/no.json +0 -0
- package/app/public/i18n/literals/pl.json +0 -0
- package/app/public/i18n/literals/pt-BR.json +0 -0
- package/app/public/i18n/literals/pt-PT.json +0 -0
- package/app/public/i18n/literals/ro.json +0 -0
- package/app/public/i18n/literals/ru.json +0 -0
- package/app/public/i18n/literals/sv.json +0 -0
- package/app/public/i18n/literals/th.json +0 -0
- package/app/public/i18n/literals/tl.json +0 -0
- package/app/public/i18n/literals/tr.json +0 -0
- package/app/public/i18n/literals/uk.json +0 -0
- package/app/public/i18n/literals/ur.json +0 -0
- package/app/public/i18n/literals/vi.json +0 -0
- package/app/public/i18n/literals/zh-CN.json +0 -0
- package/app/public/i18n/literals/zh-TW.json +0 -0
- package/app/public/icons/icon-192.svg +0 -0
- package/app/public/icons/icon-512.svg +0 -0
- package/app/public/next.svg +0 -0
- package/app/public/providers/alicode-intl.png +0 -0
- package/app/public/providers/alicode.png +0 -0
- package/app/public/providers/amp.png +0 -0
- package/app/public/providers/anthropic-m.png +0 -0
- package/app/public/providers/anthropic.png +0 -0
- package/app/public/providers/antigravity.png +0 -0
- package/app/public/providers/assemblyai.png +0 -0
- package/app/public/providers/aws-polly.png +0 -0
- package/app/public/providers/azure.png +0 -0
- package/app/public/providers/black-forest-labs.png +0 -0
- package/app/public/providers/blackbox.png +0 -0
- package/app/public/providers/brave-search.png +0 -0
- package/app/public/providers/byteplus.png +0 -0
- package/app/public/providers/cartesia.png +0 -0
- package/app/public/providers/cerebras.png +0 -0
- package/app/public/providers/chatgpt-web.png +0 -0
- package/app/public/providers/chutes.png +0 -0
- package/app/public/providers/claude.png +0 -0
- package/app/public/providers/cline.png +0 -0
- package/app/public/providers/cloudflare-ai.png +0 -0
- package/app/public/providers/codex.png +0 -0
- package/app/public/providers/cohere.png +0 -0
- package/app/public/providers/comfyui.png +0 -0
- package/app/public/providers/commandcode.png +0 -0
- package/app/public/providers/continue.png +0 -0
- package/app/public/providers/copilot.png +0 -0
- package/app/public/providers/coqui.png +0 -0
- package/app/public/providers/cursor.png +0 -0
- package/app/public/providers/deepgram.png +0 -0
- package/app/public/providers/deepseek-tui.png +0 -0
- package/app/public/providers/deepseek.png +0 -0
- package/app/public/providers/droid.png +0 -0
- package/app/public/providers/edge-tts.png +0 -0
- package/app/public/providers/elevenlabs.png +0 -0
- package/app/public/providers/exa.png +0 -0
- package/app/public/providers/fal-ai.png +0 -0
- package/app/public/providers/firecrawl.png +0 -0
- package/app/public/providers/fireworks.png +0 -0
- package/app/public/providers/gemini-cli.png +0 -0
- package/app/public/providers/gemini.png +0 -0
- package/app/public/providers/github.png +0 -0
- package/app/public/providers/glm-cn.png +0 -0
- package/app/public/providers/glm.png +0 -0
- package/app/public/providers/google-pse.png +0 -0
- package/app/public/providers/google-tts.png +0 -0
- package/app/public/providers/grok-web.png +0 -0
- package/app/public/providers/groq.png +0 -0
- package/app/public/providers/hermes.png +0 -0
- package/app/public/providers/huggingface.png +0 -0
- package/app/public/providers/hyperbolic.png +0 -0
- package/app/public/providers/iflow.png +0 -0
- package/app/public/providers/inworld.png +0 -0
- package/app/public/providers/jcode.png +0 -0
- package/app/public/providers/jina-ai.png +0 -0
- package/app/public/providers/jina-reader.png +0 -0
- package/app/public/providers/kilocode.png +0 -0
- package/app/public/providers/kimi-coding.png +0 -0
- package/app/public/providers/kimi.png +0 -0
- package/app/public/providers/kiro.png +0 -0
- package/app/public/providers/linkup.png +0 -0
- package/app/public/providers/local-device.png +0 -0
- package/app/public/providers/minimax-cn.png +0 -0
- package/app/public/providers/minimax.png +0 -0
- package/app/public/providers/mistral.png +0 -0
- package/app/public/providers/nanobanana.png +0 -0
- package/app/public/providers/nebius.png +0 -0
- package/app/public/providers/nvidia.png +0 -0
- package/app/public/providers/oai-cc.png +0 -0
- package/app/public/providers/oai-r.png +0 -0
- package/app/public/providers/ollama-local.png +0 -0
- package/app/public/providers/ollama.png +0 -0
- package/app/public/providers/openai.png +0 -0
- package/app/public/providers/openclaw.png +0 -0
- package/app/public/providers/opencode-go.png +0 -0
- package/app/public/providers/opencode.png +0 -0
- package/app/public/providers/openrouter.png +0 -0
- package/app/public/providers/perplexity-web.png +0 -0
- package/app/public/providers/perplexity.png +0 -0
- package/app/public/providers/playht.png +0 -0
- package/app/public/providers/qwen.png +0 -0
- package/app/public/providers/recraft.png +0 -0
- package/app/public/providers/roo.png +0 -0
- package/app/public/providers/runwayml.png +0 -0
- package/app/public/providers/sdwebui.png +0 -0
- package/app/public/providers/searchapi.png +0 -0
- package/app/public/providers/searxng.png +0 -0
- package/app/public/providers/serper.png +0 -0
- package/app/public/providers/siliconflow.png +0 -0
- package/app/public/providers/stability-ai.png +0 -0
- package/app/public/providers/tavily.png +0 -0
- package/app/public/providers/together.png +0 -0
- package/app/public/providers/topaz.png +0 -0
- package/app/public/providers/tortoise.png +0 -0
- package/app/public/providers/vertex-partner.png +0 -0
- package/app/public/providers/vertex.png +0 -0
- package/app/public/providers/volcengine-ark.png +0 -0
- package/app/public/providers/voyage-ai.png +0 -0
- package/app/public/providers/xai.png +0 -0
- package/app/public/providers/xiaomi-mimo.png +0 -0
- package/app/public/providers/xiaomi-tokenplan.png +0 -0
- package/app/public/providers/youcom.png +0 -0
- package/app/public/sw.js +0 -0
- package/app/public/vercel.svg +0 -0
- package/app/public/window.svg +0 -0
- package/app/server.js +1 -1
- package/app/src/lib/db/adapters/betterSqliteAdapter.js +0 -0
- package/app/src/lib/db/adapters/bunSqliteAdapter.js +0 -0
- package/app/src/lib/db/adapters/nodeSqliteAdapter.js +0 -0
- package/app/src/lib/db/adapters/sqljsAdapter.js +0 -0
- package/app/src/lib/db/migrate.js +0 -0
- package/app/src/mitm/server.js +1 -1
- package/app/src/shared/utils/apiKey.js +0 -0
- package/hooks/postinstall.js +0 -0
- package/hooks/sqliteRuntime.js +0 -0
- package/hooks/trayRuntime.js +0 -0
- package/package.json +1 -1
- package/src/cli/api/client.js +0 -0
- package/src/cli/menus/apiKeys.js +0 -0
- package/src/cli/menus/cliTools.js +0 -0
- package/src/cli/menus/combos.js +0 -0
- package/src/cli/menus/providers.js +0 -0
- package/src/cli/menus/settings.js +0 -0
- package/src/cli/terminalUI.js +0 -0
- package/src/cli/tray/autostart.js +0 -0
- package/src/cli/tray/icon.ico +0 -0
- package/src/cli/tray/icon.png +0 -0
- package/src/cli/tray/tray.js +0 -0
- package/src/cli/tray/tray.ps1 +0 -0
- package/src/cli/tray/trayWin.js +0 -0
- package/src/cli/utils/clipboard.js +0 -0
- package/src/cli/utils/display.js +0 -0
- package/src/cli/utils/endpoint.js +0 -0
- package/src/cli/utils/format.js +0 -0
- package/src/cli/utils/input.js +0 -0
- package/src/cli/utils/menuHelper.js +0 -0
- package/src/cli/utils/modelSelector.js +0 -0
- package/app/.next/server/chunks/2304.js +0 -1
- package/app/.next/server/chunks/5802.js +0 -1
- package/app/.next/server/chunks/6942.js +0 -1
- package/app/.next/server/chunks/8590.js +0 -1
- package/app/.next/static/chunks/1966.b8f83f7ba376c962.js +0 -1
- package/app/.next/static/chunks/3899.3f761f7e3a944e8c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-fed21a827a4bb3e7.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-c17f2e0c1008c507.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-d476a9617cd07062.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-b66b5afde6f6a8a5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-08083cca61db2020.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-ec62ab7bfc6288d4.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-b66b5afde6f6a8a5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-542f33955bbdaad5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-e3ff638f08712caa.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-4d9e8680859a55ef.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-fd227f3b40d28088.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-4bfb66364f9fce07.js +0 -1
- package/app/.next/static/chunks/app/_not-found/page-c3191fbf953a8992.js +0 -1
- package/app/.next/static/chunks/app/callback/page-b306689c942f9a55.js +0 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-356efde6ea2aec77.js +0 -1
- package/app/.next/static/chunks/app/layout-6abe63d2f76d785d.js +0 -1
- package/app/.next/static/chunks/app/login/page-4b8cdc668f7c1188.js +0 -1
- package/app/.next/static/chunks/main-195dd2cec8411e79.js +0 -5
- package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-50a8299adf165450.js +0 -1
- package/app/.next/static/chunks/webpack-a990cabb6976f421.js +0 -1
- /package/app/.next/static/{YvunEH0ARf9LgBxCqi4fa → sUqwnrD-0T-R6BLMQ9AyC}/_buildManifest.js +0 -0
- /package/app/.next/static/{YvunEH0ARf9LgBxCqi4fa → sUqwnrD-0T-R6BLMQ9AyC}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";exports.id=412,exports.ids=[412],exports.modules={267:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(74429),g=c(51126),h=c(99258);let i=a=>({en:{name:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},vi:{name:"Tiếng Việt",flag:"\uD83C\uDDFB\uD83C\uDDF3"},"zh-CN":{name:"简体中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},"zh-TW":{name:"繁體中文",flag:"\uD83C\uDDF9\uD83C\uDDFC"},ja:{name:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"},"pt-BR":{name:"Portugu\xeas (Brasil)",flag:"\uD83C\uDDE7\uD83C\uDDF7"},"pt-PT":{name:"Portugu\xeas (Portugal)",flag:"\uD83C\uDDF5\uD83C\uDDF9"},ko:{name:"한국어",flag:"\uD83C\uDDF0\uD83C\uDDF7"},es:{name:"Espa\xf1ol",flag:"\uD83C\uDDEA\uD83C\uDDF8"},de:{name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},fr:{name:"Fran\xe7ais",flag:"\uD83C\uDDEB\uD83C\uDDF7"},he:{name:"עברית",flag:"\uD83C\uDDEE\uD83C\uDDF1"},ar:{name:"العربية",flag:"\uD83C\uDDF8\uD83C\uDDE6"},ru:{name:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"},pl:{name:"Polski",flag:"\uD83C\uDDF5\uD83C\uDDF1"},cs:{name:"Čeština",flag:"\uD83C\uDDE8\uD83C\uDDFF"},nl:{name:"Nederlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},tr:{name:"T\xfcrk\xe7e",flag:"\uD83C\uDDF9\uD83C\uDDF7"},uk:{name:"Українська",flag:"\uD83C\uDDFA\uD83C\uDDE6"},tl:{name:"Tagalog",flag:"\uD83C\uDDF5\uD83C\uDDED"},id:{name:"Indonesia",flag:"\uD83C\uDDEE\uD83C\uDDE9"},th:{name:"ไทย",flag:"\uD83C\uDDF9\uD83C\uDDED"},hi:{name:"हिन्दी",flag:"\uD83C\uDDEE\uD83C\uDDF3"},bn:{name:"বাংলা",flag:"\uD83C\uDDE7\uD83C\uDDE9"},ur:{name:"اردو",flag:"\uD83C\uDDF5\uD83C\uDDF0"},ro:{name:"Rom\xe2nă",flag:"\uD83C\uDDF7\uD83C\uDDF4"},sv:{name:"Svenska",flag:"\uD83C\uDDF8\uD83C\uDDEA"},it:{name:"Italiano",flag:"\uD83C\uDDEE\uD83C\uDDF9"},el:{name:"Ελληνικά",flag:"\uD83C\uDDEC\uD83C\uDDF7"},hu:{name:"Magyar",flag:"\uD83C\uDDED\uD83C\uDDFA"},fi:{name:"Suomi",flag:"\uD83C\uDDEB\uD83C\uDDEE"},da:{name:"Dansk",flag:"\uD83C\uDDE9\uD83C\uDDF0"},no:{name:"Norsk",flag:"\uD83C\uDDF3\uD83C\uDDF4"}})[a]||{name:a,flag:"\uD83C\uDF10"};function j({className:a="",isOpen:b,onClose:c,hideTrigger:k=!1}){let[l,m]=(0,e.useState)("en"),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),r=(0,e.useRef)(null),s="boolean"==typeof b,t=s?b:p,u=a=>{s?!a&&c&&c():q(a)},v=async a=>{if(a!==l&&!n){o(!0),u(!1);try{await fetch("/api/locale",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locale:a})}),await (0,h.wn)(),m(a)}catch(a){console.error("Failed to set locale:",a)}finally{o(!1)}}};return(0,d.jsxs)("div",{className:a,children:[!k&&(0,d.jsxs)("button",{onClick:()=>u(!t),disabled:n,className:"flex items-center gap-2 px-3 py-2 rounded-lg text-text-muted hover:text-text-main hover:bg-surface/60 transition-colors",title:"Language","data-i18n-skip":"true",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"language"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:i(l).name}),(0,d.jsx)("span",{className:"text-lg",children:i(l).flag})]}),t&&(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4","data-i18n-skip":"true",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:()=>u(!1)}),(0,d.jsxs)("div",{ref:r,className:"relative w-full bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl animate-in fade-in zoom-in-95 duration-200 max-w-2xl flex flex-col max-h-[80vh]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-black/5 dark:border-white/5",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Select Language"}),(0,d.jsx)("button",{onClick:()=>u(!1),className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors","aria-label":"Close",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 overflow-y-auto flex-1",children:(0,d.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(100px,1fr))] gap-2",children:g.YZ.map(a=>{let b=l===a,c=i(a);return(0,d.jsxs)("button",{onClick:()=>v(a),disabled:n,className:`flex flex-col items-center justify-start gap-1 px-2 py-3 rounded-lg text-xs font-medium transition-colors w-full ${b?"bg-primary/15 text-primary ring-2 ring-primary":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"} ${n?"opacity-70 cursor-wait":""}`,title:c.name,children:[(0,d.jsx)("span",{className:"text-2xl",children:c.flag}),(0,d.jsx)("span",{className:"text-center leading-tight line-clamp-2 h-8 flex items-center",children:c.name}),b&&(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"check"})]},a)})})})]})]}),document.body)]})}},3236:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f);c(51126);var h=c(42118),i=c(11229),j=c(267);let k={en:{name:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},vi:{name:"Tiếng Việt",flag:"\uD83C\uDDFB\uD83C\uDDF3"},"zh-CN":{name:"简体中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},"zh-TW":{name:"繁體中文",flag:"\uD83C\uDDF9\uD83C\uDDFC"},ja:{name:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"},"pt-BR":{name:"Portugu\xeas (BR)",flag:"\uD83C\uDDE7\uD83C\uDDF7"},"pt-PT":{name:"Portugu\xeas (PT)",flag:"\uD83C\uDDF5\uD83C\uDDF9"},ko:{name:"한국어",flag:"\uD83C\uDDF0\uD83C\uDDF7"},es:{name:"Espa\xf1ol",flag:"\uD83C\uDDEA\uD83C\uDDF8"},de:{name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},fr:{name:"Fran\xe7ais",flag:"\uD83C\uDDEB\uD83C\uDDF7"},he:{name:"עברית",flag:"\uD83C\uDDEE\uD83C\uDDF1"},ar:{name:"العربية",flag:"\uD83C\uDDF8\uD83C\uDDE6"},ru:{name:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"},pl:{name:"Polski",flag:"\uD83C\uDDF5\uD83C\uDDF1"},cs:{name:"Čeština",flag:"\uD83C\uDDE8\uD83C\uDDFF"},nl:{name:"Nederlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},tr:{name:"T\xfcrk\xe7e",flag:"\uD83C\uDDF9\uD83C\uDDF7"},uk:{name:"Українська",flag:"\uD83C\uDDFA\uD83C\uDDE6"},tl:{name:"Tagalog",flag:"\uD83C\uDDF5\uD83C\uDDED"},id:{name:"Indonesia",flag:"\uD83C\uDDEE\uD83C\uDDE9"},th:{name:"ไทย",flag:"\uD83C\uDDF9\uD83C\uDDED"},hi:{name:"हिन्दी",flag:"\uD83C\uDDEE\uD83C\uDDF3"},bn:{name:"বাংলা",flag:"\uD83C\uDDE7\uD83C\uDDE9"},ur:{name:"اردو",flag:"\uD83C\uDDF5\uD83C\uDDF0"},ro:{name:"Rom\xe2nă",flag:"\uD83C\uDDF7\uD83C\uDDF4"},sv:{name:"Svenska",flag:"\uD83C\uDDF8\uD83C\uDDEA"},it:{name:"Italiano",flag:"\uD83C\uDDEE\uD83C\uDDF9"},el:{name:"Ελληνικά",flag:"\uD83C\uDDEC\uD83C\uDDF7"},hu:{name:"Magyar",flag:"\uD83C\uDDED\uD83C\uDDFA"},fi:{name:"Suomi",flag:"\uD83C\uDDEB\uD83C\uDDEE"},da:{name:"Dansk",flag:"\uD83C\uDDE9\uD83C\uDDF0"},no:{name:"Norsk",flag:"\uD83C\uDDF3\uD83C\uDDF4"}};function l({icon:a,label:b,onClick:c,trailing:e,danger:f}){return(0,d.jsxs)("button",{onClick:c,className:`flex items-center gap-3 w-full px-4 py-2.5 text-sm transition-colors ${f?"text-red-500 hover:bg-red-500/10":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"}`,children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[20px] ${f?"":"text-text-muted"}`,children:a}),(0,d.jsx)("span",{className:"flex-1 text-left",children:b}),e&&(0,d.jsx)("span",{className:"text-base",children:e})]})}function m({onLogout:a}){let[b,c]=(0,e.useState)(!1),[f,g]=(0,e.useState)(!1),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)("en"),{toggleTheme:r,isDark:s}=(0,h.D)(),t=(0,e.useRef)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"relative",ref:t,children:[(0,d.jsx)("button",{onClick:()=>c(a=>!a),className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all",title:"Menu",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"grid_view"})}),b&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-60 bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl z-50 animate-in fade-in zoom-in-95 duration-150 overflow-hidden py-1",children:[(0,d.jsx)(l,{icon:"history",label:"Change Log",onClick:()=>{c(!1),g(!0)}}),(0,d.jsx)(l,{icon:"language",label:k[p]?.name||p,trailing:k[p]?.flag||"\uD83C\uDF10",onClick:()=>{c(!1),o(!0)}}),(0,d.jsx)(l,{icon:s?"light_mode":"dark_mode",label:"Theme",onClick:()=>{r(),c(!1)}}),(0,d.jsx)(l,{icon:"computer",label:"Remote",onClick:()=>{c(!1),setRemoteOpen(!0)}}),(0,d.jsx)(l,{icon:"logout",label:"Logout",danger:!0,onClick:()=>{c(!1),a()}})]})]}),(0,d.jsx)(i.default,{isOpen:f,onClose:()=>g(!1)}),(0,d.jsx)(j.default,{hideTrigger:!0,isOpen:n,onClose:()=>o(!1)})]})}l.propTypes={icon:g().string.isRequired,label:g().string.isRequired,onClick:g().func.isRequired,trailing:g().node,danger:g().bool},m.propTypes={onLogout:g().func.isRequired}},4770:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,options:b=[],value:c,onChange:g,placeholder:h="Select an option",error:i,hint:j,disabled:k=!1,required:l=!1,className:m,selectClassName:n,...o}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",m),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,l&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("select",{value:c,onChange:g,disabled:k,className:(0,e.cn)("w-full py-2.5 px-3 pr-10 text-sm text-text-main","bg-surface-2 border border-transparent rounded-[10px] appearance-none","focus:outline-none focus:ring-2 focus:ring-brand-500/30 focus:border-brand-500/40","transition-all duration-150 disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",i&&"ring-1 ring-red-500 focus:ring-2 focus:ring-red-500/40 border-red-500/40",n),...o,children:[(0,d.jsx)("option",{value:"",disabled:!0,children:h}),b.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))]}),(0,d.jsx)("div",{className:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"expand_more"})})]}),i&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),i]}),j&&!i&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:j})]})}},5291:(a,b,c)=>{c.d(b,{default:()=>k});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(79346),i=c(86209),j=c(56110);function k({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,l]=(0,e.useState)(null),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),q=(0,e.useCallback)((a,b)=>{"builder-id"===a?l("builder-id"):"idc"===a?(l("idc"),p(b)):"social"===a?(l("social"),n(b.provider)):"import"===a&&(c?.(),f?.())},[c,f]),r=()=>{l(null),n(null),p(null)};return g?"builder-id"===g||"idc"===g?(0,d.jsx)(h.default,{isOpen:a,provider:"kiro",providerInfo:b,onSuccess:()=>{l(null),p(null),c?.(),f?.()},onClose:r,idcConfig:o}):"social"===g&&m?(0,d.jsx)(j.default,{isOpen:a,provider:m,onSuccess:()=>{l(null),n(null),c?.(),f?.()},onClose:r}):null:(0,d.jsx)(i.default,{isOpen:a,onMethodSelect:q,onClose:f})}k.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},11229:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(74429),g=c(49885),h=c.n(g),i=c(26921);function j({isOpen:a,onClose:b}){let[c,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(""),m=(0,e.useRef)(null);return!a||"u"<typeof document?null:(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:b}),(0,d.jsxs)("div",{ref:m,className:"relative w-full bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl animate-in fade-in zoom-in-95 duration-200 max-w-3xl flex flex-col max-h-[85vh]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-black/5 dark:border-white/5",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Change Log"}),(0,d.jsx)("button",{onClick:b,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors","aria-label":"Close",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsxs)("div",{className:"p-6 overflow-y-auto flex-1",children:[h&&(0,d.jsxs)("div",{className:"flex items-center justify-center py-10 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin mr-2",children:"progress_activity"}),"Loading..."]}),k&&(0,d.jsxs)("div",{className:"text-red-500 py-4",children:["Failed to load changelog: ",k]}),!h&&!k&&c&&(0,d.jsx)("div",{className:"changelog-body text-text-main",dangerouslySetInnerHTML:{__html:c}})]})]})]}),document.body)}c(12020),i.xI.setOptions({gfm:!0,breaks:!0}),j.propTypes={isOpen:h().bool.isRequired,onClose:h().func.isRequired}},11633:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(17660);let f={mode:{label:"Mode",format:a=>a},defaultModel:{label:"Model",format:a=>a,mono:!0},baseUrl:{label:"Endpoint",format:a=>a,isLink:!0,mono:!0},costPerQuery:{label:"Cost / call",format:a=>0===a?"Free":`$${a.toFixed(4)}`},pricingUrl:{label:"Pricing",format:()=>"View pricing",isLink:!0},freeTier:{label:"Free tier",format:a=>a},freeMonthlyQuota:{label:"Free quota",format:a=>0===a?"—":a>=999999?"Unlimited":`${a.toLocaleString()} / mo`},searchTypes:{label:"Types",format:a=>a.join(", ")},formats:{label:"Formats",format:a=>a.join(", ")},maxMaxResults:{label:"Max results",format:a=>a},maxCharacters:{label:"Max chars",format:a=>a.toLocaleString()}};function g({config:a,provider:b,title:c="Provider Info"}){if(!a)return null;let h=Object.entries(f).filter(([b])=>void 0!==a[b]&&null!==a[b]&&""!==a[b]).map(([b,c])=>({key:b,label:c.label,value:c.format(a[b]),isLink:c.isLink,mono:c.mono,raw:a[b]})),i=b?.notice?.apiKeyUrl||b?.website,j=b?.notice?.text;return(0,d.jsxs)(e.default,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:c}),i&&(0,d.jsxs)("a",{href:i,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:"grid grid-cols-1 sm:grid-cols-2 gap-x-6 gap-y-2",children:[h.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted w-28 shrink-0",children:a.label}),a.isLink?(0,d.jsx)("a",{href:a.raw,target:"_blank",rel:"noopener noreferrer",className:`text-sm text-primary hover:underline truncate ${a.mono?"font-mono":""}`,children:a.value}):(0,d.jsx)("span",{className:`text-sm text-text-main truncate ${a.mono?"font-mono":""}`,children:a.value})]},a.key)),j&&(0,d.jsxs)("div",{className:"flex items-start gap-3 min-w-0 sm:col-span-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted w-28 shrink-0 mt-0.5",children:"Notice"}),(0,d.jsx)("span",{className:"text-sm text-text-main leading-relaxed",children:j})]})]})]})}},17660:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({children:a,title:b,subtitle:c,icon:g,action:h,padding:i="md",hover:j=!1,elev:k=!1,className:l,...m}){return(0,d.jsxs)("div",{className:(0,e.cn)("bg-surface border border-border-subtle",k?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[var(--shadow-soft)]",j&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],l),...m,children:[(b||h)&&(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[g&&(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:g})}),(0,d.jsxs)("div",{children:[b&&(0,d.jsx)("h3",{className:"text-text-main font-semibold",children:b}),c&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:c})]})]}),h]}),a]})}f.Section=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",b),...c,children:a})},f.Row=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",b),...c,children:a})},f.ListItem=function({children:a,actions:b,className:c,...f}){return(0,d.jsxs)("div",{className:(0,e.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",c),...f,children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:a}),b&&(0,d.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:b})]})}},20084:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(95145);function g({isOpen:a,onClose:b,onAdd:c,addedNames:h=[]}){let[i,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("all"),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)({}),[w,x]=(0,e.useState)({}),[y,z]=(0,e.useState)({}),A=(0,e.useMemo)(()=>new Set(h),[h]),B=(0,e.useMemo)(()=>{let a=m.trim().toLowerCase();return i.filter(b=>("authless"!==o||!b.oauth)&&("oauth"!==o||!!b.oauth)&&(!a||(b.title||"").toLowerCase().includes(a)||(b.description||"").toLowerCase().includes(a)||(b.name||"").toLowerCase().includes(a)))},[i,m,o]),C=async a=>{if(!u[a.url]){x(b=>({...b,[a.url]:!0}));try{let b=await fetch("/api/cli-tools/cowork-mcp-tools",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:a.url})}),c=await b.json(),d=c.tools||[],e=Array.isArray(a.toolNames)?a.toolNames:[],f=d.length>0?d.map(a=>a.name):e;v(b=>({...b,[a.url]:{tools:d,requiresAuth:!!c.requiresAuth,error:c.error}})),z(b=>({...b,[a.url]:Object.fromEntries(f.map(a=>[a,!0]))}))}catch(b){v(c=>({...c,[a.url]:{tools:[],error:b.message}}))}finally{x(b=>({...b,[a.url]:!1}))}}},D=(a,b)=>{let c=y[a]||{};z(d=>({...d,[a]:Object.fromEntries(Object.keys(c).map(a=>[a,b]))}))};return(0,d.jsx)(f.default,{isOpen:a,onClose:b,title:"Browse MCP Marketplace",size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"Search by name or description...",className:"flex-1 px-2 py-1.5 bg-surface rounded text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50"}),(0,d.jsxs)("select",{value:o,onChange:a=>p(a.target.value),className:"px-2 py-1.5 bg-surface rounded text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,d.jsx)("option",{value:"all",children:"All"}),(0,d.jsx)("option",{value:"authless",children:"Authless"}),(0,d.jsx)("option",{value:"oauth",children:"OAuth"})]})]}),q&&(0,d.jsx)("div",{className:"px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:q}),k&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-text-muted text-xs py-4 justify-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}),(0,d.jsx)("span",{children:"Loading registry..."})]}),!k&&(0,d.jsxs)("div",{className:"flex flex-col gap-1 max-h-[60vh] overflow-y-auto",children:[0===B.length&&(0,d.jsx)("div",{className:"text-center text-xs text-text-muted py-6",children:"No servers match filter"}),B.map(a=>{let b=A.has(a.slug||a.name),e=s===a.url,f=u[a.url],g=w[a.url],h=y[a.url]||{},i=Object.keys(h),j=Object.values(h).filter(Boolean).length;return(0,d.jsxs)("div",{className:"rounded border border-transparent hover:border-border",children:[(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5",children:[a.iconUrl?(0,d.jsx)("img",{src:a.iconUrl,alt:"",className:"size-7 rounded shrink-0 object-contain",onError:a=>{a.target.style.display="none"}}):(0,d.jsx)("div",{className:"size-7 rounded bg-surface shrink-0"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,d.jsx)("span",{className:"font-medium text-xs",children:a.title}),a.oauth?(0,d.jsx)("span",{className:"px-1 py-0.5 text-[9px] rounded bg-amber-500/10 text-amber-600",children:"OAuth"}):(0,d.jsx)("span",{className:"px-1 py-0.5 text-[9px] rounded bg-green-500/10 text-green-600",children:"Authless"}),a.toolCount>0&&(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:[a.toolCount," tools"]})]}),a.description&&(0,d.jsx)("p",{className:"text-[10px] text-text-muted line-clamp-2 mt-0.5",children:a.description})]}),(0,d.jsx)("button",{onClick:()=>b?null:void(s===a.url?t(null):(t(a.url),C(a))),disabled:b,className:`shrink-0 px-2 py-1 rounded text-[10px] font-medium transition-colors ${b?"bg-green-500/10 text-green-600 cursor-default":e?"bg-surface border border-border text-text-muted hover:bg-black/5":"bg-primary/10 border border-primary/40 text-primary hover:bg-primary/20"}`,children:b?"Added":e?"Cancel":"+ Add"})]}),e&&(0,d.jsxs)("div",{className:"px-3 py-2 bg-surface/40 border-t border-border flex flex-col gap-2",children:[g&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-text-muted text-[10px] py-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[14px]",children:"progress_activity"}),(0,d.jsx)("span",{children:"Probing server for tools..."})]}),!g&&f?.requiresAuth&&(0,d.jsx)("p",{className:"text-[10px] text-amber-600 bg-amber-500/10 px-2 py-1 rounded",children:"\uD83D\uDD10 OAuth required. Add now and authenticate after Apply; tool list will be discovered after first connect."}),!g&&f?.error&&!f?.requiresAuth&&(0,d.jsxs)("p",{className:"text-[10px] text-red-600 bg-red-500/10 px-2 py-1 rounded",children:["Probe failed: ",f.error]}),!g&&0===i.length&&!f?.requiresAuth&&!f?.error&&(0,d.jsx)("p",{className:"text-[10px] text-text-muted",children:"No tools advertised by server."}),!g&&i.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:[j,"/",i.length," tools enabled"]}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)("button",{onClick:()=>D(a.url,!0),className:"text-[10px] text-primary hover:underline",children:"All"}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"\xb7"}),(0,d.jsx)("button",{onClick:()=>D(a.url,!1),className:"text-[10px] text-primary hover:underline",children:"None"})]})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-1 max-h-40 overflow-y-auto",children:i.map(b=>(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-[10px] cursor-pointer hover:bg-black/5 dark:hover:bg-white/5 px-1 rounded",children:[(0,d.jsx)("input",{type:"checkbox",checked:!!h[b],onChange:()=>{var c;return c=a.url,void z(a=>({...a,[c]:{...a[c],[b]:!a[c]?.[b]}}))},className:"size-3"}),(0,d.jsx)("span",{className:"truncate",children:b})]},b))})]}),(0,d.jsx)("button",{onClick:()=>{let b,d;return d=Object.keys(b=y[a.url]||{}).filter(a=>b[a]),void(c?.({name:a.slug||a.name,title:a.title,description:a.description,url:a.url,transport:a.transport,oauth:a.oauth,toolNames:d}),t(null))},className:"self-end px-2 py-1 rounded text-[10px] font-medium bg-primary text-white hover:bg-primary/90",children:"✓ Confirm Add"})]})]},a.url)})]}),(0,d.jsxs)("div",{className:"text-[10px] text-text-muted text-right",children:[B.length," of ",i.length," servers"]})]})})}},25919:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({src:a,alt:b="Avatar",name:c,size:g="md",className:h}){let i={xs:"size-6 text-xs",sm:"size-8 text-sm",md:"size-10 text-base",lg:"size-12 text-lg",xl:"size-16 text-xl"};return a?(0,d.jsx)("div",{className:(0,e.cn)("rounded-full bg-cover bg-center bg-no-repeat","ring-2 ring-white dark:ring-surface-dark shadow-sm",i[g],h),style:{backgroundImage:`url(${a})`},role:"img","aria-label":b}):(0,d.jsx)("div",{className:(0,e.cn)("rounded-full flex items-center justify-center font-semibold text-white","ring-2 ring-white dark:ring-surface-dark shadow-sm",i[g],(a=>{if(!a)return"bg-primary";let b=["bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500"],c=a.charCodeAt(0)%b.length;return b[c]})(c),h),role:"img","aria-label":b,children:(a=>{if(!a)return"?";let b=a.split(" ");return b.length>=2?`${b[0][0]}${b[1][0]}`.toUpperCase():a.substring(0,2).toUpperCase()})(c)})}},32971:(a,b,c)=>{c.d(b,{default:()=>e});var d=c(48249);function e({text:a,children:b,position:c="top",color:f}){let g=f?"":"bg-gray-900";return(0,d.jsxs)("div",{className:"relative inline-flex group",children:[b,(0,d.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[c]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug ${g} text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,style:f?{backgroundColor:f}:{},children:a})]})}},37365:(a,b,c)=>{c.d(b,{C:()=>d});let d=(0,c(31417).v)(a=>({query:"",placeholder:"",visible:!1,setQuery:b=>a({query:b}),register:(b="Search...")=>a({visible:!0,placeholder:b,query:""}),unregister:()=>a({visible:!1,placeholder:"",query:""})}))},39645:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(95145),g=c(99070),h=c(50377);function i({isOpen:a,onClose:b,title:c="Manual Configuration",configs:j=[]}){let{copy:k}=(0,h.C)(),[l,m]=(0,e.useState)(null);return(0,d.jsx)(f.default,{isOpen:a,onClose:b,title:c,size:"xl",children:(0,d.jsx)("div",{className:"flex flex-col gap-4",children:j.map((a,b)=>(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:a.filename}),(0,d.jsxs)(g.default,{variant:"ghost",size:"sm",onClick:()=>{var c;return c=a.content,void(k(c,`manualconfig-${b}`),m(b),setTimeout(()=>m(null),2e3))},children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1",children:l===b?"check":"content_copy"}),l===b?"Copied!":"Copy"]})]}),(0,d.jsx)("pre",{className:"px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs overflow-x-auto whitespace-pre-wrap break-all max-h-60 overflow-y-auto border border-border",children:a.content})]},b))})})}},41371:(a,b,c)=>{c.d(b,{i:()=>f});var d=c(31417);let e=0,f=(0,d.v)((a,b)=>({notifications:[],addNotification:c=>{let d=++e,f={id:d,type:c.type||"info",message:c.message,title:c.title||null,duration:c.duration??5e3,dismissible:c.dismissible??!0,createdAt:Date.now()};return a(a=>({notifications:[...a.notifications,f]})),f.duration>0&&setTimeout(()=>b().removeNotification(d),f.duration),d},removeNotification:b=>{a(a=>({notifications:a.notifications.filter(a=>a.id!==b)}))},clearAll:()=>a({notifications:[]}),success:(a,c)=>b().addNotification({type:"success",message:a,title:c}),error:(a,c)=>b().addNotification({type:"error",message:a,title:c,duration:8e3}),warning:(a,c)=>b().addNotification({type:"warning",message:a,title:c}),info:(a,c)=>b().addNotification({type:"info",message:a,title:c})}))},42118:(a,b,c)=>{c.d(b,{D:()=>i});var d=c(67484),e=c(13033);function f(a){return()=>{}}function g(){return!1}function h(){return!1}function i(){let{theme:a,setTheme:b,toggleTheme:c,initTheme:i}=(0,e.A)(),j=(0,d.useSyncExternalStore)(f,g,h);return{theme:a,setTheme:b,toggleTheme:c,isDark:"dark"===a||"system"===a&&j}}},42196:(a,b,c)=>{c.d(b,{default:()=>v});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(2116),i=c.n(h),j=c(19099),k=c(71404),l=c(12020),m=c(96919),n=c(50377),o=c(99070),p=c(95145);let q=["embedding","image","tts","stt","video"],r="/dashboard/media-providers/web",s=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],t=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"},{href:"/dashboard/translator",label:"Translator",icon:"translate"}],u=[{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/skills",label:"Skills",icon:"extension"}];function v({onClose:a}){let b=(0,j.usePathname)(),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!1),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(""),[J,K]=(0,e.useState)(0),[L,M]=(0,e.useState)(!1),{copied:N,copy:O}=(0,n.C)(2e3),P=F?.latestVersion||"",Q=!!F?.updateAvailable,R=F?.installCmdLatest||l.h0.installCmdLatest,S=a=>"/dashboard/endpoint"===a?"/dashboard"===b||b.startsWith("/dashboard/endpoint"):b.startsWith(a),T=async()=>{try{await navigator.clipboard.writeText(R)}catch{}O(R);let a=l.h0.shutdownCountdownSec;K(a);let b=setInterval(()=>{K(a-=1),a<=0&&(clearInterval(b),A(!0))},1e3)},U=async()=>{y(!0);try{await fetch("/api/shutdown",{method:"POST"})}catch(a){}y(!1),h(!1),A(!0)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("aside",{className:"flex w-72 flex-col border-r border-border-subtle bg-vibrancy backdrop-blur-xl transition-colors duration-300 min-h-full",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,d.jsx)("div",{className:"px-6 py-4 flex flex-col gap-2",children:(0,d.jsxs)(i(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-9 rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 shadow-[var(--shadow-warm)]",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-white text-[20px]",children:"hub"})}),(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:l.vQ.name}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["v",l.vQ.version]})]})]})}),(0,d.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto custom-scrollbar",children:[s.map(b=>(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href)),(0,d.jsxs)("div",{className:"pt-3 mt-2 space-y-0.5",children:[(0,d.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),(0,d.jsxs)("button",{onClick:()=>f(a=>!a),className:(0,k.cn)("w-full flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",b.startsWith("/dashboard/media-providers")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"perm_media"}),(0,d.jsx)("span",{className:"text-[13px] font-medium flex-1 text-left",children:"Media Providers"}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] transition-transform",style:{transform:c?"rotate(180deg)":"rotate(0deg)"},children:"expand_more"})]}),c&&(0,d.jsxs)("div",{className:"pl-4",children:[m.rj.filter(a=>q.includes(a.id)).map(c=>(0,d.jsxs)(i(),{href:`/dashboard/media-providers/${c.id}`,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",b.startsWith(`/dashboard/media-providers/${c.id}`)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:c.icon}),(0,d.jsx)("span",{className:"text-sm",children:c.label})]},c.id)),(0,d.jsxs)(i(),{href:r,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",b.startsWith(r)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"travel_explore"}),(0,d.jsx)("span",{className:"text-sm",children:"Web Fetch & Search"})]},"web")]}),u.map(b=>(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href)),t.map(b=>"/dashboard/translator"!==b.href||L?(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href):null),(0,d.jsxs)(i(),{href:"/dashboard/profile",onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S("/dashboard/profile")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S("/dashboard/profile")?"fill-1":"group-hover:text-primary transition-colors"),children:"settings"}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:"Settings"})]})]})]}),(0,d.jsxs)("div",{className:"p-3 border-t border-border-subtle space-y-2",children:[Q&&(0,d.jsxs)("button",{onClick:()=>C(!0),className:"w-full rounded-lg border border-amber-400/30 bg-amber-400/10 px-3 py-2 text-left text-xs text-amber-500 transition-colors hover:bg-amber-400/15",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"upgrade"}),"Update available"]}),(0,d.jsxs)("span",{className:"mt-0.5 block text-[11px] text-text-muted",children:["v",l.vQ.version," → v",P]})]}),!Q&&H&&(0,d.jsx)("p",{className:"px-1 text-[11px] text-text-muted",title:H,children:"Update check unavailable"}),(0,d.jsx)(o.default,{variant:"outline",fullWidth:!0,icon:"power_settings_new",onClick:()=>h(!0),className:"text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300",children:"Shutdown"})]})]}),(0,d.jsx)(p.ConfirmModal,{isOpen:g,onClose:()=>h(!1),onConfirm:U,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:x}),(0,d.jsx)(p.ConfirmModal,{isOpen:B,onClose:()=>C(!1),onConfirm:()=>{C(!1),E(!0)},title:"Update KTRouter",message:Q?`KTRouter v${P} is available. Current version: v${l.vQ.version}.`:"Show the update install command.",confirmText:"Show Command",cancelText:"Cancel",variant:"primary"}),(z||D)&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm p-6",children:D?(0,d.jsx)(w,{latestVersion:P,installCmd:R,copied:N,onCopyAndShutdown:T,onCancel:()=>{E(!1),K(0)},countdown:J,isDisconnected:z}):(0,d.jsxs)("div",{className:"text-center p-8",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,d.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,d.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,d.jsx)(o.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}function w({latestVersion:a,installCmd:b,copied:c,onCopyAndShutdown:e,onCancel:f,countdown:g,isDisconnected:h}){let i=g>0;return(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl bg-neutral-900/95 border border-white/10 p-6 text-white",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-500/20 text-amber-400",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[24px]",children:"content_copy"})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Update KTRouter",a?` to v${a}`:""]}),(0,d.jsx)("p",{className:"text-xs text-white/60",children:h?"Server stopped. Paste the command into a terminal to install.":i?`Command copied. Server will stop in ${g}s...`:"Click the button below to copy the install command and shutdown."})]})]}),(0,d.jsx)("p",{className:"text-sm text-white/80 mb-2",children:"Install command:"}),(0,d.jsx)("div",{className:"w-full px-3 py-2 rounded bg-white/5 mb-4",children:(0,d.jsx)("code",{className:"text-xs font-mono text-amber-400 break-all",children:b})}),(0,d.jsxs)("ol",{className:"text-xs text-white/70 space-y-1 list-decimal list-inside mb-4",children:[(0,d.jsxs)("li",{children:["Click ",(0,d.jsx)("strong",{children:"Copy & Shutdown"})," below."]}),(0,d.jsx)("li",{children:"Paste the command into your terminal and press Enter."}),(0,d.jsxs)("li",{children:["Run ",(0,d.jsx)("code",{className:"px-1 rounded bg-white/10 text-green-400",children:"ktrouter"})," again after install."]})]}),h?(0,d.jsx)(o.default,{variant:"secondary",fullWidth:!0,onClick:()=>globalThis.location.reload(),children:"Reload Page"}):(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(o.default,{variant:"secondary",onClick:f,disabled:i,children:"Cancel"}),(0,d.jsx)(o.default,{variant:"primary",fullWidth:!0,onClick:e,disabled:i,children:c?"✓ Copied — shutting down...":i?`Shutting down in ${g}s`:"Copy & Shutdown"})]})]})}v.propTypes={onClose:g().func},w.propTypes={latestVersion:g().string,installCmd:g().string.isRequired,copied:g().bool,onCopyAndShutdown:g().func.isRequired,onCancel:g().func.isRequired,countdown:g().number,isDisconnected:g().bool}},43182:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);let i="https://gitlab.com";function j({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(i),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null),B=()=>{k(null),m(i),o(""),q(""),s(""),w(null),u(!1),y(!1),A(null),f()},C=async()=>{if(!r.trim())return void w("Personal Access Token is required");u(!0),w(null);try{let a=await fetch("/api/oauth/gitlab/pat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:r.trim(),baseUrl:l.trim()||i})}),b=await a.json();if(!a.ok)throw Error(b.error||"Authentication failed");c?.(),B()}catch(a){w(a.message)}finally{u(!1)}};return a?x&&z?(0,d.jsx)(h.LF,{isOpen:!0,provider:"gitlab",providerInfo:b,oauthMeta:z,onSuccess:()=>{c?.(),B()},onClose:()=>{y(!1),A(null)}}):(0,d.jsx)(h.aF,{isOpen:a,title:"Connect GitLab Duo",onClose:B,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Choose how to authenticate with GitLab Duo:"}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,d.jsxs)("button",{onClick:()=>k("oauth"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"lock_open"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"OAuth App"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab OAuth application"})]})]}),(0,d.jsxs)("button",{onClick:()=>k("pat"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"key"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"Personal Access Token"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab PAT with api scope"})]})]})]})]}),"oauth"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Create an OAuth app at"," ",(0,d.jsx)("a",{href:`${l.trim()||i}/-/profile/applications`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Applications"})," ","with redirect URI"," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"http://localhost/callback"})]}),(0,d.jsx)(h.pd,{label:"GitLab Base URL",value:l,onChange:a=>m(a.target.value),placeholder:i}),(0,d.jsx)(h.pd,{label:"Client ID",value:n,onChange:a=>o(a.target.value),placeholder:"Your OAuth application client ID"}),(0,d.jsx)(h.pd,{label:"Client Secret (optional for PKCE)",value:p,onChange:a=>q(a.target.value),placeholder:"Leave empty for public PKCE app"}),v&&(0,d.jsx)("p",{className:"text-sm text-red-500",children:v}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{n.trim()?(w(null),A({baseUrl:l.trim()||i,clientId:n.trim(),clientSecret:p.trim()}),y(!0)):w("Client ID is required")},fullWidth:!0,disabled:!n.trim(),children:"Authorize"}),(0,d.jsx)(h.$n,{onClick:()=>{k(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"pat"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Create a PAT at"," ",(0,d.jsx)("a",{href:`${l.trim()||i}/-/user_settings/personal_access_tokens`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Access Tokens"})," ","with scopes: ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"api"}),","," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"read_user"}),", and"," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"ai_features"}),"."]}),(0,d.jsx)(h.pd,{label:"GitLab Base URL",value:l,onChange:a=>m(a.target.value),placeholder:i}),(0,d.jsx)(h.pd,{label:"Personal Access Token",value:r,onChange:a=>s(a.target.value),placeholder:"glpat-xxxxxxxxxxxxxxxxxxxx",type:"password"}),v&&(0,d.jsx)("p",{className:"text-sm text-red-500",children:v}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:C,fullWidth:!0,disabled:!r.trim()||t,loading:t,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>{k(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})}):null}j.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},48437:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(84808),i=c(79346);function j({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)(null),l=(0,e.useCallback)(a=>{"browser"===a&&k("browser")},[]),m=(0,e.useCallback)(()=>{c?.()},[c]);return g?"browser"===g?(0,d.jsx)(i.default,{isOpen:a,provider:"codex",providerInfo:b,onSuccess:()=>{k(null),c?.(),f?.()},onClose:()=>{k(null)}}):null:(0,d.jsx)(h.default,{isOpen:a,onMethodSelect:l,onImportSuccess:m,onClose:f})}j.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},48781:(a,b,c)=>{c.d(b,{default:()=>k});var d=c(48249),e=c(2116),f=c.n(e),g=c(12020);let h=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],i=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],j=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function k(){return(0,d.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,d.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,d.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,d.jsx)("div",{className:"size-6 text-primary",children:(0,d.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,d.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,d.jsx)("span",{className:"text-xl font-bold text-text-main",children:g.vQ.name})]}),(0,d.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,d.jsxs)("div",{className:"flex gap-4",children:[(0,d.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,d.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:h.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:j.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",g.vQ.name," Inc. All rights reserved."]}),(0,d.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,d.jsx)(f(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,d.jsx)(f(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},50377:(a,b,c)=>{c.d(b,{C:()=>e});var d=c(67484);function e(a=2e3){let[b,c]=(0,d.useState)(null),f=(0,d.useRef)(null);return{copied:b,copy:(0,d.useCallback)((b,d="default")=>{(async()=>{if(navigator?.clipboard?.writeText)await navigator.clipboard.writeText(b);else{let a=document.createElement("textarea");a.value=b,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}})(),c(d),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{c(null)},a)},[a])}}},50412:(a,b,c)=>{c.d(b,{x0:()=>y.default,Ex:()=>j.default,$n:()=>d.default,Zp:()=>g.default,Qv:()=>i.CardSkeleton,K3:()=>t.default,CK:()=>o.default,uo:()=>h.ConfirmModal,G9:()=>u.default,wI:()=>x.default,vj:()=>w.default,vE:()=>v.default,pd:()=>e.default,Mh:()=>s.default,uR:()=>n.default,Nf:()=>p.default,aF:()=>h.default,rq:()=>m.default,gw:()=>z.default,LF:()=>l.default,Wx:()=>C.default,gM:()=>r.default,Iz:()=>A.default,l6:()=>f.default,lM:()=>k.default,m_:()=>B.default,jK:()=>q.default});var d=c(99070),e=c(83552),f=c(4770),g=c(17660),h=c(95145),i=c(74812);c(25919);var j=c(75171),k=c(95514);c(53845),c(19308),c(42196),c(86739),c(48781);var l=c(79346),m=c(83352),n=c(39645),o=c(62727),p=c(20084),q=c(87226);c(267),c(3236),c(11229);var r=c(91809);c(86209);var s=c(5291);c(56110),c(84808);var t=c(48437),u=c(51109),v=c(79488),w=c(43182),x=c(51585),y=c(67738),z=c(50585),A=c(91099),B=c(32971),C=c(11633);c(85306),c(53838)},50585:(a,b,c)=>{c.d(b,{default:()=>l});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(17660),i=c(4770),j=c(75171);let k="__none__";function l({providerId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(k),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(!1),q=async b=>{g(b),n(!0);try{let c=await fetch("/api/settings",{cache:"no-store"}),d=(c.ok?await c.json():{}).providerStrategies||{},e={...d[a]||{}};b===k?delete e.proxyPoolId:e.proxyPoolId=b;let f={...d};0===Object.keys(e).length?delete f[a]:f[a]=e,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:f})}),p(!0),setTimeout(()=>p(!1),1500)}catch(a){console.log("Save proxyPoolId error:",a)}finally{n(!1)}};return(0,d.jsxs)(h.default,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-10 h-10 rounded-full bg-green-500/10 text-green-500",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"lock_open"})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"No authentication required"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"This provider is ready to use. Optionally route requests through a proxy pool to bypass IP-based limits."})]}),o&&(0,d.jsx)(j.default,{variant:"success",size:"sm",children:"Saved"})]}),(0,d.jsx)(i.default,{label:"Proxy Pool",value:f,onChange:a=>q(a.target.value),disabled:m,options:[{value:k,label:"None (direct)"},...b.map(a=>({value:a.id,label:a.name}))]})]})}l.propTypes={providerId:g().string.isRequired}},51109:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onSuccess:b,onClose:c}){let[f,g]=(0,e.useState)(""),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(!1),v=async()=>{q(!0),m(null),s(!1),u(!1);try{let a=await fetch("/api/oauth/cursor/auto-import"),b=await a.json();b.found?(g(b.accessToken),k(b.machineId),s(!0)):b.windowsManual?u(!0):m(b.error||"Could not auto-detect tokens")}catch(a){m("Failed to auto-detect tokens")}finally{q(!1)}},w=async()=>{if(!f.trim())return void m("Please enter an access token");if(!j.trim())return void m("Please enter a machine ID");o(!0),m(null);try{let a=await fetch("/api/oauth/cursor/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:f.trim(),machineId:j.trim()})}),d=await a.json();if(!a.ok)throw Error(d.error||"Import failed");b?.(),c()}catch(a){m(a.message)}finally{o(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Cursor IDE",onClose:c,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[p&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting tokens..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from Cursor IDE database"})]}),!p&&(0,d.jsxs)(d.Fragment,{children:[r&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Tokens auto-detected from Cursor IDE successfully!"})]})}),t&&(0,d.jsxs)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-3 rounded-lg border border-amber-200 dark:border-amber-800 flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm font-medium text-amber-800 dark:text-amber-200",children:"Could not read Cursor database automatically."})]}),(0,d.jsxs)("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:["Make sure Cursor IDE has been opened at least once, then click ",(0,d.jsx)("strong",{children:"Retry"}),". If the problem persists, paste your tokens manually below."]}),(0,d.jsx)(h.$n,{onClick:v,variant:"outline",fullWidth:!0,children:"Retry"})]}),!r&&!t&&!l&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Cursor IDE not detected. Please paste your tokens manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Access Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"Access token will be auto-filled...",rows:3,className:"w-full px-3 py-2 text-sm font-mono border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Machine ID ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:j,onChange:a=>k(a.target.value),placeholder:"Machine ID will be auto-filled...",className:"font-mono text-sm"})]}),l&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:l})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:w,fullWidth:!0,disabled:n||!f.trim()||!j.trim(),children:n?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:c,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onSuccess:g().func,onClose:g().func.isRequired}},51585:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(95145),i=c(83552),j=c(99070),k=c(75171),l=c(96919);function m({isOpen:a,connection:b,proxyPools:c,onSave:f,onClose:g}){let[n,o]=(0,e.useState)({name:"",priority:1,apiKey:""}),[p,q]=(0,e.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),[r,s]=(0,e.useState)({accountId:""}),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(!1),D=b?.authType==="oauth",E=b?.provider==="azure",F=b?.provider==="cloudflare-ai",G=!!b&&((0,l.mq)(b.provider)||(0,l.gb)(b.provider)),H=()=>{let a={...b?.providerSpecificData||{}};return E&&Object.assign(a,p),F&&Object.assign(a,r),Object.keys(a).length>0?a:void 0},I=async()=>{if(b?.provider){u(!0),w(null);try{let a=await fetch(`/api/providers/${b.id}/test`,{method:"POST"}),c=await a.json();w(c.valid?"success":"failed")}catch{w("failed")}finally{u(!1)}}},J=async()=>{if(b?.provider&&n.apiKey){y(!0),A(null);try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:n.apiKey,providerSpecificData:H()})}),c=await a.json();A(c.valid?"success":"failed")}catch{A("failed")}finally{y(!1)}}},K=async()=>{if(b){C(!0);try{let a={name:n.name,priority:n.priority};if(!D&&n.apiKey){a.apiKey=n.apiKey;let c="success"===z;if(!c)try{y(!0),A(null);let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:n.apiKey,providerSpecificData:H()})});c=!!(await a.json()).valid,A(c?"success":"failed")}catch{A("failed")}finally{y(!1)}c&&(a.testStatus="active",a.lastError=null,a.lastErrorAt=null)}E&&(a.providerSpecificData={azureEndpoint:p.azureEndpoint,apiVersion:p.apiVersion,deployment:p.deployment,organization:p.organization}),F&&(a.providerSpecificData={accountId:r.accountId}),await f(a)}finally{C(!1)}}};return b?(0,d.jsx)(h.default,{isOpen:a,title:"Edit Connection",onClose:g,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(i.default,{label:"Name",value:n.name,onChange:a=>o({...n,name:a.target.value}),placeholder:D?"Account name":"Production Key"}),D&&b.email&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,d.jsx)("p",{className:"font-medium",children:b.email})]}),(0,d.jsx)(i.default,{label:"Priority",type:"number",value:n.priority,onChange:a=>o({...n,priority:Number.parseInt(a.target.value,10)||1})}),!D&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.default,{label:"API Key",type:"password",value:n.apiKey,onChange:a=>o({...n,apiKey:a.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(j.default,{onClick:J,disabled:!n.apiKey||x||B,variant:"secondary",children:x?"Checking...":"Check"})})]}),z&&(0,d.jsx)(k.default,{variant:"success"===z?"success":"error",children:"success"===z?"Valid":"Invalid"})]}),E&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,d.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)(i.default,{label:"Azure Endpoint",value:p.azureEndpoint,onChange:a=>q({...p,azureEndpoint:a.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,d.jsx)(i.default,{label:"Deployment Name",value:p.deployment,onChange:a=>q({...p,deployment:a.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,d.jsx)(i.default,{label:"API Version",value:p.apiVersion,onChange:a=>q({...p,apiVersion:a.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,d.jsx)(i.default,{label:"Organization",value:p.organization,onChange:a=>q({...p,organization:a.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),!G&&!E&&!F&&(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(j.default,{onClick:I,variant:"secondary",disabled:t,children:t?"Testing...":"Test Connection"}),v&&(0,d.jsx)(k.default,{variant:"success"===v?"success":"error",children:"success"===v?"Valid":"Failed"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(j.default,{onClick:K,fullWidth:!0,disabled:B,children:B?"Saving...":"Save"}),(0,d.jsx)(j.default,{onClick:g,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}m.propTypes={isOpen:g().bool.isRequired,connection:g().shape({id:g().string,name:g().string,email:g().string,priority:g().number,authType:g().string,provider:g().string,providerSpecificData:g().object}),proxyPools:g().arrayOf(g().shape({id:g().string,name:g().string})),onSave:g().func.isRequired,onClose:g().func.isRequired}},53838:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(49885),f=c.n(e),g=c(53845);function h({children:a}){return(0,d.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,d.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,d.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,d.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,d.jsx)(g.default,{variant:"card"})}),(0,d.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:a})]})}h.propTypes={children:f().node.isRequired}},53845:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(42118),f=c(71404);function g({className:a,variant:b="default"}){let{isDark:c,toggleTheme:h}=(0,e.D)(),i={default:(0,f.cn)("flex items-center justify-center size-10 rounded-full","text-text-muted hover:text-text-main","hover:bg-surface-2 transition-colors"),card:(0,f.cn)("flex items-center justify-center size-11 rounded-full","bg-surface/60 hover:bg-surface","border border-border","backdrop-blur-md shadow-sm hover:shadow-[var(--shadow-warm)]","text-text-muted hover:text-brand-500","transition-all group")};return(0,d.jsx)("button",{onClick:h,className:(0,f.cn)(i[b],a),"aria-label":`Switch to ${c?"light":"dark"} mode`,title:`Switch to ${c?"light":"dark"} mode`,children:(0,d.jsx)("span",{className:(0,f.cn)("material-symbols-outlined text-[22px]","card"===b&&"transition-transform duration-300 group-hover:rotate-12"),children:c?"light_mode":"dark_mode"})})}},56110:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377);function j({isOpen:a,provider:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)("loading"),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)(null),{copied:t,copy:u}=(0,i.C)(),v=async()=>{try{let a;s(null);try{a=new URL(p)}catch(a){throw Error("Invalid callback URL format")}let d=a.searchParams.get("code"),e=a.searchParams.get("state"),f=a.searchParams.get("error");if(f)throw Error(a.searchParams.get("error_description")||f);if(!d)throw Error("No authorization code found in URL");if(n?.state&&e&&e!==n.state)throw Error("State mismatch - login failed");let g=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:d,codeVerifier:n.codeVerifier,state:e,expectedState:n.state,provider:b})}),h=await g.json();if(!g.ok)throw Error(h.error);k("success"),c?.()}catch(a){s(a.message),k("error")}},w="google"===b?"Google":"GitHub";return(0,d.jsx)(h.aF,{isOpen:a,title:`Connect Kiro via ${w}`,onClose:f,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",w," authentication"]})]}),"input"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:l,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"auth_url"===t?"check":"content_copy",onClick:()=>u(l,"auth_url"),children:"Copy"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,d.jsx)(h.pd,{value:p,onChange:a=>q(a.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:v,fullWidth:!0,disabled:!p,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:f,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,d.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",w," has been connected."]}),(0,d.jsx)(h.$n,{onClick:f,fullWidth:!0,children:"Done"})]}),"error"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,d.jsx)("p",{className:"text-sm text-red-600 mb-4",children:r}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>k("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,d.jsx)(h.$n,{onClick:f,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}j.propTypes={isOpen:g().bool.isRequired,provider:g().oneOf(["google","github"]).isRequired,onSuccess:g().func,onClose:g().func.isRequired}},62727:(a,b,c)=>{c.d(b,{default:()=>l});var d=c(48249),e=c(67484),f=c(95145),g=c(83552),h=c(99070),i=c(83352);let j=/^[a-zA-Z0-9_.\-]+$/;function k({index:a,model:b,isFirst:c,isLast:f,onEdit:g,onMoveUp:h,onMoveDown:i,onRemove:j}){let[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(b),p=()=>{let a=n.trim();a&&a!==b?g(a):o(b),m(!1)};return(0,d.jsxs)("div",{className:"group flex min-w-0 items-center gap-1.5 rounded-md bg-black/[0.02] px-2 py-1 transition-colors hover:bg-black/[0.04] dark:bg-white/[0.02] dark:hover:bg-white/[0.04]",children:[(0,d.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-3 text-center shrink-0",children:a+1}),l?(0,d.jsx)("input",{autoFocus:!0,value:n,onChange:a=>o(a.target.value),onBlur:p,onKeyDown:a=>{"Enter"===a.key&&p(),"Escape"===a.key&&(o(b),m(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-white px-1.5 py-0.5 font-mono text-xs text-text-main outline-none dark:bg-black/20"}):(0,d.jsx)("div",{className:"min-w-0 flex-1 cursor-text truncate rounded px-1.5 py-0.5 font-mono text-xs text-text-main hover:bg-black/5 dark:hover:bg-white/5",onClick:()=>m(!0),title:"Click to edit",children:b}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[(0,d.jsx)("button",{onClick:h,disabled:c,className:`p-0.5 rounded ${c?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move up",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_upward"})}),(0,d.jsx)("button",{onClick:i,disabled:f,className:`p-0.5 rounded ${f?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move down",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_downward"})})]}),(0,d.jsx)("button",{onClick:j,className:"p-0.5 hover:bg-red-500/10 rounded text-text-muted hover:text-red-500 transition-all",title:"Remove",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"close"})})]})}function l({isOpen:a,combo:b,onClose:c,onSave:m,activeProviders:n,kindFilter:o=null,forcePrefix:p="",title:q}){let r=b?.name?p&&b.name.startsWith(p)?b.name.slice(p.length):b.name:"",[s,t]=(0,e.useState)(r),[u,v]=(0,e.useState)(b?.models||[]),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)({}),E=a=>{if(!a.trim())return B("Name is required"),!1;let b=p+a;return j.test(b)?(B(""),!0):(B("Only letters, numbers, -, _ and . allowed"),!1)},F=a=>{let b=a.target.value;p&&b.startsWith(p)&&(b=b.slice(p.length)),t(b),b?E(b):B("")},G=async()=>{E(s)&&(z(!0),await m({name:p+s.trim(),models:u}),z(!1))},H=!!b;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{isOpen:a,onClose:c,title:q||(H?"Edit Combo":"Create Combo"),children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{children:[p?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("label",{className:"text-sm font-medium mb-1 block",children:"Combo Name"}),(0,d.jsxs)("div",{className:"flex items-stretch",children:[(0,d.jsx)("span",{className:"inline-flex items-center px-2 rounded-l border border-r-0 border-black/10 dark:border-white/10 bg-black/[0.04] dark:bg-white/[0.04] text-text-muted font-mono text-sm",children:p}),(0,d.jsx)("input",{value:s,onChange:F,placeholder:"my-combo",className:"flex-1 min-w-0 rounded-r border border-black/10 dark:border-white/10 bg-white dark:bg-black/20 px-2 py-1.5 font-mono text-sm outline-none focus:border-primary"})]}),A&&(0,d.jsx)("p",{className:"text-[11px] text-red-500 mt-0.5",children:A})]}):(0,d.jsx)(g.default,{label:"Combo Name",value:s,onChange:F,placeholder:"my-combo",error:A}),(0,d.jsxs)("p",{className:"text-[10px] text-text-muted mt-0.5",children:[p?`Auto-prefixed with "${p}". `:"","Only letters, numbers, -, _ and . allowed"]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-sm font-medium mb-1.5 block",children:"Models"}),0===u.length?(0,d.jsxs)("div",{className:"text-center py-4 border border-dashed border-black/10 dark:border-white/10 rounded-lg bg-black/[0.01] dark:bg-white/[0.01]",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-xl mb-1",children:"layers"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"No models added yet"})]}):(0,d.jsx)("div",{className:"flex max-h-[55vh] min-w-0 flex-col gap-1 overflow-y-auto sm:max-h-[350px]",children:u.map((a,b)=>(0,d.jsx)(k,{index:b,model:a,isFirst:0===b,isLast:b===u.length-1,onEdit:a=>{let c=[...u];c[b]=a,v(c)},onMoveUp:()=>(a=>{if(0===a)return;let b=[...u];[b[a-1],b[a]]=[b[a],b[a-1]],v(b)})(b),onMoveDown:()=>(a=>{if(a===u.length-1)return;let b=[...u];[b[a],b[a+1]]=[b[a+1],b[a]],v(b)})(b),onRemove:()=>v(u.filter((a,c)=>c!==b))},b))}),(0,d.jsxs)("button",{onClick:()=>x(!0),className:"w-full mt-2 py-2 border border-dashed border-black/10 dark:border-white/10 rounded-lg text-xs text-primary font-medium hover:text-primary hover:border-primary/50 transition-colors flex items-center justify-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,d.jsx)(h.default,{onClick:c,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,d.jsx)(h.default,{onClick:G,fullWidth:!0,size:"sm",disabled:!s.trim()||!!A||y,children:y?"Saving...":H?"Save":"Create"})]})]})}),(0,d.jsx)(i.default,{isOpen:w,onClose:()=>x(!1),onSelect:a=>{u.includes(a.value)||v([...u,a.value])},onDeselect:a=>{v(u.filter(b=>b!==a.value))},activeProviders:n,modelAliases:C,title:"Add Model to Combo",kindFilter:o,addedModelValues:u,closeOnSelect:!1})]})}},67738:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onClose:b,onCreated:c,onSaved:f,node:g}){let j=!!g,[k,l]=(0,e.useState)({name:"",prefix:"",baseUrl:"https://api.openai.com/v1"}),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),w=async()=>{if(k.name.trim()&&k.prefix.trim()&&k.baseUrl.trim()){n(!0);try{let a=j?`/api/provider-nodes/${g.id}`:"/api/provider-nodes",b={name:k.name,prefix:k.prefix,baseUrl:k.baseUrl};j||(b.type="custom-embedding");let d=await fetch(a,{method:j?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await d.json();d.ok&&(j?f?.(e.node):c?.(e.node))}catch(a){console.log("Error saving custom embedding node:",a)}finally{n(!1)}}},x=async()=>{t(!0);try{let a=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:k.baseUrl,apiKey:o,type:"custom-embedding",modelId:q.trim()||void 0})}),b=await a.json();v(b)}catch{v({valid:!1,error:"Network error"})}finally{t(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:j?"Edit Custom Embedding":"Add Custom Embedding",onClose:b,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Name",value:k.name,onChange:a=>l({...k,name:a.target.value}),placeholder:"Voyage AI",hint:"Required. A friendly label for this embedding provider."}),(0,d.jsx)(h.pd,{label:"Prefix",value:k.prefix,onChange:a=>l({...k,prefix:a.target.value}),placeholder:"voyage",hint:"Required. Used as the provider prefix for model IDs (e.g. voyage/voyage-3)."}),(0,d.jsx)(h.pd,{label:"Base URL",value:k.baseUrl,onChange:a=>l({...k,baseUrl:a.target.value}),placeholder:"https://api.voyageai.com/v1",hint:"Most embedding APIs are OpenAI-compatible: Voyage, Cohere, Jina, Mistral, Together..."}),(0,d.jsx)(h.pd,{label:"API Key (for Check)",type:"password",value:o,onChange:a=>p(a.target.value)}),(0,d.jsx)(h.pd,{label:"Model ID (for Check)",value:q,onChange:a=>r(a.target.value),placeholder:"e.g. voyage-3, embed-english-v3.0, text-embedding-3-small",hint:"Required for validation. Will send a test embeddings request."}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(h.$n,{onClick:x,disabled:!o||!q.trim()||s||!k.baseUrl.trim(),variant:"secondary",children:s?"Checking...":"Check"}),(()=>{if(!u)return null;let{valid:a,error:b,dimensions:c}=u;return a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.Ex,{variant:"success",children:"Valid"}),c&&(0,d.jsxs)("span",{className:"text-sm text-text-muted",children:[c," dims"]})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(h.Ex,{variant:"error",children:"Invalid"}),b&&(0,d.jsx)("span",{className:"text-sm text-red-500",children:b})]})})()]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:w,fullWidth:!0,disabled:!k.name.trim()||!k.prefix.trim()||!k.baseUrl.trim()||m,children:m?j?"Saving...":"Creating...":j?"Save":"Create"}),(0,d.jsx)(h.$n,{onClick:b,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onCreated:g().func,onSaved:g().func,node:g().shape({id:g().string,name:g().string,prefix:g().string,baseUrl:g().string})}},71404:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},72738:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f);function h({src:a,alt:b,size:c=32,className:f="",fallbackText:g="?",fallbackColor:i}){let[j,k]=(0,e.useState)(!1);return!a||j?(0,d.jsx)("span",{className:`inline-flex items-center justify-center font-bold rounded-lg ${f}`.trim(),style:{width:c,height:c,color:i,fontSize:Math.max(10,Math.floor(.38*c))},children:g}):(0,d.jsx)("img",{src:a,alt:b,width:c,height:c,className:f,onError:()=>k(!0)})}h.propTypes={src:g().string,alt:g().string,size:g().number,className:g().string,fallbackText:g().string,fallbackColor:g().string}},74812:(a,b,c)=>{c.d(b,{CardSkeleton:()=>i,PageLoading:()=>g,Skeleton:()=>h,Spinner:()=>f,default:()=>j});var d=c(48249),e=c(71404);function f({size:a="md",className:b}){return(0,d.jsx)("span",{className:(0,e.cn)("material-symbols-outlined animate-spin text-brand-500",{sm:"size-4",md:"size-6",lg:"size-8",xl:"size-12"}[a],b),children:"progress_activity"})}function g({message:a="Loading..."}){return(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center bg-bg",children:[(0,d.jsx)(f,{size:"xl"}),(0,d.jsx)("p",{className:"mt-4 text-text-muted",children:a})]})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("animate-pulse rounded-[10px] bg-surface-2",a),...b})}function i(){return(0,d.jsxs)("div",{className:"p-6 rounded-[14px] border border-border-subtle bg-surface shadow-[var(--shadow-soft)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)(h,{className:"h-4 w-24"}),(0,d.jsx)(h,{className:"size-10 rounded-[10px]"})]}),(0,d.jsx)(h,{className:"h-8 w-16 mb-2"}),(0,d.jsx)(h,{className:"h-3 w-20"})]})}function j({type:a="spinner",...b}){switch(a){case"page":return(0,d.jsx)(g,{...b});case"skeleton":return(0,d.jsx)(h,{...b});case"card":return(0,d.jsx)(i,{...b});default:return(0,d.jsx)(f,{...b})}}},75171:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={default:"bg-surface-2 text-text-muted",primary:"bg-brand-500/10 text-brand-600 dark:text-brand-300",success:"bg-green-500/10 text-green-600 dark:text-green-400",warning:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",error:"bg-red-500/10 text-red-600 dark:text-red-400",info:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},g={sm:"px-2 py-0.5 text-[10px]",md:"px-2.5 py-1 text-xs",lg:"px-3 py-1.5 text-sm"};function h({children:a,variant:b="default",size:c="md",dot:i=!1,icon:j,className:k,...l}){return(0,d.jsxs)("span",{...l,className:(0,e.cn)("inline-flex items-center gap-1.5 rounded-full font-semibold",f[b],g[c],k),children:[i&&(0,d.jsx)("span",{className:(0,e.cn)("size-1.5 rounded-full","success"===b&&"bg-green-500","warning"===b&&"bg-yellow-500","error"===b&&"bg-red-500","info"===b&&"bg-blue-500","primary"===b&&"bg-brand-500","default"===b&&"bg-gray-500")}),j&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:j}),a]})}},79346:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377);function j({isOpen:a,provider:b,providerInfo:c,onSuccess:f,onClose:g,oauthMeta:k,idcConfig:l}){let[m,n]=(0,e.useState)("waiting"),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),A=(0,e.useRef)(null),B=(0,e.useRef)(!1),{copied:C,copy:D}=(0,i.C)(),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)("/callback?code=...");(0,e.useRef)(!1);let I=(0,e.useCallback)(async(a,c)=>{if(o)try{let d=await fetch(`/api/oauth/${b}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,redirectUri:o.redirectUri,codeVerifier:o.codeVerifier,state:c,...k?{meta:k}:{}})}),e=await d.json();if(!d.ok)throw Error(e.error);n("success"),f?.()}catch(a){t(a.message),n("error")}},[o,b,f]),J=(0,e.useCallback)(async a=>{if(o?.state)try{let b=await fetch("/api/oauth/xai/manual-code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,state:o.state})}),c=await b.json();if(!b.ok)throw Error(c.error);n("success"),f?.()}catch(a){t(a.message),n("error")}},[o,f]),K=(0,e.useCallback)(async(a,c,d,e)=>{B.current=!1,z(!0);for(let g=0;g<60;g++){if(B.current){console.log("[OAuthModal] Polling aborted"),z(!1);return}if(await new Promise(a=>setTimeout(a,1e3*d)),B.current){console.log("[OAuthModal] Polling aborted after sleep"),z(!1);return}try{let g=await fetch(`/api/oauth/${b}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:a,codeVerifier:c,extraData:e})}),h=await g.json();if(h.success){B.current=!0,n("success"),z(!1),f?.();return}if("expired_token"===h.error||"access_denied"===h.error)throw Error(h.errorDescription||h.error);"slow_down"===h.error&&(d=Math.min(d+5,30))}catch(a){t(a.message),n("error"),z(!1);return}}t("Authorization timeout"),n("error"),z(!1)},[b,f]),L=(0,e.useCallback)(async()=>{if(b)try{let a;if(t(null),["github","qwen","kiro","kimi-coding","kilocode","codebuddy"].includes(b)){v(!0),n("waiting");let a=new URL(`/api/oauth/${b}/device-code`,window.location.origin);"kiro"===b&&l?.startUrl&&(a.searchParams.set("start_url",l.startUrl),l.region&&a.searchParams.set("region",l.region),a.searchParams.set("auth_method","idc"));let c=await fetch(a.toString()),d=await c.json();if(!c.ok)throw Error(d.error);x(d);let e=d.verification_uri_complete||d.verification_uri;e&&window.open(e,"_blank","noopener,noreferrer");let f="kiro"===b?{_clientId:d._clientId,_clientSecret:d._clientSecret,_region:d._region,_authMethod:d._authMethod,_startUrl:d._startUrl}:null;K(d.device_code,d.codeVerifier,d.interval||5,f);return}let c=window.location.port||("https:"===window.location.protocol?"443":"80");a="codex"===b?"http://localhost:1455/auth/callback":"xai"===b?"http://127.0.0.1:56121/callback":`http://localhost:${c}/callback`;let d=new URL(`/api/oauth/${b}/authorize`,window.location.origin);d.searchParams.set("redirect_uri",a),k&&Object.entries(k).forEach(([a,b])=>{b&&d.searchParams.set(a,b)});let e=await fetch(d.toString()),f=await e.json();if(!e.ok)throw Error(f.error);let g=!1,h=!1;if("codex"===b)try{let b=new URL("/api/oauth/codex/start-proxy",window.location.origin);b.searchParams.set("app_port",c),b.searchParams.set("state",f.state),b.searchParams.set("code_verifier",f.codeVerifier),b.searchParams.set("redirect_uri",a);let d=await fetch(b.toString()),e=await d.json();g=e.success,h=!!e.serverSide}catch{g=!1}let i=!1,j=!1;if("xai"===b)try{let b=new URL("/api/oauth/xai/start-proxy",window.location.origin);b.searchParams.set("app_port",c),b.searchParams.set("state",f.state),b.searchParams.set("code_verifier",f.codeVerifier),b.searchParams.set("redirect_uri",a);let d=await fetch(b.toString()),e=await d.json();if(i=e.success,j=!!e.serverSide,!i&&"port_busy"===e.reason)throw Error("Port 56121 in use; close the conflicting process and retry")}catch(a){if(a?.message)throw a;i=!1}p({...f,redirectUri:a,codexServerSide:h,xaiServerSide:j}),"codex"===b&&g||"xai"===b&&i||E&&"codex"!==b&&"xai"!==b?(n("waiting"),A.current=window.open(f.authUrl,"oauth_popup","width=600,height=700"),A.current||n("input")):(n("input"),window.open(f.authUrl,"_blank"))}catch(a){t(a.message),n("error")}},[b,E,K,k,l]),M=async()=>{try{t(null);let a=q.trim();if(a.startsWith("eyJ")&&a.includes("."))return void await I(a,null);if("xai"===b&&a&&!a.includes("://")&&!a.includes("?")&&!a.includes("code="))return void await J(a);let c=new URL(a),d=c.searchParams.get("code"),e=c.searchParams.get("state"),f=c.searchParams.get("error");if(f)throw Error(c.searchParams.get("error_description")||f);if(!d)throw Error("xai"===b?"Paste the callback URL or copied xAI code":"No authorization code found in URL");await I(d,e)}catch(a){t(a.message),n("error")}},N=(0,e.useCallback)(()=>{"codex"===b?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===b&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}),g()},[g,b]);if(!b||!c)return null;let O="xai"===b,P=w?.verification_uri_complete||w?.verification_uri||"",Q=O?"Connect Grok Build OAuth":`Connect ${c.name}`;return(0,d.jsx)(h.aF,{isOpen:a,title:Q,onClose:N,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[("waiting"===m||"input"===m)&&!u&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border border-border rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-base text-primary animate-spin",children:"progress_activity"}),(0,d.jsx)("span",{className:"text-sm",children:O?"Waiting for Grok Build OAuth…":"Waiting for popup authorization…"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 my-1",children:[(0,d.jsx)("div",{className:"flex-1 h-px bg-border"}),(0,d.jsx)("span",{className:"text-xs text-text-muted uppercase tracking-wider",children:"Or paste callback URL manually"}),(0,d.jsx)("div",{className:"flex-1 h-px bg-border"})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 1: Open this ",O?"Grok Build OAuth URL":"URL"," in your browser"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:o?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"auth_url"===C?"check":"content_copy",onClick:()=>D(o?.authUrl,"auth_url"),disabled:!o?.authUrl,children:"Copy"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 2: Paste the ","xai"===b?"callback URL or copied code":"callback URL"," here"]}),(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"xai"===b?"If xAI shows a code instead of redirecting, paste that code here.":"After authorization, copy the full URL from your browser."}),(0,d.jsx)(h.pd,{value:q,onChange:a=>r(a.target.value),placeholder:O?"http://127.0.0.1:56121/callback?code=... or copied code":G,className:"font-mono text-xs"})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:M,fullWidth:!0,disabled:!q,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:N,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"waiting"===m&&u&&w&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"text-center py-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the login URL below and authorize:"}),(0,d.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Login URL"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("code",{className:"flex-1 text-sm break-all",children:P}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"login_url"===C?"check":"content_copy",onClick:()=>D(P,"login_url"),disabled:!P}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"open_in_new",onClick:()=>window.open(P,"_blank","noopener,noreferrer"),disabled:!P,children:"Open"})]})]}),(0,d.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:w.user_code}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"user_code"===C?"check":"content_copy",onClick:()=>D(w.user_code,"user_code")})]})]})]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"success"===m&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,d.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",c.name," account has been connected."]}),(0,d.jsx)(h.$n,{onClick:N,fullWidth:!0,children:"Done"})]}),"error"===m&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,d.jsx)("p",{className:"text-sm text-red-600 mb-4",children:s}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:L,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,d.jsx)(h.$n,{onClick:N,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}j.propTypes={isOpen:g().bool.isRequired,provider:g().string,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired,oauthMeta:g().object,idcConfig:g().shape({startUrl:g().string,region:g().string})}},79488:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onSuccess:b,onClose:c}){let[f,g]=(0,e.useState)(""),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!1),p=async()=>{if(!f.trim())return void m("Please paste your cookie");k(!0),m(null);try{let a=await fetch("/api/oauth/iflow/cookie",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cookie:f.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Authentication failed");o(!0),setTimeout(()=>{b?.(),q()},1500)}catch(a){m(a.message)}finally{k(!1)}},q=()=>{g(""),m(null),o(!1),c?.()};return(0,d.jsx)(h.aF,{isOpen:a,onClose:q,title:"iFlow Cookie Authentication",children:(0,d.jsx)("div",{className:"space-y-4",children:n?(0,d.jsxs)("div",{className:"text-center py-8",children:[(0,d.jsx)("div",{className:"text-6xl mb-4",children:"✅"}),(0,d.jsx)("p",{className:"text-lg font-medium text-text-primary",children:"Authentication Successful!"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:"Fresh API key obtained"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["To get a fresh API key, paste your browser cookie from"," ",(0,d.jsx)("a",{href:"https://platform.iflow.cn",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"platform.iflow.cn"})]}),(0,d.jsxs)("div",{className:"bg-surface-secondary p-3 rounded-lg text-xs space-y-2",children:[(0,d.jsx)("p",{className:"font-medium text-text-primary",children:"How to get cookie:"}),(0,d.jsxs)("ol",{className:"list-decimal list-inside space-y-1 text-text-muted",children:[(0,d.jsx)("li",{children:"Open platform.iflow.cn in your browser"}),(0,d.jsx)("li",{children:"Login to your account"}),(0,d.jsx)("li",{children:"Open DevTools (F12) → Application/Storage → Cookies"}),(0,d.jsx)("li",{children:"Copy the entire cookie string (must include BXAuth)"}),(0,d.jsx)("li",{children:"Paste it below"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-text-primary",children:"Cookie String"}),(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"BXAuth=xxx; ...",className:"w-full px-3 py-2 bg-surface-secondary border border-border rounded-lg text-sm text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-primary resize-none",rows:4,disabled:j})]}),l&&(0,d.jsx)("div",{className:"p-3 bg-error/10 border border-error/20 rounded-lg",children:(0,d.jsx)("p",{className:"text-sm text-error",children:l})}),(0,d.jsxs)("div",{className:"flex gap-3 pt-2",children:[(0,d.jsx)(h.$n,{variant:"secondary",onClick:q,disabled:j,fullWidth:!0,children:"Cancel"}),(0,d.jsx)(h.$n,{onClick:p,loading:j,fullWidth:!0,children:"Authenticate"})]})]})})})}i.propTypes={isOpen:g().bool.isRequired,onSuccess:g().func,onClose:g().func}},83352:(a,b,c)=>{c.d(b,{default:()=>n});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(95145),i=c(72738),j=c(91431),k=c(96919);let l=[...Object.keys(k.zN),...Object.keys(k.IS),...Object.keys(k.nJ),...Object.keys(k.fg)],m=Object.keys(k.IS).filter(a=>k.IS[a].noAuth);function n({isOpen:a,onClose:b,onSelect:c,onDeselect:f,selectedModel:g,activeProviders:o=[],title:p="Select Model",modelAliases:q={},kindFilter:r=null,addedModelValues:s=[],closeOnSelect:t=!0,hideCombos:u=!1}){let v=(0,e.useMemo)(()=>r?o.filter(a=>{let b=k.Q2[a.provider];return(b?.serviceKinds||["llm"]).includes(r)}):o,[o,r]),[w,x]=(0,e.useState)(""),[y,z]=(0,e.useState)([]),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)([]),[E,F]=(0,e.useState)({}),G=(0,e.useMemo)(()=>({...k.zN,...k.IS,...k.nJ,...k.fg}),[]),H=(0,e.useMemo)(()=>{let a={},b=new Set(["webSearch","webFetch"]),c=new Set(["image","tts","stt","embedding","imageToText"]),d=new Set(["tts","image","webFetch"]);return[...new Set([...v.map(a=>a.provider),...r?m.filter(a=>(k.Q2[a]?.serviceKinds||["llm"]).includes(r)):m])].sort((a,b)=>{let c=l.indexOf(a),d=l.indexOf(b);return(-1===c?999:c)-(-1===d?999:d)}).forEach(e=>{let f=(0,k.wG)(e),g=G[e]||{name:e,color:"#666"},h=(0,k.mq)(e)||(0,k.gb)(e);if(r&&b.has(r)){a[e]={name:g.name,alias:f,color:g.color,models:[{id:e,name:g.name,value:e}]};return}if(g.passthroughModels){let b=Object.entries(q).filter(([,a])=>a.startsWith(`${f}/`)).map(([a,b])=>({id:b.replace(`${f}/`,""),name:a,value:b}));if(r&&c.has(r)&&0===(b=(0,j.KC)(e).filter(a=>a.type===r).map(a=>({id:a.id,name:a.name,value:`${f}/${a.id}`,type:a.type}))).length&&d.has(r)&&(g.serviceKinds||["llm"]).includes(r)&&(b=[{id:e,name:g.name,value:f}]),b.length>0){let c=A.find(a=>a.id===e),d=c?.name||g.name;a[e]={name:d,alias:f,color:g.color,models:b}}}else if(h){if(r&&c.has(r))return;let b=o.find(a=>a.provider===e),d=A.find(a=>a.id===e),f=b?.name||d?.name||g.name,h=b?.providerSpecificData?.prefix||d?.prefix||e,i=Object.entries(q).filter(([,a])=>a.startsWith(`${e}/`)).map(([a,b])=>({id:b.replace(`${e}/`,""),name:a,value:`${h}/${b.replace(`${e}/`,"")}`})),j=i.length>0?i:[{id:`__placeholder__${e}`,name:`${h}/model-id`,value:`${h}/model-id`,isPlaceholder:!0}];a[e]={name:f,alias:h,color:g.color,models:j,isCustom:!0,hasModels:i.length>0}}else{var i;let b=(0,j.KC)(e),h=new Set(b.map(a=>a.id)),k=b.length>0,l=Object.entries(q).filter(([a,b])=>b.startsWith(`${f}/`)&&(!k||a===b.replace(`${f}/`,""))&&!h.has(b.replace(`${f}/`,""))).map(([a,b])=>({id:b.replace(`${f}/`,""),name:a,value:b,isCustom:!0})),m=new Set(l.map(a=>a.id)),n=C.filter(a=>a.providerAlias===f&&!h.has(a.id)&&!m.has(a.id)).map(a=>({id:a.id,name:a.name||a.id,value:`${f}/${a.id}`,isCustom:!0})),o=[...b.map(a=>({id:a.id,name:a.name,value:`${f}/${a.id}`,type:a.type})),...l,...n],p=new Set,s=(i=o.filter(a=>!p.has(a.value)&&(p.add(a.value),!0)),r?c.has(r)?i.filter(a=>a.isPlaceholder||a.type===r):i:i.filter(a=>a.isPlaceholder||!a.type||"llm"===a.type));0===s.length&&r&&d.has(r)&&(g.serviceKinds||["llm"]).includes(r)&&(s=[{id:e,name:g.name,value:f}]),s.length>0&&(a[e]={name:g.name,alias:f,color:g.color,models:s})}}),Object.entries(a).forEach(([b,c])=>{let d=new Set([...E[(0,k.wG)(b)]||[],...E[b]||[]]);0!==d.size&&(c.models=c.models.filter(a=>!d.has(a.id)),0===c.models.length&&delete a[b])}),a},[v,q,G,A,C,E,r,o]),I=(0,e.useMemo)(()=>{if(u||r)return[];if(!w.trim())return y;let a=w.toLowerCase();return y.filter(b=>b.name.toLowerCase().includes(a))},[y,w,r,u]),J=(0,e.useCallback)(a=>[...a.filter(a=>s.includes(a.value)).sort((a,b)=>a.name.localeCompare(b.name)),...a.filter(a=>!s.includes(a.value)).sort((a,b)=>a.name.localeCompare(b.name))],[s]),K=(0,e.useMemo)(()=>{let a=w.trim().toLowerCase(),b={};return Object.entries(H).forEach(([c,d])=>{let e=d.models;if(a){let b=d.name.toLowerCase().includes(a);if(0===(e=e.filter(b=>b.name.toLowerCase().includes(a)||b.id.toLowerCase().includes(a))).length&&!b)return}b[c]={...d,models:J(e)}}),b},[H,w,J]),L=a=>{let d=a?.value||a?.name||a;s.includes(d)&&f?f(a):c(a),t&&(b(),x(""))};return(0,d.jsxs)(h.default,{isOpen:a,onClose:()=>{b(),x("")},title:p,size:"md",className:"p-4!",footer:null,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-3 px-2.5 py-2 bg-primary/8 border border-primary/20 rounded-lg text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary shrink-0",style:{fontSize:"14px"},children:"info"}),(0,d.jsx)("span",{children:"Click to add, click again to remove. Changes are saved automatically."})]}),(0,d.jsx)("div",{className:"mb-3",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("span",{className:"material-symbols-outlined absolute left-2.5 top-1/2 -translate-y-1/2 text-text-muted text-[16px]",children:"search"}),(0,d.jsx)("input",{type:"text",placeholder:"Search...",value:w,onChange:a=>x(a.target.value),className:"w-full pl-8 pr-3 py-1.5 bg-surface border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-primary/50"})]})}),(0,d.jsxs)("div",{className:"max-h-[400px] overflow-y-auto space-y-3",children:[I.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-[14px]",children:"layers"}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:"Combos"}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",I.length,")"]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:I.map(a=>{let b=g===a.name;return(0,d.jsxs)("button",{onClick:()=>L({id:a.name,name:a.name,value:a.name}),className:`
|
|
1
|
+
"use strict";exports.id=412,exports.ids=[412],exports.modules={267:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(74429),g=c(51126),h=c(99258);let i=a=>({en:{name:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},vi:{name:"Tiếng Việt",flag:"\uD83C\uDDFB\uD83C\uDDF3"},"zh-CN":{name:"简体中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},"zh-TW":{name:"繁體中文",flag:"\uD83C\uDDF9\uD83C\uDDFC"},ja:{name:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"},"pt-BR":{name:"Portugu\xeas (Brasil)",flag:"\uD83C\uDDE7\uD83C\uDDF7"},"pt-PT":{name:"Portugu\xeas (Portugal)",flag:"\uD83C\uDDF5\uD83C\uDDF9"},ko:{name:"한국어",flag:"\uD83C\uDDF0\uD83C\uDDF7"},es:{name:"Espa\xf1ol",flag:"\uD83C\uDDEA\uD83C\uDDF8"},de:{name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},fr:{name:"Fran\xe7ais",flag:"\uD83C\uDDEB\uD83C\uDDF7"},he:{name:"עברית",flag:"\uD83C\uDDEE\uD83C\uDDF1"},ar:{name:"العربية",flag:"\uD83C\uDDF8\uD83C\uDDE6"},ru:{name:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"},pl:{name:"Polski",flag:"\uD83C\uDDF5\uD83C\uDDF1"},cs:{name:"Čeština",flag:"\uD83C\uDDE8\uD83C\uDDFF"},nl:{name:"Nederlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},tr:{name:"T\xfcrk\xe7e",flag:"\uD83C\uDDF9\uD83C\uDDF7"},uk:{name:"Українська",flag:"\uD83C\uDDFA\uD83C\uDDE6"},tl:{name:"Tagalog",flag:"\uD83C\uDDF5\uD83C\uDDED"},id:{name:"Indonesia",flag:"\uD83C\uDDEE\uD83C\uDDE9"},th:{name:"ไทย",flag:"\uD83C\uDDF9\uD83C\uDDED"},hi:{name:"हिन्दी",flag:"\uD83C\uDDEE\uD83C\uDDF3"},bn:{name:"বাংলা",flag:"\uD83C\uDDE7\uD83C\uDDE9"},ur:{name:"اردو",flag:"\uD83C\uDDF5\uD83C\uDDF0"},ro:{name:"Rom\xe2nă",flag:"\uD83C\uDDF7\uD83C\uDDF4"},sv:{name:"Svenska",flag:"\uD83C\uDDF8\uD83C\uDDEA"},it:{name:"Italiano",flag:"\uD83C\uDDEE\uD83C\uDDF9"},el:{name:"Ελληνικά",flag:"\uD83C\uDDEC\uD83C\uDDF7"},hu:{name:"Magyar",flag:"\uD83C\uDDED\uD83C\uDDFA"},fi:{name:"Suomi",flag:"\uD83C\uDDEB\uD83C\uDDEE"},da:{name:"Dansk",flag:"\uD83C\uDDE9\uD83C\uDDF0"},no:{name:"Norsk",flag:"\uD83C\uDDF3\uD83C\uDDF4"}})[a]||{name:a,flag:"\uD83C\uDF10"};function j({className:a="",isOpen:b,onClose:c,hideTrigger:k=!1}){let[l,m]=(0,e.useState)("en"),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),r=(0,e.useRef)(null),s="boolean"==typeof b,t=s?b:p,u=a=>{s?!a&&c&&c():q(a)},v=async a=>{if(a!==l&&!n){o(!0),u(!1);try{await fetch("/api/locale",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locale:a})}),await (0,h.wn)(),m(a)}catch(a){console.error("Failed to set locale:",a)}finally{o(!1)}}};return(0,d.jsxs)("div",{className:a,children:[!k&&(0,d.jsxs)("button",{onClick:()=>u(!t),disabled:n,className:"flex items-center gap-2 px-3 py-2 rounded-lg text-text-muted hover:text-text-main hover:bg-surface/60 transition-colors",title:"Language","data-i18n-skip":"true",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"language"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:i(l).name}),(0,d.jsx)("span",{className:"text-lg",children:i(l).flag})]}),t&&(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4","data-i18n-skip":"true",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:()=>u(!1)}),(0,d.jsxs)("div",{ref:r,className:"relative w-full bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl animate-in fade-in zoom-in-95 duration-200 max-w-2xl flex flex-col max-h-[80vh]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-black/5 dark:border-white/5",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Select Language"}),(0,d.jsx)("button",{onClick:()=>u(!1),className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors","aria-label":"Close",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 overflow-y-auto flex-1",children:(0,d.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(100px,1fr))] gap-2",children:g.YZ.map(a=>{let b=l===a,c=i(a);return(0,d.jsxs)("button",{onClick:()=>v(a),disabled:n,className:`flex flex-col items-center justify-start gap-1 px-2 py-3 rounded-lg text-xs font-medium transition-colors w-full ${b?"bg-primary/15 text-primary ring-2 ring-primary":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"} ${n?"opacity-70 cursor-wait":""}`,title:c.name,children:[(0,d.jsx)("span",{className:"text-2xl",children:c.flag}),(0,d.jsx)("span",{className:"text-center leading-tight line-clamp-2 h-8 flex items-center",children:c.name}),b&&(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"check"})]},a)})})})]})]}),document.body)]})}},3236:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f);c(51126);var h=c(42118),i=c(11229),j=c(267);let k={en:{name:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},vi:{name:"Tiếng Việt",flag:"\uD83C\uDDFB\uD83C\uDDF3"},"zh-CN":{name:"简体中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},"zh-TW":{name:"繁體中文",flag:"\uD83C\uDDF9\uD83C\uDDFC"},ja:{name:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"},"pt-BR":{name:"Portugu\xeas (BR)",flag:"\uD83C\uDDE7\uD83C\uDDF7"},"pt-PT":{name:"Portugu\xeas (PT)",flag:"\uD83C\uDDF5\uD83C\uDDF9"},ko:{name:"한국어",flag:"\uD83C\uDDF0\uD83C\uDDF7"},es:{name:"Espa\xf1ol",flag:"\uD83C\uDDEA\uD83C\uDDF8"},de:{name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},fr:{name:"Fran\xe7ais",flag:"\uD83C\uDDEB\uD83C\uDDF7"},he:{name:"עברית",flag:"\uD83C\uDDEE\uD83C\uDDF1"},ar:{name:"العربية",flag:"\uD83C\uDDF8\uD83C\uDDE6"},ru:{name:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"},pl:{name:"Polski",flag:"\uD83C\uDDF5\uD83C\uDDF1"},cs:{name:"Čeština",flag:"\uD83C\uDDE8\uD83C\uDDFF"},nl:{name:"Nederlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},tr:{name:"T\xfcrk\xe7e",flag:"\uD83C\uDDF9\uD83C\uDDF7"},uk:{name:"Українська",flag:"\uD83C\uDDFA\uD83C\uDDE6"},tl:{name:"Tagalog",flag:"\uD83C\uDDF5\uD83C\uDDED"},id:{name:"Indonesia",flag:"\uD83C\uDDEE\uD83C\uDDE9"},th:{name:"ไทย",flag:"\uD83C\uDDF9\uD83C\uDDED"},hi:{name:"हिन्दी",flag:"\uD83C\uDDEE\uD83C\uDDF3"},bn:{name:"বাংলা",flag:"\uD83C\uDDE7\uD83C\uDDE9"},ur:{name:"اردو",flag:"\uD83C\uDDF5\uD83C\uDDF0"},ro:{name:"Rom\xe2nă",flag:"\uD83C\uDDF7\uD83C\uDDF4"},sv:{name:"Svenska",flag:"\uD83C\uDDF8\uD83C\uDDEA"},it:{name:"Italiano",flag:"\uD83C\uDDEE\uD83C\uDDF9"},el:{name:"Ελληνικά",flag:"\uD83C\uDDEC\uD83C\uDDF7"},hu:{name:"Magyar",flag:"\uD83C\uDDED\uD83C\uDDFA"},fi:{name:"Suomi",flag:"\uD83C\uDDEB\uD83C\uDDEE"},da:{name:"Dansk",flag:"\uD83C\uDDE9\uD83C\uDDF0"},no:{name:"Norsk",flag:"\uD83C\uDDF3\uD83C\uDDF4"}};function l({icon:a,label:b,onClick:c,trailing:e,danger:f}){return(0,d.jsxs)("button",{onClick:c,className:`flex items-center gap-3 w-full px-4 py-2.5 text-sm transition-colors ${f?"text-red-500 hover:bg-red-500/10":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"}`,children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[20px] ${f?"":"text-text-muted"}`,children:a}),(0,d.jsx)("span",{className:"flex-1 text-left",children:b}),e&&(0,d.jsx)("span",{className:"text-base",children:e})]})}function m({onLogout:a}){let[b,c]=(0,e.useState)(!1),[f,g]=(0,e.useState)(!1),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)("en"),{toggleTheme:r,isDark:s}=(0,h.D)(),t=(0,e.useRef)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"relative",ref:t,children:[(0,d.jsx)("button",{onClick:()=>c(a=>!a),className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all",title:"Menu",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"grid_view"})}),b&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-60 bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl z-50 animate-in fade-in zoom-in-95 duration-150 overflow-hidden py-1",children:[(0,d.jsx)(l,{icon:"history",label:"Change Log",onClick:()=>{c(!1),g(!0)}}),(0,d.jsx)(l,{icon:"language",label:k[p]?.name||p,trailing:k[p]?.flag||"\uD83C\uDF10",onClick:()=>{c(!1),o(!0)}}),(0,d.jsx)(l,{icon:s?"light_mode":"dark_mode",label:"Theme",onClick:()=>{r(),c(!1)}}),(0,d.jsx)(l,{icon:"computer",label:"Remote",onClick:()=>{c(!1),setRemoteOpen(!0)}}),(0,d.jsx)(l,{icon:"logout",label:"Logout",danger:!0,onClick:()=>{c(!1),a()}})]})]}),(0,d.jsx)(i.default,{isOpen:f,onClose:()=>g(!1)}),(0,d.jsx)(j.default,{hideTrigger:!0,isOpen:n,onClose:()=>o(!1)})]})}l.propTypes={icon:g().string.isRequired,label:g().string.isRequired,onClick:g().func.isRequired,trailing:g().node,danger:g().bool},m.propTypes={onLogout:g().func.isRequired}},4770:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,options:b=[],value:c,onChange:g,placeholder:h="Select an option",error:i,hint:j,disabled:k=!1,required:l=!1,className:m,selectClassName:n,...o}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",m),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,l&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("select",{value:c,onChange:g,disabled:k,className:(0,e.cn)("w-full py-2.5 px-3 pr-10 text-sm text-text-main","bg-surface-2 border border-transparent rounded-[10px] appearance-none","focus:outline-none focus:ring-2 focus:ring-brand-500/30 focus:border-brand-500/40","transition-all duration-150 disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",i&&"ring-1 ring-red-500 focus:ring-2 focus:ring-red-500/40 border-red-500/40",n),...o,children:[(0,d.jsx)("option",{value:"",disabled:!0,children:h}),b.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))]}),(0,d.jsx)("div",{className:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"expand_more"})})]}),i&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),i]}),j&&!i&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:j})]})}},5291:(a,b,c)=>{c.d(b,{default:()=>k});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(79346),i=c(8590),j=c(56110);function k({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,l]=(0,e.useState)(null),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),q=(0,e.useCallback)((a,b)=>{"builder-id"===a?l("builder-id"):"idc"===a?(l("idc"),p(b)):"social"===a?(l("social"),n(b.provider)):"import"===a&&(c?.(),f?.())},[c,f]),r=()=>{l(null),n(null),p(null)};return g?"builder-id"===g||"idc"===g?(0,d.jsx)(h.default,{isOpen:a,provider:"kiro",providerInfo:b,onSuccess:()=>{l(null),p(null),c?.(),f?.()},onClose:r,idcConfig:o}):"social"===g&&m?(0,d.jsx)(j.default,{isOpen:a,provider:m,onSuccess:()=>{l(null),n(null),c?.(),f?.()},onClose:r}):null:(0,d.jsx)(i.default,{isOpen:a,onMethodSelect:q,onClose:f})}k.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},8590:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onClose:c}){let[f,g]=(0,e.useState)(null),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)("us-east-1"),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(!1),x=a=>{g(a),q(null)},y=()=>{g(null),q(null)},z=async()=>{if(!n.trim())return void q("Please enter a refresh token");s(!0),q(null);try{let a=await fetch("/api/oauth/kiro/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Import failed");b("import")}catch(a){q(a.message)}finally{s(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Kiro",onClose:c,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!f&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("social",{provider:"google"}),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"account_circle"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Google Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with the Kiro desktop Google flow."})]})]})}),(0,d.jsx)("button",{onClick:()=>b("builder-id"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"shield"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS Builder ID"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Use AWS SSO device authorization."})]})]})}),(0,d.jsx)("button",{onClick:()=>x("idc"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"business"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS IAM Identity Center"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Use your organization's AWS access portal."})]})]})}),(0,d.jsx)("button",{onClick:()=>x("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste refresh token from Kiro IDE."})]})]})})]}),"idc"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Start URL ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:j,onChange:a=>k(a.target.value),placeholder:"https://your-org.awsapps.com/start",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"AWS IAM Identity Center access portal URL"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Region"}),(0,d.jsx)(h.pd,{value:l,onChange:a=>m(a.target.value),placeholder:"us-east-1",className:"font-mono text-sm"})]}),p&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:p})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{j.trim()?b("idc",{startUrl:j.trim(),region:l.trim()||"us-east-1"}):q("Please enter your IAM Identity Center start URL")},fullWidth:!0,children:"Continue"}),(0,d.jsx)(h.$n,{onClick:y,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"import"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[t&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting token..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from AWS SSO cache"})]}),!t&&(0,d.jsxs)(d.Fragment,{children:[v&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Token auto-detected from Kiro IDE successfully!"})]})}),!v&&!p&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Kiro IDE not detected. Please paste your refresh token manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Refresh Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:n,onChange:a=>o(a.target.value),placeholder:"aorAAAAAG...",className:"font-mono text-sm"})]}),p&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:p})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:z,fullWidth:!0,disabled:r||!n.trim(),children:r?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:y,variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onClose:g().func.isRequired}},11229:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(74429),g=c(49885),h=c.n(g),i=c(26921);function j({isOpen:a,onClose:b}){let[c,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(""),m=(0,e.useRef)(null);return!a||"u"<typeof document?null:(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:b}),(0,d.jsxs)("div",{ref:m,className:"relative w-full bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl animate-in fade-in zoom-in-95 duration-200 max-w-3xl flex flex-col max-h-[85vh]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-black/5 dark:border-white/5",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Change Log"}),(0,d.jsx)("button",{onClick:b,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors","aria-label":"Close",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsxs)("div",{className:"p-6 overflow-y-auto flex-1",children:[h&&(0,d.jsxs)("div",{className:"flex items-center justify-center py-10 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin mr-2",children:"progress_activity"}),"Loading..."]}),k&&(0,d.jsxs)("div",{className:"text-red-500 py-4",children:["Failed to load changelog: ",k]}),!h&&!k&&c&&(0,d.jsx)("div",{className:"changelog-body text-text-main",dangerouslySetInnerHTML:{__html:c}})]})]})]}),document.body)}c(12020),i.xI.setOptions({gfm:!0,breaks:!0}),j.propTypes={isOpen:h().bool.isRequired,onClose:h().func.isRequired}},11633:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(17660);let f={mode:{label:"Mode",format:a=>a},defaultModel:{label:"Model",format:a=>a,mono:!0},baseUrl:{label:"Endpoint",format:a=>a,isLink:!0,mono:!0},costPerQuery:{label:"Cost / call",format:a=>0===a?"Free":`$${a.toFixed(4)}`},pricingUrl:{label:"Pricing",format:()=>"View pricing",isLink:!0},freeTier:{label:"Free tier",format:a=>a},freeMonthlyQuota:{label:"Free quota",format:a=>0===a?"—":a>=999999?"Unlimited":`${a.toLocaleString()} / mo`},searchTypes:{label:"Types",format:a=>a.join(", ")},formats:{label:"Formats",format:a=>a.join(", ")},maxMaxResults:{label:"Max results",format:a=>a},maxCharacters:{label:"Max chars",format:a=>a.toLocaleString()}};function g({config:a,provider:b,title:c="Provider Info"}){if(!a)return null;let h=Object.entries(f).filter(([b])=>void 0!==a[b]&&null!==a[b]&&""!==a[b]).map(([b,c])=>({key:b,label:c.label,value:c.format(a[b]),isLink:c.isLink,mono:c.mono,raw:a[b]})),i=b?.notice?.apiKeyUrl||b?.website,j=b?.notice?.text;return(0,d.jsxs)(e.default,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:c}),i&&(0,d.jsxs)("a",{href:i,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:"grid grid-cols-1 sm:grid-cols-2 gap-x-6 gap-y-2",children:[h.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted w-28 shrink-0",children:a.label}),a.isLink?(0,d.jsx)("a",{href:a.raw,target:"_blank",rel:"noopener noreferrer",className:`text-sm text-primary hover:underline truncate ${a.mono?"font-mono":""}`,children:a.value}):(0,d.jsx)("span",{className:`text-sm text-text-main truncate ${a.mono?"font-mono":""}`,children:a.value})]},a.key)),j&&(0,d.jsxs)("div",{className:"flex items-start gap-3 min-w-0 sm:col-span-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted w-28 shrink-0 mt-0.5",children:"Notice"}),(0,d.jsx)("span",{className:"text-sm text-text-main leading-relaxed",children:j})]})]})]})}},17660:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({children:a,title:b,subtitle:c,icon:g,action:h,padding:i="md",hover:j=!1,elev:k=!1,className:l,...m}){return(0,d.jsxs)("div",{className:(0,e.cn)("bg-surface border border-border-subtle",k?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[var(--shadow-soft)]",j&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],l),...m,children:[(b||h)&&(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[g&&(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:g})}),(0,d.jsxs)("div",{children:[b&&(0,d.jsx)("h3",{className:"text-text-main font-semibold",children:b}),c&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:c})]})]}),h]}),a]})}f.Section=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",b),...c,children:a})},f.Row=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",b),...c,children:a})},f.ListItem=function({children:a,actions:b,className:c,...f}){return(0,d.jsxs)("div",{className:(0,e.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",c),...f,children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:a}),b&&(0,d.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:b})]})}},20084:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(95145);function g({isOpen:a,onClose:b,onAdd:c,addedNames:h=[]}){let[i,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("all"),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)({}),[w,x]=(0,e.useState)({}),[y,z]=(0,e.useState)({}),A=(0,e.useMemo)(()=>new Set(h),[h]),B=(0,e.useMemo)(()=>{let a=m.trim().toLowerCase();return i.filter(b=>("authless"!==o||!b.oauth)&&("oauth"!==o||!!b.oauth)&&(!a||(b.title||"").toLowerCase().includes(a)||(b.description||"").toLowerCase().includes(a)||(b.name||"").toLowerCase().includes(a)))},[i,m,o]),C=async a=>{if(!u[a.url]){x(b=>({...b,[a.url]:!0}));try{let b=await fetch("/api/cli-tools/cowork-mcp-tools",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:a.url})}),c=await b.json(),d=c.tools||[],e=Array.isArray(a.toolNames)?a.toolNames:[],f=d.length>0?d.map(a=>a.name):e;v(b=>({...b,[a.url]:{tools:d,requiresAuth:!!c.requiresAuth,error:c.error}})),z(b=>({...b,[a.url]:Object.fromEntries(f.map(a=>[a,!0]))}))}catch(b){v(c=>({...c,[a.url]:{tools:[],error:b.message}}))}finally{x(b=>({...b,[a.url]:!1}))}}},D=(a,b)=>{let c=y[a]||{};z(d=>({...d,[a]:Object.fromEntries(Object.keys(c).map(a=>[a,b]))}))};return(0,d.jsx)(f.default,{isOpen:a,onClose:b,title:"Browse MCP Marketplace",size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"Search by name or description...",className:"flex-1 px-2 py-1.5 bg-surface rounded text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50"}),(0,d.jsxs)("select",{value:o,onChange:a=>p(a.target.value),className:"px-2 py-1.5 bg-surface rounded text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,d.jsx)("option",{value:"all",children:"All"}),(0,d.jsx)("option",{value:"authless",children:"Authless"}),(0,d.jsx)("option",{value:"oauth",children:"OAuth"})]})]}),q&&(0,d.jsx)("div",{className:"px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:q}),k&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-text-muted text-xs py-4 justify-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}),(0,d.jsx)("span",{children:"Loading registry..."})]}),!k&&(0,d.jsxs)("div",{className:"flex flex-col gap-1 max-h-[60vh] overflow-y-auto",children:[0===B.length&&(0,d.jsx)("div",{className:"text-center text-xs text-text-muted py-6",children:"No servers match filter"}),B.map(a=>{let b=A.has(a.slug||a.name),e=s===a.url,f=u[a.url],g=w[a.url],h=y[a.url]||{},i=Object.keys(h),j=Object.values(h).filter(Boolean).length;return(0,d.jsxs)("div",{className:"rounded border border-transparent hover:border-border",children:[(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5",children:[a.iconUrl?(0,d.jsx)("img",{src:a.iconUrl,alt:"",className:"size-7 rounded shrink-0 object-contain",onError:a=>{a.target.style.display="none"}}):(0,d.jsx)("div",{className:"size-7 rounded bg-surface shrink-0"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,d.jsx)("span",{className:"font-medium text-xs",children:a.title}),a.oauth?(0,d.jsx)("span",{className:"px-1 py-0.5 text-[9px] rounded bg-amber-500/10 text-amber-600",children:"OAuth"}):(0,d.jsx)("span",{className:"px-1 py-0.5 text-[9px] rounded bg-green-500/10 text-green-600",children:"Authless"}),a.toolCount>0&&(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:[a.toolCount," tools"]})]}),a.description&&(0,d.jsx)("p",{className:"text-[10px] text-text-muted line-clamp-2 mt-0.5",children:a.description})]}),(0,d.jsx)("button",{onClick:()=>b?null:void(s===a.url?t(null):(t(a.url),C(a))),disabled:b,className:`shrink-0 px-2 py-1 rounded text-[10px] font-medium transition-colors ${b?"bg-green-500/10 text-green-600 cursor-default":e?"bg-surface border border-border text-text-muted hover:bg-black/5":"bg-primary/10 border border-primary/40 text-primary hover:bg-primary/20"}`,children:b?"Added":e?"Cancel":"+ Add"})]}),e&&(0,d.jsxs)("div",{className:"px-3 py-2 bg-surface/40 border-t border-border flex flex-col gap-2",children:[g&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-text-muted text-[10px] py-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[14px]",children:"progress_activity"}),(0,d.jsx)("span",{children:"Probing server for tools..."})]}),!g&&f?.requiresAuth&&(0,d.jsx)("p",{className:"text-[10px] text-amber-600 bg-amber-500/10 px-2 py-1 rounded",children:"\uD83D\uDD10 OAuth required. Add now and authenticate after Apply; tool list will be discovered after first connect."}),!g&&f?.error&&!f?.requiresAuth&&(0,d.jsxs)("p",{className:"text-[10px] text-red-600 bg-red-500/10 px-2 py-1 rounded",children:["Probe failed: ",f.error]}),!g&&0===i.length&&!f?.requiresAuth&&!f?.error&&(0,d.jsx)("p",{className:"text-[10px] text-text-muted",children:"No tools advertised by server."}),!g&&i.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:[j,"/",i.length," tools enabled"]}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)("button",{onClick:()=>D(a.url,!0),className:"text-[10px] text-primary hover:underline",children:"All"}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"\xb7"}),(0,d.jsx)("button",{onClick:()=>D(a.url,!1),className:"text-[10px] text-primary hover:underline",children:"None"})]})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-1 max-h-40 overflow-y-auto",children:i.map(b=>(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-[10px] cursor-pointer hover:bg-black/5 dark:hover:bg-white/5 px-1 rounded",children:[(0,d.jsx)("input",{type:"checkbox",checked:!!h[b],onChange:()=>{var c;return c=a.url,void z(a=>({...a,[c]:{...a[c],[b]:!a[c]?.[b]}}))},className:"size-3"}),(0,d.jsx)("span",{className:"truncate",children:b})]},b))})]}),(0,d.jsx)("button",{onClick:()=>{let b,d;return d=Object.keys(b=y[a.url]||{}).filter(a=>b[a]),void(c?.({name:a.slug||a.name,title:a.title,description:a.description,url:a.url,transport:a.transport,oauth:a.oauth,toolNames:d}),t(null))},className:"self-end px-2 py-1 rounded text-[10px] font-medium bg-primary text-white hover:bg-primary/90",children:"✓ Confirm Add"})]})]},a.url)})]}),(0,d.jsxs)("div",{className:"text-[10px] text-text-muted text-right",children:[B.length," of ",i.length," servers"]})]})})}},25919:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({src:a,alt:b="Avatar",name:c,size:g="md",className:h}){let i={xs:"size-6 text-xs",sm:"size-8 text-sm",md:"size-10 text-base",lg:"size-12 text-lg",xl:"size-16 text-xl"};return a?(0,d.jsx)("div",{className:(0,e.cn)("rounded-full bg-cover bg-center bg-no-repeat","ring-2 ring-white dark:ring-surface-dark shadow-sm",i[g],h),style:{backgroundImage:`url(${a})`},role:"img","aria-label":b}):(0,d.jsx)("div",{className:(0,e.cn)("rounded-full flex items-center justify-center font-semibold text-white","ring-2 ring-white dark:ring-surface-dark shadow-sm",i[g],(a=>{if(!a)return"bg-primary";let b=["bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500"],c=a.charCodeAt(0)%b.length;return b[c]})(c),h),role:"img","aria-label":b,children:(a=>{if(!a)return"?";let b=a.split(" ");return b.length>=2?`${b[0][0]}${b[1][0]}`.toUpperCase():a.substring(0,2).toUpperCase()})(c)})}},32971:(a,b,c)=>{c.d(b,{default:()=>e});var d=c(48249);function e({text:a,children:b,position:c="top",color:f}){let g=f?"":"bg-gray-900";return(0,d.jsxs)("div",{className:"relative inline-flex group",children:[b,(0,d.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[c]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug ${g} text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,style:f?{backgroundColor:f}:{},children:a})]})}},37365:(a,b,c)=>{c.d(b,{C:()=>d});let d=(0,c(31417).v)(a=>({query:"",placeholder:"",visible:!1,setQuery:b=>a({query:b}),register:(b="Search...")=>a({visible:!0,placeholder:b,query:""}),unregister:()=>a({visible:!1,placeholder:"",query:""})}))},39645:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(95145),g=c(99070),h=c(50377);function i({isOpen:a,onClose:b,title:c="Manual Configuration",configs:j=[]}){let{copy:k}=(0,h.C)(),[l,m]=(0,e.useState)(null);return(0,d.jsx)(f.default,{isOpen:a,onClose:b,title:c,size:"xl",children:(0,d.jsx)("div",{className:"flex flex-col gap-4",children:j.map((a,b)=>(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:a.filename}),(0,d.jsxs)(g.default,{variant:"ghost",size:"sm",onClick:()=>{var c;return c=a.content,void(k(c,`manualconfig-${b}`),m(b),setTimeout(()=>m(null),2e3))},children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1",children:l===b?"check":"content_copy"}),l===b?"Copied!":"Copy"]})]}),(0,d.jsx)("pre",{className:"px-3 py-2 bg-black/5 dark:bg-white/5 rounded font-mono text-xs overflow-x-auto whitespace-pre-wrap break-all max-h-60 overflow-y-auto border border-border",children:a.content})]},b))})})}},41371:(a,b,c)=>{c.d(b,{i:()=>f});var d=c(31417);let e=0,f=(0,d.v)((a,b)=>({notifications:[],addNotification:c=>{let d=++e,f={id:d,type:c.type||"info",message:c.message,title:c.title||null,duration:c.duration??5e3,dismissible:c.dismissible??!0,createdAt:Date.now()};return a(a=>({notifications:[...a.notifications,f]})),f.duration>0&&setTimeout(()=>b().removeNotification(d),f.duration),d},removeNotification:b=>{a(a=>({notifications:a.notifications.filter(a=>a.id!==b)}))},clearAll:()=>a({notifications:[]}),success:(a,c)=>b().addNotification({type:"success",message:a,title:c}),error:(a,c)=>b().addNotification({type:"error",message:a,title:c,duration:8e3}),warning:(a,c)=>b().addNotification({type:"warning",message:a,title:c}),info:(a,c)=>b().addNotification({type:"info",message:a,title:c})}))},42118:(a,b,c)=>{c.d(b,{D:()=>i});var d=c(67484),e=c(13033);function f(a){return()=>{}}function g(){return!1}function h(){return!1}function i(){let{theme:a,setTheme:b,toggleTheme:c,initTheme:i}=(0,e.A)(),j=(0,d.useSyncExternalStore)(f,g,h);return{theme:a,setTheme:b,toggleTheme:c,isDark:"dark"===a||"system"===a&&j}}},42196:(a,b,c)=>{c.d(b,{default:()=>v});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(2116),i=c.n(h),j=c(19099),k=c(71404),l=c(12020),m=c(96919),n=c(50377),o=c(99070),p=c(95145);let q=["embedding","image","tts","stt","video"],r="/dashboard/media-providers/web",s=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],t=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"},{href:"/dashboard/translator",label:"Translator",icon:"translate"}],u=[{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/skills",label:"Skills",icon:"extension"}];function v({onClose:a}){let b=(0,j.usePathname)(),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!1),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(""),[J,K]=(0,e.useState)(0),[L,M]=(0,e.useState)(!1),{copied:N,copy:O}=(0,n.C)(2e3),P=F?.latestVersion||"",Q=!!F?.updateAvailable,R=F?.installCmdLatest||l.h0.installCmdLatest,S=a=>"/dashboard/endpoint"===a?"/dashboard"===b||b.startsWith("/dashboard/endpoint"):b.startsWith(a),T=async()=>{try{await navigator.clipboard.writeText(R)}catch{}O(R);let a=l.h0.shutdownCountdownSec;K(a);let b=setInterval(()=>{K(a-=1),a<=0&&(clearInterval(b),A(!0))},1e3)},U=async()=>{y(!0);try{await fetch("/api/shutdown",{method:"POST"})}catch(a){}y(!1),h(!1),A(!0)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("aside",{className:"flex w-72 flex-col border-r border-border-subtle bg-vibrancy backdrop-blur-xl transition-colors duration-300 min-h-full",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,d.jsx)("div",{className:"px-6 py-4 flex flex-col gap-2",children:(0,d.jsxs)(i(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-9 rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 shadow-[var(--shadow-warm)]",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-white text-[20px]",children:"hub"})}),(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:l.vQ.name}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["v",l.vQ.version]})]})]})}),(0,d.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto custom-scrollbar",children:[s.map(b=>(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href)),(0,d.jsxs)("div",{className:"pt-3 mt-2 space-y-0.5",children:[(0,d.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),(0,d.jsxs)("button",{onClick:()=>f(a=>!a),className:(0,k.cn)("w-full flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",b.startsWith("/dashboard/media-providers")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"perm_media"}),(0,d.jsx)("span",{className:"text-[13px] font-medium flex-1 text-left",children:"Media Providers"}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] transition-transform",style:{transform:c?"rotate(180deg)":"rotate(0deg)"},children:"expand_more"})]}),c&&(0,d.jsxs)("div",{className:"pl-4",children:[m.rj.filter(a=>q.includes(a.id)).map(c=>(0,d.jsxs)(i(),{href:`/dashboard/media-providers/${c.id}`,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",b.startsWith(`/dashboard/media-providers/${c.id}`)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:c.icon}),(0,d.jsx)("span",{className:"text-sm",children:c.label})]},c.id)),(0,d.jsxs)(i(),{href:r,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",b.startsWith(r)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"travel_explore"}),(0,d.jsx)("span",{className:"text-sm",children:"Web Fetch & Search"})]},"web")]}),u.map(b=>(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href)),t.map(b=>"/dashboard/translator"!==b.href||L?(0,d.jsxs)(i(),{href:b.href,onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S(b.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S(b.href)?"fill-1":"group-hover:text-primary transition-colors"),children:b.icon}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:b.label})]},b.href):null),(0,d.jsxs)(i(),{href:"/dashboard/profile",onClick:a,className:(0,k.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",S("/dashboard/profile")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,d.jsx)("span",{className:(0,k.cn)("material-symbols-outlined text-[18px]",S("/dashboard/profile")?"fill-1":"group-hover:text-primary transition-colors"),children:"settings"}),(0,d.jsx)("span",{className:"text-[13px] font-medium",children:"Settings"})]})]})]}),(0,d.jsxs)("div",{className:"p-3 border-t border-border-subtle space-y-2",children:[Q&&(0,d.jsxs)("button",{onClick:()=>C(!0),className:"w-full rounded-lg border border-amber-400/30 bg-amber-400/10 px-3 py-2 text-left text-xs text-amber-500 transition-colors hover:bg-amber-400/15",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"upgrade"}),"Update available"]}),(0,d.jsxs)("span",{className:"mt-0.5 block text-[11px] text-text-muted",children:["v",l.vQ.version," → v",P]})]}),!Q&&H&&(0,d.jsx)("p",{className:"px-1 text-[11px] text-text-muted",title:H,children:"Update check unavailable"}),(0,d.jsx)(o.default,{variant:"outline",fullWidth:!0,icon:"power_settings_new",onClick:()=>h(!0),className:"text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300",children:"Shutdown"})]})]}),(0,d.jsx)(p.ConfirmModal,{isOpen:g,onClose:()=>h(!1),onConfirm:U,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:x}),(0,d.jsx)(p.ConfirmModal,{isOpen:B,onClose:()=>C(!1),onConfirm:()=>{C(!1),E(!0)},title:"Update KTRouter",message:Q?`KTRouter v${P} is available. Current version: v${l.vQ.version}.`:"Show the update install command.",confirmText:"Show Command",cancelText:"Cancel",variant:"primary"}),(z||D)&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm p-6",children:D?(0,d.jsx)(w,{latestVersion:P,installCmd:R,copied:N,onCopyAndShutdown:T,onCancel:()=>{E(!1),K(0)},countdown:J,isDisconnected:z}):(0,d.jsxs)("div",{className:"text-center p-8",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,d.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,d.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,d.jsx)(o.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}function w({latestVersion:a,installCmd:b,copied:c,onCopyAndShutdown:e,onCancel:f,countdown:g,isDisconnected:h}){let i=g>0;return(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl bg-neutral-900/95 border border-white/10 p-6 text-white",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-500/20 text-amber-400",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[24px]",children:"content_copy"})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Update KTRouter",a?` to v${a}`:""]}),(0,d.jsx)("p",{className:"text-xs text-white/60",children:h?"Server stopped. Paste the command into a terminal to install.":i?`Command copied. Server will stop in ${g}s...`:"Click the button below to copy the install command and shutdown."})]})]}),(0,d.jsx)("p",{className:"text-sm text-white/80 mb-2",children:"Install command:"}),(0,d.jsx)("div",{className:"w-full px-3 py-2 rounded bg-white/5 mb-4",children:(0,d.jsx)("code",{className:"text-xs font-mono text-amber-400 break-all",children:b})}),(0,d.jsxs)("ol",{className:"text-xs text-white/70 space-y-1 list-decimal list-inside mb-4",children:[(0,d.jsxs)("li",{children:["Click ",(0,d.jsx)("strong",{children:"Copy & Shutdown"})," below."]}),(0,d.jsx)("li",{children:"Paste the command into your terminal and press Enter."}),(0,d.jsxs)("li",{children:["Run ",(0,d.jsx)("code",{className:"px-1 rounded bg-white/10 text-green-400",children:"ktrouter"})," again after install."]})]}),h?(0,d.jsx)(o.default,{variant:"secondary",fullWidth:!0,onClick:()=>globalThis.location.reload(),children:"Reload Page"}):(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(o.default,{variant:"secondary",onClick:f,disabled:i,children:"Cancel"}),(0,d.jsx)(o.default,{variant:"primary",fullWidth:!0,onClick:e,disabled:i,children:c?"✓ Copied — shutting down...":i?`Shutting down in ${g}s`:"Copy & Shutdown"})]})]})}v.propTypes={onClose:g().func},w.propTypes={latestVersion:g().string,installCmd:g().string.isRequired,copied:g().bool,onCopyAndShutdown:g().func.isRequired,onCancel:g().func.isRequired,countdown:g().number,isDisconnected:g().bool}},43182:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);let i="https://gitlab.com";function j({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(i),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null),B=()=>{k(null),m(i),o(""),q(""),s(""),w(null),u(!1),y(!1),A(null),f()},C=async()=>{if(!r.trim())return void w("Personal Access Token is required");u(!0),w(null);try{let a=await fetch("/api/oauth/gitlab/pat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:r.trim(),baseUrl:l.trim()||i})}),b=await a.json();if(!a.ok)throw Error(b.error||"Authentication failed");c?.(),B()}catch(a){w(a.message)}finally{u(!1)}};return a?x&&z?(0,d.jsx)(h.LF,{isOpen:!0,provider:"gitlab",providerInfo:b,oauthMeta:z,onSuccess:()=>{c?.(),B()},onClose:()=>{y(!1),A(null)}}):(0,d.jsx)(h.aF,{isOpen:a,title:"Connect GitLab Duo",onClose:B,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Choose how to authenticate with GitLab Duo:"}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,d.jsxs)("button",{onClick:()=>k("oauth"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"lock_open"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"OAuth App"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab OAuth application"})]})]}),(0,d.jsxs)("button",{onClick:()=>k("pat"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"key"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"Personal Access Token"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab PAT with api scope"})]})]})]})]}),"oauth"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Create an OAuth app at"," ",(0,d.jsx)("a",{href:`${l.trim()||i}/-/profile/applications`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Applications"})," ","with redirect URI"," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"http://localhost/callback"})]}),(0,d.jsx)(h.pd,{label:"GitLab Base URL",value:l,onChange:a=>m(a.target.value),placeholder:i}),(0,d.jsx)(h.pd,{label:"Client ID",value:n,onChange:a=>o(a.target.value),placeholder:"Your OAuth application client ID"}),(0,d.jsx)(h.pd,{label:"Client Secret (optional for PKCE)",value:p,onChange:a=>q(a.target.value),placeholder:"Leave empty for public PKCE app"}),v&&(0,d.jsx)("p",{className:"text-sm text-red-500",children:v}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{n.trim()?(w(null),A({baseUrl:l.trim()||i,clientId:n.trim(),clientSecret:p.trim()}),y(!0)):w("Client ID is required")},fullWidth:!0,disabled:!n.trim(),children:"Authorize"}),(0,d.jsx)(h.$n,{onClick:()=>{k(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"pat"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Create a PAT at"," ",(0,d.jsx)("a",{href:`${l.trim()||i}/-/user_settings/personal_access_tokens`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Access Tokens"})," ","with scopes: ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"api"}),","," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"read_user"}),", and"," ",(0,d.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"ai_features"}),"."]}),(0,d.jsx)(h.pd,{label:"GitLab Base URL",value:l,onChange:a=>m(a.target.value),placeholder:i}),(0,d.jsx)(h.pd,{label:"Personal Access Token",value:r,onChange:a=>s(a.target.value),placeholder:"glpat-xxxxxxxxxxxxxxxxxxxx",type:"password"}),v&&(0,d.jsx)("p",{className:"text-sm text-red-500",children:v}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:C,fullWidth:!0,disabled:!r.trim()||t,loading:t,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>{k(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})}):null}j.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},48437:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(84808),i=c(79346);function j({isOpen:a,providerInfo:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)(null),l=(0,e.useCallback)(a=>{"browser"===a&&k("browser")},[]),m=(0,e.useCallback)(()=>{c?.()},[c]);return g?"browser"===g?(0,d.jsx)(i.default,{isOpen:a,provider:"codex",providerInfo:b,onSuccess:()=>{k(null),c?.(),f?.()},onClose:()=>{k(null)}}):null:(0,d.jsx)(h.default,{isOpen:a,onMethodSelect:l,onImportSuccess:m,onClose:f})}j.propTypes={isOpen:g().bool.isRequired,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired}},48781:(a,b,c)=>{c.d(b,{default:()=>k});var d=c(48249),e=c(2116),f=c.n(e),g=c(12020);let h=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],i=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],j=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function k(){return(0,d.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,d.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,d.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,d.jsx)("div",{className:"size-6 text-primary",children:(0,d.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,d.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,d.jsx)("span",{className:"text-xl font-bold text-text-main",children:g.vQ.name})]}),(0,d.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,d.jsxs)("div",{className:"flex gap-4",children:[(0,d.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,d.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:h.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,d.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:j.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)(f(),{href:a.href,className:"hover:text-primary transition-colors",children:a.label})},a.label))})]})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",g.vQ.name," Inc. All rights reserved."]}),(0,d.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,d.jsx)(f(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,d.jsx)(f(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},50377:(a,b,c)=>{c.d(b,{C:()=>e});var d=c(67484);function e(a=2e3){let[b,c]=(0,d.useState)(null),f=(0,d.useRef)(null);return{copied:b,copy:(0,d.useCallback)((b,d="default")=>{(async()=>{if(navigator?.clipboard?.writeText)await navigator.clipboard.writeText(b);else{let a=document.createElement("textarea");a.value=b,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}})(),c(d),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{c(null)},a)},[a])}}},50412:(a,b,c)=>{c.d(b,{x0:()=>y.default,Ex:()=>j.default,$n:()=>d.default,Zp:()=>g.default,Qv:()=>i.CardSkeleton,K3:()=>t.default,CK:()=>o.default,uo:()=>h.ConfirmModal,G9:()=>u.default,wI:()=>x.default,vj:()=>w.default,vE:()=>v.default,pd:()=>e.default,Mh:()=>s.default,uR:()=>n.default,Nf:()=>p.default,aF:()=>h.default,rq:()=>m.default,gw:()=>z.default,LF:()=>l.default,Wx:()=>C.default,gM:()=>r.default,Iz:()=>A.default,l6:()=>f.default,lM:()=>k.default,m_:()=>B.default,jK:()=>q.default});var d=c(99070),e=c(83552),f=c(4770),g=c(17660),h=c(95145),i=c(74812);c(25919);var j=c(75171),k=c(95514);c(53845),c(19308),c(42196),c(86739),c(48781);var l=c(79346),m=c(83352),n=c(39645),o=c(62727),p=c(20084),q=c(87226);c(267),c(3236),c(11229);var r=c(91809);c(8590);var s=c(5291);c(56110),c(84808);var t=c(48437),u=c(51109),v=c(79488),w=c(43182),x=c(51585),y=c(67738),z=c(50585),A=c(91099),B=c(32971),C=c(11633);c(85306),c(53838)},50585:(a,b,c)=>{c.d(b,{default:()=>l});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(17660),i=c(4770),j=c(75171);let k="__none__";function l({providerId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(k),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(!1),q=async b=>{g(b),n(!0);try{let c=await fetch("/api/settings",{cache:"no-store"}),d=(c.ok?await c.json():{}).providerStrategies||{},e={...d[a]||{}};b===k?delete e.proxyPoolId:e.proxyPoolId=b;let f={...d};0===Object.keys(e).length?delete f[a]:f[a]=e,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:f})}),p(!0),setTimeout(()=>p(!1),1500)}catch(a){console.log("Save proxyPoolId error:",a)}finally{n(!1)}};return(0,d.jsxs)(h.default,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-10 h-10 rounded-full bg-green-500/10 text-green-500",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"lock_open"})}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"No authentication required"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"This provider is ready to use. Optionally route requests through a proxy pool to bypass IP-based limits."})]}),o&&(0,d.jsx)(j.default,{variant:"success",size:"sm",children:"Saved"})]}),(0,d.jsx)(i.default,{label:"Proxy Pool",value:f,onChange:a=>q(a.target.value),disabled:m,options:[{value:k,label:"None (direct)"},...b.map(a=>({value:a.id,label:a.name}))]})]})}l.propTypes={providerId:g().string.isRequired}},51109:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onSuccess:b,onClose:c}){let[f,g]=(0,e.useState)(""),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(!1),v=async()=>{q(!0),m(null),s(!1),u(!1);try{let a=await fetch("/api/oauth/cursor/auto-import"),b=await a.json();b.found?(g(b.accessToken),k(b.machineId),s(!0)):b.windowsManual?u(!0):m(b.error||"Could not auto-detect tokens")}catch(a){m("Failed to auto-detect tokens")}finally{q(!1)}},w=async()=>{if(!f.trim())return void m("Please enter an access token");if(!j.trim())return void m("Please enter a machine ID");o(!0),m(null);try{let a=await fetch("/api/oauth/cursor/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:f.trim(),machineId:j.trim()})}),d=await a.json();if(!a.ok)throw Error(d.error||"Import failed");b?.(),c()}catch(a){m(a.message)}finally{o(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Cursor IDE",onClose:c,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[p&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting tokens..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from Cursor IDE database"})]}),!p&&(0,d.jsxs)(d.Fragment,{children:[r&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Tokens auto-detected from Cursor IDE successfully!"})]})}),t&&(0,d.jsxs)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-3 rounded-lg border border-amber-200 dark:border-amber-800 flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm font-medium text-amber-800 dark:text-amber-200",children:"Could not read Cursor database automatically."})]}),(0,d.jsxs)("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:["Make sure Cursor IDE has been opened at least once, then click ",(0,d.jsx)("strong",{children:"Retry"}),". If the problem persists, paste your tokens manually below."]}),(0,d.jsx)(h.$n,{onClick:v,variant:"outline",fullWidth:!0,children:"Retry"})]}),!r&&!t&&!l&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Cursor IDE not detected. Please paste your tokens manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Access Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"Access token will be auto-filled...",rows:3,className:"w-full px-3 py-2 text-sm font-mono border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Machine ID ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:j,onChange:a=>k(a.target.value),placeholder:"Machine ID will be auto-filled...",className:"font-mono text-sm"})]}),l&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:l})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:w,fullWidth:!0,disabled:n||!f.trim()||!j.trim(),children:n?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:c,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onSuccess:g().func,onClose:g().func.isRequired}},51585:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(95145),i=c(83552),j=c(99070),k=c(75171),l=c(96919);function m({isOpen:a,connection:b,proxyPools:c,onSave:f,onClose:g}){let[n,o]=(0,e.useState)({name:"",priority:1,apiKey:""}),[p,q]=(0,e.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),[r,s]=(0,e.useState)({accountId:""}),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(!1),D=b?.authType==="oauth",E=b?.provider==="azure",F=b?.provider==="cloudflare-ai",G=!!b&&((0,l.mq)(b.provider)||(0,l.gb)(b.provider)),H=()=>{let a={...b?.providerSpecificData||{}};return E&&Object.assign(a,p),F&&Object.assign(a,r),Object.keys(a).length>0?a:void 0},I=async()=>{if(b?.provider){u(!0),w(null);try{let a=await fetch(`/api/providers/${b.id}/test`,{method:"POST"}),c=await a.json();w(c.valid?"success":"failed")}catch{w("failed")}finally{u(!1)}}},J=async()=>{if(b?.provider&&n.apiKey){y(!0),A(null);try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:n.apiKey,providerSpecificData:H()})}),c=await a.json();A(c.valid?"success":"failed")}catch{A("failed")}finally{y(!1)}}},K=async()=>{if(b){C(!0);try{let a={name:n.name,priority:n.priority};if(!D&&n.apiKey){a.apiKey=n.apiKey;let c="success"===z;if(!c)try{y(!0),A(null);let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:n.apiKey,providerSpecificData:H()})});c=!!(await a.json()).valid,A(c?"success":"failed")}catch{A("failed")}finally{y(!1)}c&&(a.testStatus="active",a.lastError=null,a.lastErrorAt=null)}E&&(a.providerSpecificData={azureEndpoint:p.azureEndpoint,apiVersion:p.apiVersion,deployment:p.deployment,organization:p.organization}),F&&(a.providerSpecificData={accountId:r.accountId}),await f(a)}finally{C(!1)}}};return b?(0,d.jsx)(h.default,{isOpen:a,title:"Edit Connection",onClose:g,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(i.default,{label:"Name",value:n.name,onChange:a=>o({...n,name:a.target.value}),placeholder:D?"Account name":"Production Key"}),D&&b.email&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,d.jsx)("p",{className:"font-medium",children:b.email})]}),(0,d.jsx)(i.default,{label:"Priority",type:"number",value:n.priority,onChange:a=>o({...n,priority:Number.parseInt(a.target.value,10)||1})}),!D&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(i.default,{label:"API Key",type:"password",value:n.apiKey,onChange:a=>o({...n,apiKey:a.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(j.default,{onClick:J,disabled:!n.apiKey||x||B,variant:"secondary",children:x?"Checking...":"Check"})})]}),z&&(0,d.jsx)(k.default,{variant:"success"===z?"success":"error",children:"success"===z?"Valid":"Invalid"})]}),E&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,d.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)(i.default,{label:"Azure Endpoint",value:p.azureEndpoint,onChange:a=>q({...p,azureEndpoint:a.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,d.jsx)(i.default,{label:"Deployment Name",value:p.deployment,onChange:a=>q({...p,deployment:a.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,d.jsx)(i.default,{label:"API Version",value:p.apiVersion,onChange:a=>q({...p,apiVersion:a.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,d.jsx)(i.default,{label:"Organization",value:p.organization,onChange:a=>q({...p,organization:a.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),!G&&!E&&!F&&(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(j.default,{onClick:I,variant:"secondary",disabled:t,children:t?"Testing...":"Test Connection"}),v&&(0,d.jsx)(k.default,{variant:"success"===v?"success":"error",children:"success"===v?"Valid":"Failed"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(j.default,{onClick:K,fullWidth:!0,disabled:B,children:B?"Saving...":"Save"}),(0,d.jsx)(j.default,{onClick:g,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}m.propTypes={isOpen:g().bool.isRequired,connection:g().shape({id:g().string,name:g().string,email:g().string,priority:g().number,authType:g().string,provider:g().string,providerSpecificData:g().object}),proxyPools:g().arrayOf(g().shape({id:g().string,name:g().string})),onSave:g().func.isRequired,onClose:g().func.isRequired}},53838:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(49885),f=c.n(e),g=c(53845);function h({children:a}){return(0,d.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,d.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,d.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,d.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,d.jsx)(g.default,{variant:"card"})}),(0,d.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:a})]})}h.propTypes={children:f().node.isRequired}},53845:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(42118),f=c(71404);function g({className:a,variant:b="default"}){let{isDark:c,toggleTheme:h}=(0,e.D)(),i={default:(0,f.cn)("flex items-center justify-center size-10 rounded-full","text-text-muted hover:text-text-main","hover:bg-surface-2 transition-colors"),card:(0,f.cn)("flex items-center justify-center size-11 rounded-full","bg-surface/60 hover:bg-surface","border border-border","backdrop-blur-md shadow-sm hover:shadow-[var(--shadow-warm)]","text-text-muted hover:text-brand-500","transition-all group")};return(0,d.jsx)("button",{onClick:h,className:(0,f.cn)(i[b],a),"aria-label":`Switch to ${c?"light":"dark"} mode`,title:`Switch to ${c?"light":"dark"} mode`,children:(0,d.jsx)("span",{className:(0,f.cn)("material-symbols-outlined text-[22px]","card"===b&&"transition-transform duration-300 group-hover:rotate-12"),children:c?"light_mode":"dark_mode"})})}},56110:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377);function j({isOpen:a,provider:b,onSuccess:c,onClose:f}){let[g,k]=(0,e.useState)("loading"),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)(null),{copied:t,copy:u}=(0,i.C)(),v=async()=>{try{let a;s(null);try{a=new URL(p)}catch(a){throw Error("Invalid callback URL format")}let d=a.searchParams.get("code"),e=a.searchParams.get("state"),f=a.searchParams.get("error");if(f)throw Error(a.searchParams.get("error_description")||f);if(!d)throw Error("No authorization code found in URL");if(n?.state&&e&&e!==n.state)throw Error("State mismatch - login failed");let g=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:d,codeVerifier:n.codeVerifier,state:e,expectedState:n.state,provider:b})}),h=await g.json();if(!g.ok)throw Error(h.error);k("success"),c?.()}catch(a){s(a.message),k("error")}},w="google"===b?"Google":"GitHub";return(0,d.jsx)(h.aF,{isOpen:a,title:`Connect Kiro via ${w}`,onClose:f,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",w," authentication"]})]}),"input"===g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:l,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"auth_url"===t?"check":"content_copy",onClick:()=>u(l,"auth_url"),children:"Copy"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,d.jsx)(h.pd,{value:p,onChange:a=>q(a.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:v,fullWidth:!0,disabled:!p,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:f,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,d.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",w," has been connected."]}),(0,d.jsx)(h.$n,{onClick:f,fullWidth:!0,children:"Done"})]}),"error"===g&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,d.jsx)("p",{className:"text-sm text-red-600 mb-4",children:r}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>k("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,d.jsx)(h.$n,{onClick:f,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}j.propTypes={isOpen:g().bool.isRequired,provider:g().oneOf(["google","github"]).isRequired,onSuccess:g().func,onClose:g().func.isRequired}},62727:(a,b,c)=>{c.d(b,{default:()=>l});var d=c(48249),e=c(67484),f=c(95145),g=c(83552),h=c(99070),i=c(83352);let j=/^[a-zA-Z0-9_.\-]+$/;function k({index:a,model:b,isFirst:c,isLast:f,onEdit:g,onMoveUp:h,onMoveDown:i,onRemove:j}){let[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(b),p=()=>{let a=n.trim();a&&a!==b?g(a):o(b),m(!1)};return(0,d.jsxs)("div",{className:"group flex min-w-0 items-center gap-1.5 rounded-md bg-black/[0.02] px-2 py-1 transition-colors hover:bg-black/[0.04] dark:bg-white/[0.02] dark:hover:bg-white/[0.04]",children:[(0,d.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-3 text-center shrink-0",children:a+1}),l?(0,d.jsx)("input",{autoFocus:!0,value:n,onChange:a=>o(a.target.value),onBlur:p,onKeyDown:a=>{"Enter"===a.key&&p(),"Escape"===a.key&&(o(b),m(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-white px-1.5 py-0.5 font-mono text-xs text-text-main outline-none dark:bg-black/20"}):(0,d.jsx)("div",{className:"min-w-0 flex-1 cursor-text truncate rounded px-1.5 py-0.5 font-mono text-xs text-text-main hover:bg-black/5 dark:hover:bg-white/5",onClick:()=>m(!0),title:"Click to edit",children:b}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[(0,d.jsx)("button",{onClick:h,disabled:c,className:`p-0.5 rounded ${c?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move up",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_upward"})}),(0,d.jsx)("button",{onClick:i,disabled:f,className:`p-0.5 rounded ${f?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move down",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_downward"})})]}),(0,d.jsx)("button",{onClick:j,className:"p-0.5 hover:bg-red-500/10 rounded text-text-muted hover:text-red-500 transition-all",title:"Remove",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"close"})})]})}function l({isOpen:a,combo:b,onClose:c,onSave:m,activeProviders:n,kindFilter:o=null,forcePrefix:p="",title:q}){let r=b?.name?p&&b.name.startsWith(p)?b.name.slice(p.length):b.name:"",[s,t]=(0,e.useState)(r),[u,v]=(0,e.useState)(b?.models||[]),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)({}),E=a=>{if(!a.trim())return B("Name is required"),!1;let b=p+a;return j.test(b)?(B(""),!0):(B("Only letters, numbers, -, _ and . allowed"),!1)},F=a=>{let b=a.target.value;p&&b.startsWith(p)&&(b=b.slice(p.length)),t(b),b?E(b):B("")},G=async()=>{E(s)&&(z(!0),await m({name:p+s.trim(),models:u}),z(!1))},H=!!b;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{isOpen:a,onClose:c,title:q||(H?"Edit Combo":"Create Combo"),children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{children:[p?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("label",{className:"text-sm font-medium mb-1 block",children:"Combo Name"}),(0,d.jsxs)("div",{className:"flex items-stretch",children:[(0,d.jsx)("span",{className:"inline-flex items-center px-2 rounded-l border border-r-0 border-black/10 dark:border-white/10 bg-black/[0.04] dark:bg-white/[0.04] text-text-muted font-mono text-sm",children:p}),(0,d.jsx)("input",{value:s,onChange:F,placeholder:"my-combo",className:"flex-1 min-w-0 rounded-r border border-black/10 dark:border-white/10 bg-white dark:bg-black/20 px-2 py-1.5 font-mono text-sm outline-none focus:border-primary"})]}),A&&(0,d.jsx)("p",{className:"text-[11px] text-red-500 mt-0.5",children:A})]}):(0,d.jsx)(g.default,{label:"Combo Name",value:s,onChange:F,placeholder:"my-combo",error:A}),(0,d.jsxs)("p",{className:"text-[10px] text-text-muted mt-0.5",children:[p?`Auto-prefixed with "${p}". `:"","Only letters, numbers, -, _ and . allowed"]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-sm font-medium mb-1.5 block",children:"Models"}),0===u.length?(0,d.jsxs)("div",{className:"text-center py-4 border border-dashed border-black/10 dark:border-white/10 rounded-lg bg-black/[0.01] dark:bg-white/[0.01]",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-xl mb-1",children:"layers"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"No models added yet"})]}):(0,d.jsx)("div",{className:"flex max-h-[55vh] min-w-0 flex-col gap-1 overflow-y-auto sm:max-h-[350px]",children:u.map((a,b)=>(0,d.jsx)(k,{index:b,model:a,isFirst:0===b,isLast:b===u.length-1,onEdit:a=>{let c=[...u];c[b]=a,v(c)},onMoveUp:()=>(a=>{if(0===a)return;let b=[...u];[b[a-1],b[a]]=[b[a],b[a-1]],v(b)})(b),onMoveDown:()=>(a=>{if(a===u.length-1)return;let b=[...u];[b[a],b[a+1]]=[b[a+1],b[a]],v(b)})(b),onRemove:()=>v(u.filter((a,c)=>c!==b))},b))}),(0,d.jsxs)("button",{onClick:()=>x(!0),className:"w-full mt-2 py-2 border border-dashed border-black/10 dark:border-white/10 rounded-lg text-xs text-primary font-medium hover:text-primary hover:border-primary/50 transition-colors flex items-center justify-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,d.jsx)(h.default,{onClick:c,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,d.jsx)(h.default,{onClick:G,fullWidth:!0,size:"sm",disabled:!s.trim()||!!A||y,children:y?"Saving...":H?"Save":"Create"})]})]})}),(0,d.jsx)(i.default,{isOpen:w,onClose:()=>x(!1),onSelect:a=>{u.includes(a.value)||v([...u,a.value])},onDeselect:a=>{v(u.filter(b=>b!==a.value))},activeProviders:n,modelAliases:C,title:"Add Model to Combo",kindFilter:o,addedModelValues:u,closeOnSelect:!1})]})}},67738:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onClose:b,onCreated:c,onSaved:f,node:g}){let j=!!g,[k,l]=(0,e.useState)({name:"",prefix:"",baseUrl:"https://api.openai.com/v1"}),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),w=async()=>{if(k.name.trim()&&k.prefix.trim()&&k.baseUrl.trim()){n(!0);try{let a=j?`/api/provider-nodes/${g.id}`:"/api/provider-nodes",b={name:k.name,prefix:k.prefix,baseUrl:k.baseUrl};j||(b.type="custom-embedding");let d=await fetch(a,{method:j?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await d.json();d.ok&&(j?f?.(e.node):c?.(e.node))}catch(a){console.log("Error saving custom embedding node:",a)}finally{n(!1)}}},x=async()=>{t(!0);try{let a=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:k.baseUrl,apiKey:o,type:"custom-embedding",modelId:q.trim()||void 0})}),b=await a.json();v(b)}catch{v({valid:!1,error:"Network error"})}finally{t(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:j?"Edit Custom Embedding":"Add Custom Embedding",onClose:b,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Name",value:k.name,onChange:a=>l({...k,name:a.target.value}),placeholder:"Voyage AI",hint:"Required. A friendly label for this embedding provider."}),(0,d.jsx)(h.pd,{label:"Prefix",value:k.prefix,onChange:a=>l({...k,prefix:a.target.value}),placeholder:"voyage",hint:"Required. Used as the provider prefix for model IDs (e.g. voyage/voyage-3)."}),(0,d.jsx)(h.pd,{label:"Base URL",value:k.baseUrl,onChange:a=>l({...k,baseUrl:a.target.value}),placeholder:"https://api.voyageai.com/v1",hint:"Most embedding APIs are OpenAI-compatible: Voyage, Cohere, Jina, Mistral, Together..."}),(0,d.jsx)(h.pd,{label:"API Key (for Check)",type:"password",value:o,onChange:a=>p(a.target.value)}),(0,d.jsx)(h.pd,{label:"Model ID (for Check)",value:q,onChange:a=>r(a.target.value),placeholder:"e.g. voyage-3, embed-english-v3.0, text-embedding-3-small",hint:"Required for validation. Will send a test embeddings request."}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(h.$n,{onClick:x,disabled:!o||!q.trim()||s||!k.baseUrl.trim(),variant:"secondary",children:s?"Checking...":"Check"}),(()=>{if(!u)return null;let{valid:a,error:b,dimensions:c}=u;return a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.Ex,{variant:"success",children:"Valid"}),c&&(0,d.jsxs)("span",{className:"text-sm text-text-muted",children:[c," dims"]})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(h.Ex,{variant:"error",children:"Invalid"}),b&&(0,d.jsx)("span",{className:"text-sm text-red-500",children:b})]})})()]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:w,fullWidth:!0,disabled:!k.name.trim()||!k.prefix.trim()||!k.baseUrl.trim()||m,children:m?j?"Saving...":"Creating...":j?"Save":"Create"}),(0,d.jsx)(h.$n,{onClick:b,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onCreated:g().func,onSaved:g().func,node:g().shape({id:g().string,name:g().string,prefix:g().string,baseUrl:g().string})}},71404:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},72738:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f);function h({src:a,alt:b,size:c=32,className:f="",fallbackText:g="?",fallbackColor:i}){let[j,k]=(0,e.useState)(!1);return!a||j?(0,d.jsx)("span",{className:`inline-flex items-center justify-center font-bold rounded-lg ${f}`.trim(),style:{width:c,height:c,color:i,fontSize:Math.max(10,Math.floor(.38*c))},children:g}):(0,d.jsx)("img",{src:a,alt:b,width:c,height:c,className:f,onError:()=>k(!0)})}h.propTypes={src:g().string,alt:g().string,size:g().number,className:g().string,fallbackText:g().string,fallbackColor:g().string}},74812:(a,b,c)=>{c.d(b,{CardSkeleton:()=>i,PageLoading:()=>g,Skeleton:()=>h,Spinner:()=>f,default:()=>j});var d=c(48249),e=c(71404);function f({size:a="md",className:b}){return(0,d.jsx)("span",{className:(0,e.cn)("material-symbols-outlined animate-spin text-brand-500",{sm:"size-4",md:"size-6",lg:"size-8",xl:"size-12"}[a],b),children:"progress_activity"})}function g({message:a="Loading..."}){return(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center bg-bg",children:[(0,d.jsx)(f,{size:"xl"}),(0,d.jsx)("p",{className:"mt-4 text-text-muted",children:a})]})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("animate-pulse rounded-[10px] bg-surface-2",a),...b})}function i(){return(0,d.jsxs)("div",{className:"p-6 rounded-[14px] border border-border-subtle bg-surface shadow-[var(--shadow-soft)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)(h,{className:"h-4 w-24"}),(0,d.jsx)(h,{className:"size-10 rounded-[10px]"})]}),(0,d.jsx)(h,{className:"h-8 w-16 mb-2"}),(0,d.jsx)(h,{className:"h-3 w-20"})]})}function j({type:a="spinner",...b}){switch(a){case"page":return(0,d.jsx)(g,{...b});case"skeleton":return(0,d.jsx)(h,{...b});case"card":return(0,d.jsx)(i,{...b});default:return(0,d.jsx)(f,{...b})}}},75171:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={default:"bg-surface-2 text-text-muted",primary:"bg-brand-500/10 text-brand-600 dark:text-brand-300",success:"bg-green-500/10 text-green-600 dark:text-green-400",warning:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",error:"bg-red-500/10 text-red-600 dark:text-red-400",info:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},g={sm:"px-2 py-0.5 text-[10px]",md:"px-2.5 py-1 text-xs",lg:"px-3 py-1.5 text-sm"};function h({children:a,variant:b="default",size:c="md",dot:i=!1,icon:j,className:k,...l}){return(0,d.jsxs)("span",{...l,className:(0,e.cn)("inline-flex items-center gap-1.5 rounded-full font-semibold",f[b],g[c],k),children:[i&&(0,d.jsx)("span",{className:(0,e.cn)("size-1.5 rounded-full","success"===b&&"bg-green-500","warning"===b&&"bg-yellow-500","error"===b&&"bg-red-500","info"===b&&"bg-blue-500","primary"===b&&"bg-brand-500","default"===b&&"bg-gray-500")}),j&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:j}),a]})}},79346:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377);function j({isOpen:a,provider:b,providerInfo:c,onSuccess:f,onClose:g,oauthMeta:k,idcConfig:l}){let[m,n]=(0,e.useState)("waiting"),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),A=(0,e.useRef)(null),B=(0,e.useRef)(!1),{copied:C,copy:D}=(0,i.C)(),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)("/callback?code=...");(0,e.useRef)(!1);let I=(0,e.useCallback)(async(a,c)=>{if(o)try{let d=await fetch(`/api/oauth/${b}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,redirectUri:o.redirectUri,codeVerifier:o.codeVerifier,state:c,...k?{meta:k}:{}})}),e=await d.json();if(!d.ok)throw Error(e.error);n("success"),f?.()}catch(a){t(a.message),n("error")}},[o,b,f]),J=(0,e.useCallback)(async a=>{if(o?.state)try{let b=await fetch("/api/oauth/xai/manual-code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,state:o.state})}),c=await b.json();if(!b.ok)throw Error(c.error);n("success"),f?.()}catch(a){t(a.message),n("error")}},[o,f]),K=(0,e.useCallback)(async(a,c,d,e)=>{B.current=!1,z(!0);for(let g=0;g<60;g++){if(B.current){console.log("[OAuthModal] Polling aborted"),z(!1);return}if(await new Promise(a=>setTimeout(a,1e3*d)),B.current){console.log("[OAuthModal] Polling aborted after sleep"),z(!1);return}try{let g=await fetch(`/api/oauth/${b}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:a,codeVerifier:c,extraData:e})}),h=await g.json();if(h.success){B.current=!0,n("success"),z(!1),f?.();return}if("expired_token"===h.error||"access_denied"===h.error)throw Error(h.errorDescription||h.error);"slow_down"===h.error&&(d=Math.min(d+5,30))}catch(a){t(a.message),n("error"),z(!1);return}}t("Authorization timeout"),n("error"),z(!1)},[b,f]),L=(0,e.useCallback)(async()=>{if(b)try{let a;if(t(null),["github","qwen","kiro","kimi-coding","kilocode","codebuddy"].includes(b)){v(!0),n("waiting");let a=new URL(`/api/oauth/${b}/device-code`,window.location.origin);"kiro"===b&&l?.startUrl&&(a.searchParams.set("start_url",l.startUrl),l.region&&a.searchParams.set("region",l.region),a.searchParams.set("auth_method","idc"));let c=await fetch(a.toString()),d=await c.json();if(!c.ok)throw Error(d.error);x(d);let e=d.verification_uri_complete||d.verification_uri;e&&window.open(e,"_blank","noopener,noreferrer");let f="kiro"===b?{_clientId:d._clientId,_clientSecret:d._clientSecret,_region:d._region,_authMethod:d._authMethod,_startUrl:d._startUrl}:null;K(d.device_code,d.codeVerifier,d.interval||5,f);return}let c=window.location.port||("https:"===window.location.protocol?"443":"80");a="codex"===b?"http://localhost:1455/auth/callback":"xai"===b?"http://127.0.0.1:56121/callback":`http://localhost:${c}/callback`;let d=new URL(`/api/oauth/${b}/authorize`,window.location.origin);d.searchParams.set("redirect_uri",a),k&&Object.entries(k).forEach(([a,b])=>{b&&d.searchParams.set(a,b)});let e=await fetch(d.toString()),f=await e.json();if(!e.ok)throw Error(f.error);let g=!1,h=!1;if("codex"===b)try{let b=new URL("/api/oauth/codex/start-proxy",window.location.origin);b.searchParams.set("app_port",c),b.searchParams.set("state",f.state),b.searchParams.set("code_verifier",f.codeVerifier),b.searchParams.set("redirect_uri",a);let d=await fetch(b.toString()),e=await d.json();g=e.success,h=!!e.serverSide}catch{g=!1}let i=!1,j=!1;if("xai"===b)try{let b=new URL("/api/oauth/xai/start-proxy",window.location.origin);b.searchParams.set("app_port",c),b.searchParams.set("state",f.state),b.searchParams.set("code_verifier",f.codeVerifier),b.searchParams.set("redirect_uri",a);let d=await fetch(b.toString()),e=await d.json();if(i=e.success,j=!!e.serverSide,!i&&"port_busy"===e.reason)throw Error("Port 56121 in use; close the conflicting process and retry")}catch(a){if(a?.message)throw a;i=!1}p({...f,redirectUri:a,codexServerSide:h,xaiServerSide:j}),"codex"===b&&g||"xai"===b&&i||E&&"codex"!==b&&"xai"!==b?(n("waiting"),A.current=window.open(f.authUrl,"oauth_popup","width=600,height=700"),A.current||n("input")):(n("input"),window.open(f.authUrl,"_blank"))}catch(a){t(a.message),n("error")}},[b,E,K,k,l]),M=async()=>{try{t(null);let a=q.trim();if(a.startsWith("eyJ")&&a.includes("."))return void await I(a,null);if("xai"===b&&a&&!a.includes("://")&&!a.includes("?")&&!a.includes("code="))return void await J(a);let c=new URL(a),d=c.searchParams.get("code"),e=c.searchParams.get("state"),f=c.searchParams.get("error");if(f)throw Error(c.searchParams.get("error_description")||f);if(!d)throw Error("xai"===b?"Paste the callback URL or copied xAI code":"No authorization code found in URL");await I(d,e)}catch(a){t(a.message),n("error")}},N=(0,e.useCallback)(()=>{"codex"===b?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===b&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}),g()},[g,b]);if(!b||!c)return null;let O="xai"===b,P=w?.verification_uri_complete||w?.verification_uri||"",Q=O?"Connect Grok Build OAuth":`Connect ${c.name}`;return(0,d.jsx)(h.aF,{isOpen:a,title:Q,onClose:N,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[("waiting"===m||"input"===m)&&!u&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border border-border rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-base text-primary animate-spin",children:"progress_activity"}),(0,d.jsx)("span",{className:"text-sm",children:O?"Waiting for Grok Build OAuth…":"Waiting for popup authorization…"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 my-1",children:[(0,d.jsx)("div",{className:"flex-1 h-px bg-border"}),(0,d.jsx)("span",{className:"text-xs text-text-muted uppercase tracking-wider",children:"Or paste callback URL manually"}),(0,d.jsx)("div",{className:"flex-1 h-px bg-border"})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 1: Open this ",O?"Grok Build OAuth URL":"URL"," in your browser"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:o?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"auth_url"===C?"check":"content_copy",onClick:()=>D(o?.authUrl,"auth_url"),disabled:!o?.authUrl,children:"Copy"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 2: Paste the ","xai"===b?"callback URL or copied code":"callback URL"," here"]}),(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"xai"===b?"If xAI shows a code instead of redirecting, paste that code here.":"After authorization, copy the full URL from your browser."}),(0,d.jsx)(h.pd,{value:q,onChange:a=>r(a.target.value),placeholder:O?"http://127.0.0.1:56121/callback?code=... or copied code":G,className:"font-mono text-xs"})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:M,fullWidth:!0,disabled:!q,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:N,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"waiting"===m&&u&&w&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"text-center py-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the login URL below and authorize:"}),(0,d.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Login URL"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("code",{className:"flex-1 text-sm break-all",children:P}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"login_url"===C?"check":"content_copy",onClick:()=>D(P,"login_url"),disabled:!P}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"open_in_new",onClick:()=>window.open(P,"_blank","noopener,noreferrer"),disabled:!P,children:"Open"})]})]}),(0,d.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:w.user_code}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",icon:"user_code"===C?"check":"content_copy",onClick:()=>D(w.user_code,"user_code")})]})]})]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"success"===m&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,d.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",c.name," account has been connected."]}),(0,d.jsx)(h.$n,{onClick:N,fullWidth:!0,children:"Done"})]}),"error"===m&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,d.jsx)("p",{className:"text-sm text-red-600 mb-4",children:s}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:L,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,d.jsx)(h.$n,{onClick:N,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}j.propTypes={isOpen:g().bool.isRequired,provider:g().string,providerInfo:g().shape({name:g().string}),onSuccess:g().func,onClose:g().func.isRequired,oauthMeta:g().object,idcConfig:g().shape({startUrl:g().string,region:g().string})}},79488:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onSuccess:b,onClose:c}){let[f,g]=(0,e.useState)(""),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!1),p=async()=>{if(!f.trim())return void m("Please paste your cookie");k(!0),m(null);try{let a=await fetch("/api/oauth/iflow/cookie",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cookie:f.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Authentication failed");o(!0),setTimeout(()=>{b?.(),q()},1500)}catch(a){m(a.message)}finally{k(!1)}},q=()=>{g(""),m(null),o(!1),c?.()};return(0,d.jsx)(h.aF,{isOpen:a,onClose:q,title:"iFlow Cookie Authentication",children:(0,d.jsx)("div",{className:"space-y-4",children:n?(0,d.jsxs)("div",{className:"text-center py-8",children:[(0,d.jsx)("div",{className:"text-6xl mb-4",children:"✅"}),(0,d.jsx)("p",{className:"text-lg font-medium text-text-primary",children:"Authentication Successful!"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:"Fresh API key obtained"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["To get a fresh API key, paste your browser cookie from"," ",(0,d.jsx)("a",{href:"https://platform.iflow.cn",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"platform.iflow.cn"})]}),(0,d.jsxs)("div",{className:"bg-surface-secondary p-3 rounded-lg text-xs space-y-2",children:[(0,d.jsx)("p",{className:"font-medium text-text-primary",children:"How to get cookie:"}),(0,d.jsxs)("ol",{className:"list-decimal list-inside space-y-1 text-text-muted",children:[(0,d.jsx)("li",{children:"Open platform.iflow.cn in your browser"}),(0,d.jsx)("li",{children:"Login to your account"}),(0,d.jsx)("li",{children:"Open DevTools (F12) → Application/Storage → Cookies"}),(0,d.jsx)("li",{children:"Copy the entire cookie string (must include BXAuth)"}),(0,d.jsx)("li",{children:"Paste it below"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-text-primary",children:"Cookie String"}),(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"BXAuth=xxx; ...",className:"w-full px-3 py-2 bg-surface-secondary border border-border rounded-lg text-sm text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-primary resize-none",rows:4,disabled:j})]}),l&&(0,d.jsx)("div",{className:"p-3 bg-error/10 border border-error/20 rounded-lg",children:(0,d.jsx)("p",{className:"text-sm text-error",children:l})}),(0,d.jsxs)("div",{className:"flex gap-3 pt-2",children:[(0,d.jsx)(h.$n,{variant:"secondary",onClick:q,disabled:j,fullWidth:!0,children:"Cancel"}),(0,d.jsx)(h.$n,{onClick:p,loading:j,fullWidth:!0,children:"Authenticate"})]})]})})})}i.propTypes={isOpen:g().bool.isRequired,onSuccess:g().func,onClose:g().func}},83352:(a,b,c)=>{c.d(b,{default:()=>n});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(95145),i=c(72738),j=c(91431),k=c(96919);let l=[...Object.keys(k.zN),...Object.keys(k.IS),...Object.keys(k.nJ),...Object.keys(k.fg)],m=Object.keys(k.IS).filter(a=>k.IS[a].noAuth);function n({isOpen:a,onClose:b,onSelect:c,onDeselect:f,selectedModel:g,activeProviders:o=[],title:p="Select Model",modelAliases:q={},kindFilter:r=null,addedModelValues:s=[],closeOnSelect:t=!0,hideCombos:u=!1}){let v=(0,e.useMemo)(()=>r?o.filter(a=>{let b=k.Q2[a.provider];return(b?.serviceKinds||["llm"]).includes(r)}):o,[o,r]),[w,x]=(0,e.useState)(""),[y,z]=(0,e.useState)([]),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)([]),[E,F]=(0,e.useState)({}),G=(0,e.useMemo)(()=>({...k.zN,...k.IS,...k.nJ,...k.fg}),[]),H=(0,e.useMemo)(()=>{let a={},b=new Set(["webSearch","webFetch"]),c=new Set(["image","tts","stt","embedding","imageToText"]),d=new Set(["tts","image","webFetch"]);return[...new Set([...v.map(a=>a.provider),...r?m.filter(a=>(k.Q2[a]?.serviceKinds||["llm"]).includes(r)):m])].sort((a,b)=>{let c=l.indexOf(a),d=l.indexOf(b);return(-1===c?999:c)-(-1===d?999:d)}).forEach(e=>{let f=(0,k.wG)(e),g=G[e]||{name:e,color:"#666"},h=(0,k.mq)(e)||(0,k.gb)(e);if(r&&b.has(r)){a[e]={name:g.name,alias:f,color:g.color,models:[{id:e,name:g.name,value:e}]};return}if(g.passthroughModels){let b=Object.entries(q).filter(([,a])=>a.startsWith(`${f}/`)).map(([a,b])=>({id:b.replace(`${f}/`,""),name:a,value:b}));if(r&&c.has(r)&&0===(b=(0,j.KC)(e).filter(a=>a.type===r).map(a=>({id:a.id,name:a.name,value:`${f}/${a.id}`,type:a.type}))).length&&d.has(r)&&(g.serviceKinds||["llm"]).includes(r)&&(b=[{id:e,name:g.name,value:f}]),b.length>0){let c=A.find(a=>a.id===e),d=c?.name||g.name;a[e]={name:d,alias:f,color:g.color,models:b}}}else if(h){if(r&&c.has(r))return;let b=o.find(a=>a.provider===e),d=A.find(a=>a.id===e),f=b?.name||d?.name||g.name,h=b?.providerSpecificData?.prefix||d?.prefix||e,i=Object.entries(q).filter(([,a])=>a.startsWith(`${e}/`)).map(([a,b])=>({id:b.replace(`${e}/`,""),name:a,value:`${h}/${b.replace(`${e}/`,"")}`})),j=i.length>0?i:[{id:`__placeholder__${e}`,name:`${h}/model-id`,value:`${h}/model-id`,isPlaceholder:!0}];a[e]={name:f,alias:h,color:g.color,models:j,isCustom:!0,hasModels:i.length>0}}else{var i;let b=(0,j.KC)(e),h=new Set(b.map(a=>a.id)),k=b.length>0,l=Object.entries(q).filter(([a,b])=>b.startsWith(`${f}/`)&&(!k||a===b.replace(`${f}/`,""))&&!h.has(b.replace(`${f}/`,""))).map(([a,b])=>({id:b.replace(`${f}/`,""),name:a,value:b,isCustom:!0})),m=new Set(l.map(a=>a.id)),n=C.filter(a=>a.providerAlias===f&&!h.has(a.id)&&!m.has(a.id)).map(a=>({id:a.id,name:a.name||a.id,value:`${f}/${a.id}`,isCustom:!0})),o=[...b.map(a=>({id:a.id,name:a.name,value:`${f}/${a.id}`,type:a.type})),...l,...n],p=new Set,s=(i=o.filter(a=>!p.has(a.value)&&(p.add(a.value),!0)),r?c.has(r)?i.filter(a=>a.isPlaceholder||a.type===r):i:i.filter(a=>a.isPlaceholder||!a.type||"llm"===a.type));0===s.length&&r&&d.has(r)&&(g.serviceKinds||["llm"]).includes(r)&&(s=[{id:e,name:g.name,value:f}]),s.length>0&&(a[e]={name:g.name,alias:f,color:g.color,models:s})}}),Object.entries(a).forEach(([b,c])=>{let d=new Set([...E[(0,k.wG)(b)]||[],...E[b]||[]]);0!==d.size&&(c.models=c.models.filter(a=>!d.has(a.id)),0===c.models.length&&delete a[b])}),a},[v,q,G,A,C,E,r,o]),I=(0,e.useMemo)(()=>{if(u||r)return[];if(!w.trim())return y;let a=w.toLowerCase();return y.filter(b=>b.name.toLowerCase().includes(a))},[y,w,r,u]),J=(0,e.useCallback)(a=>[...a.filter(a=>s.includes(a.value)).sort((a,b)=>a.name.localeCompare(b.name)),...a.filter(a=>!s.includes(a.value)).sort((a,b)=>a.name.localeCompare(b.name))],[s]),K=(0,e.useMemo)(()=>{let a=w.trim().toLowerCase(),b={};return Object.entries(H).forEach(([c,d])=>{let e=d.models;if(a){let b=d.name.toLowerCase().includes(a);if(0===(e=e.filter(b=>b.name.toLowerCase().includes(a)||b.id.toLowerCase().includes(a))).length&&!b)return}b[c]={...d,models:J(e)}}),b},[H,w,J]),L=a=>{let d=a?.value||a?.name||a;s.includes(d)&&f?f(a):c(a),t&&(b(),x(""))};return(0,d.jsxs)(h.default,{isOpen:a,onClose:()=>{b(),x("")},title:p,size:"md",className:"p-4!",footer:null,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-3 px-2.5 py-2 bg-primary/8 border border-primary/20 rounded-lg text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary shrink-0",style:{fontSize:"14px"},children:"info"}),(0,d.jsx)("span",{children:"Click to add, click again to remove. Changes are saved automatically."})]}),(0,d.jsx)("div",{className:"mb-3",children:(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("span",{className:"material-symbols-outlined absolute left-2.5 top-1/2 -translate-y-1/2 text-text-muted text-[16px]",children:"search"}),(0,d.jsx)("input",{type:"text",placeholder:"Search...",value:w,onChange:a=>x(a.target.value),className:"w-full pl-8 pr-3 py-1.5 bg-surface border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-primary/50"})]})}),(0,d.jsxs)("div",{className:"max-h-[400px] overflow-y-auto space-y-3",children:[I.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-[14px]",children:"layers"}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:"Combos"}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",I.length,")"]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:I.map(a=>{let b=g===a.name;return(0,d.jsxs)("button",{onClick:()=>L({id:a.name,name:a.name,value:a.name}),className:`
|
|
2
2
|
px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer flex items-center gap-1
|
|
3
3
|
${b?"bg-primary text-white border-primary":s.includes(a.name)?"bg-primary border-primary text-white hover:bg-primary-hover":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
|
|
4
4
|
`,children:[s.includes(a.name)&&(0,d.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),a.name]},a.id)})})]}),Object.entries(K).map(([a,b])=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,d.jsx)(i.A,{src:`/providers/${a}.png`,alt:b.name,size:14,fallbackText:(b.name||a).slice(0,2).toUpperCase(),fallbackColor:b.color}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:b.name}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",b.models.length,")"]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:b.models.map(a=>{let b=g===a.value,c=a.isPlaceholder;return(0,d.jsx)("button",{onClick:()=>L(a),title:c?"Select to pre-fill, then edit model ID in the input":void 0,className:`
|
|
5
5
|
px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer
|
|
6
6
|
${c?"border-dashed border-border text-text-muted hover:border-primary/50 hover:text-primary bg-surface italic":b?"bg-primary text-white border-primary":s.includes(a.value)?"bg-primary border-primary text-white hover:bg-primary-hover":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
|
|
7
|
-
`,children:(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[s.includes(a.value)&&!c&&(0,d.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),c?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),a.name]}):a.isCustom?(0,d.jsxs)(d.Fragment,{children:[a.name,(0,d.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):a.name]})},a.value)})})]},a)),0===Object.keys(K).length&&0===I.length&&(0,d.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,d.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}n.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onSelect:g().func.isRequired,onDeselect:g().func,selectedModel:g().string,activeProviders:g().arrayOf(g().shape({provider:g().string.isRequired})),title:g().string,modelAliases:g().object,kindFilter:g().string,addedModelValues:g().arrayOf(g().string),closeOnSelect:g().bool,hideCombos:g().bool}},83552:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,type:b="text",placeholder:c,value:g,onChange:h,error:i,hint:j,icon:k,disabled:l=!1,required:m=!1,className:n,inputClassName:o,...p}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",n),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,m&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[k&&(0,d.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:k})}),(0,d.jsx)("input",{type:b,placeholder:c,value:g,onChange:h,disabled:l,className:(0,e.cn)("w-full py-2.5 px-3 text-sm text-text-main bg-surface-2 rounded-[10px]","border border-transparent placeholder-text-muted/70","focus:outline-none focus:ring-2 focus:ring-brand-500/30 focus:border-brand-500/40","transition-all duration-150 ease-out disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",k&&"pl-10",i&&"ring-1 ring-red-500 focus:ring-2 focus:ring-red-500/40 border-red-500/40",o),...p})]}),i&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),i]}),j&&!i&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:j})]})}},84808:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onImportSuccess:c,onClose:f}){let[g,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),s=async()=>{if(!k.trim())return void n("Please paste JSON first");r(!0),n(null),p(null);try{let a=await fetch("/api/oauth/codex/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({json:k.trim()})}),b=await a.json();if(!a.ok)throw Error(b.error||"Import failed");p(b),b.imported>0&&c?.(b)}catch(a){n(a.message||"Import failed")}finally{r(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Codex",onClose:f,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!g&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("browser"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"open_in_browser"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Browser Login"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login via browser with your ChatGPT/OpenAI account."})]})]})}),(0,d.jsx)("button",{onClick:()=>j("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste 9router export JSON or ChatGPT session JSON."})]})]})})]}),"import"===g&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["Supports exported 9router JSON and ChatGPT session JSON from"," ",(0,d.jsx)("a",{href:"https://chatgpt.com/api/auth/session",target:"_blank",rel:"noreferrer",className:"font-mono font-semibold underline underline-offset-2",children:"chatgpt.com/api/auth/session"}),"."]})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["JSON ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)("textarea",{value:k,onChange:a=>{l(a.target.value),n(null),p(null)},placeholder:'{"version":1,"connections":[{"provider":"codex","accessToken":"..."}]}',spellCheck:!1,className:"min-h-56 w-full rounded-lg border border-border bg-surface px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary focus:ring-1 focus:ring-primary/40"})]}),o&&(0,d.jsxs)("div",{className:`${o.imported>0?"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800":"bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800"} p-3 rounded-lg border`,children:[(0,d.jsxs)("p",{className:`${o.imported>0?"text-green-800 dark:text-green-200":"text-yellow-800 dark:text-yellow-200"} text-sm`,children:[o.imported>0?`Imported ${o.imported} account${1===o.imported?"":"s"}.`:"No new accounts imported.",o.skipped?` ${o.skipped} skipped.`:""]}),Array.isArray(o.results)&&o.results.some(a=>"skipped"===a.status)&&(0,d.jsx)("div",{className:"mt-2 space-y-1 text-xs text-yellow-800 dark:text-yellow-200",children:o.results.filter(a=>"skipped"===a.status).map((a,b)=>(0,d.jsx)("p",{className:"break-all",children:"duplicate_email"===a.reason?`${a.email||a.name||"Account"} already exists.`:`${a.email||a.name||"Account"} skipped: ${a.reason||"unknown reason"}.`},`${a.email||a.name||"skipped"}-${b}`))})]}),m&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:m})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:s,fullWidth:!0,disabled:q||!k.trim(),children:q?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:()=>{j(null),n(null),p(null)},variant:"ghost",fullWidth:!0,disabled:q,children:"Back"})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onImportSuccess:g().func,onClose:g().func.isRequired}},85306:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(19099),g=c(41371),h=c(42196),i=c(86739);function j({children:a}){let[b,c]=(0,e.useState)(!1),k=(0,f.usePathname)(),l=(0,g.i)(a=>a.notifications),m=(0,g.i)(a=>a.removeNotification);return(0,d.jsxs)("div",{className:"flex h-screen w-full overflow-hidden bg-bg",children:[(0,d.jsx)("div",{className:"fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2",children:l.map(a=>{var b;let c="success"===(b=a.type)?{wrapper:"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400",icon:"check_circle"}:"error"===b?{wrapper:"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400",icon:"error"}:"warning"===b?{wrapper:"border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400",icon:"warning"}:{wrapper:"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",icon:"info"};return(0,d.jsx)("div",{className:`rounded-lg border px-3 py-2 shadow-lg backdrop-blur-sm ${c.wrapper}`,children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] leading-5",children:c.icon}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[a.title?(0,d.jsx)("p",{className:"text-xs font-semibold mb-0.5",children:a.title}):null,(0,d.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:a.message})]}),a.dismissible?(0,d.jsx)("button",{type:"button",onClick:()=>m(a.id),className:"text-current/70 hover:text-current","aria-label":"Dismiss notification",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})}):null]})},a.id)})}),b&&(0,d.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 lg:hidden",onClick:()=>c(!1)}),(0,d.jsx)("div",{className:"hidden lg:flex",children:(0,d.jsx)(h.default,{})}),(0,d.jsx)("div",{className:`fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out ${b?"translate-x-0":"-translate-x-full"}`,children:(0,d.jsx)(h.default,{onClose:()=>c(!1)})}),(0,d.jsxs)("main",{className:"flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate",children:[(0,d.jsx)("div",{className:"landing-grid absolute inset-0 pointer-events-none -z-10","aria-hidden":"true"}),(0,d.jsx)(i.default,{onMenuClick:()=>c(!0)},k),(0,d.jsx)("div",{className:`flex-1 overflow-y-auto custom-scrollbar ${"/dashboard/basic-chat"===k?"":"p-6 lg:p-10"} ${"/dashboard/basic-chat"===k?"flex flex-col overflow-hidden":""}`,children:(0,d.jsx)("div",{className:`${"/dashboard/basic-chat"===k?"flex-1 w-full h-full flex flex-col":"max-w-7xl mx-auto"}`,children:a})})]})]})}},86209:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onClose:c}){let[f,g]=(0,e.useState)(null),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)("us-east-1"),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(!1),x=a=>{g(a),q(null)},y=()=>{g(null),q(null)},z=async()=>{if(!n.trim())return void q("Please enter a refresh token");s(!0),q(null);try{let a=await fetch("/api/oauth/kiro/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Import failed");b("import")}catch(a){q(a.message)}finally{s(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Kiro",onClose:c,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!f&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("social",{provider:"google"}),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"account_circle"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Google Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with the Kiro desktop Google flow."})]})]})}),(0,d.jsx)("button",{onClick:()=>b("builder-id"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"shield"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS Builder ID"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Use AWS SSO device authorization."})]})]})}),(0,d.jsx)("button",{onClick:()=>x("idc"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"business"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS IAM Identity Center"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Use your organization's AWS access portal."})]})]})}),(0,d.jsx)("button",{onClick:()=>x("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste refresh token from Kiro IDE."})]})]})})]}),"idc"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Start URL ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:j,onChange:a=>k(a.target.value),placeholder:"https://your-org.awsapps.com/start",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"AWS IAM Identity Center access portal URL"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Region"}),(0,d.jsx)(h.pd,{value:l,onChange:a=>m(a.target.value),placeholder:"us-east-1",className:"font-mono text-sm"})]}),p&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:p})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{j.trim()?b("idc",{startUrl:j.trim(),region:l.trim()||"us-east-1"}):q("Please enter your IAM Identity Center start URL")},fullWidth:!0,children:"Continue"}),(0,d.jsx)(h.$n,{onClick:y,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"import"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[t&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting token..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from AWS SSO cache"})]}),!t&&(0,d.jsxs)(d.Fragment,{children:[v&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Token auto-detected from Kiro IDE successfully!"})]})}),!v&&!p&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Kiro IDE not detected. Please paste your refresh token manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Refresh Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:n,onChange:a=>o(a.target.value),placeholder:"aorAAAAAG...",className:"font-mono text-sm"})]}),p&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:p})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:z,fullWidth:!0,disabled:r||!n.trim(),children:r?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:y,variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onClose:g().func.isRequired}},86739:(a,b,c)=>{c.d(b,{default:()=>r});var d=c(48249),e=c(67484),f=c(19099),g=c(2116),h=c.n(g),i=c(49885),j=c.n(i),k=c(72738),l=c(3236),m=c(53845),n=c(37365),o=c(12020),p=c(96919),q=c(99258);function r({onMenuClick:a,showMenuButton:b=!0}){let c=(0,f.usePathname)(),g=(0,f.useRouter)(),[i,j]=(0,e.useState)(""),[n,t]=(0,e.useState)(""),{title:u,description:v,icon:w,breadcrumbs:x}=(0,e.useMemo)(()=>(a=>{if(!a)return{title:"",description:"",breadcrumbs:[]};let b=a.match(/\/media-providers\/([^/]+)\/([^/]+)$/);if(b){let a=b[1],c=b[2],d=p.rj.find(b=>b.id===a),e=p.Q2[c];return{title:e?.name||c,description:"",breadcrumbs:[{label:"Media Providers",href:`/dashboard/media-providers/${a}`},{label:d?.label||a,href:`/dashboard/media-providers/${a}`},{label:e?.name||c,image:`/providers/${c}.png`}]}}let c=a.match(/\/media-providers\/([^/]+)$/);if(c){let a=c[1],b=p.rj.find(b=>b.id===a);return{title:b?.label||a,description:`Manage your ${b?.label||a} providers`,icon:b?.icon||"perm_media",breadcrumbs:[]}}let d=a.match(/\/providers\/([^/]+)$/);if(d){let a=d[1],b=o.zN[a]||o.fg[a];if(b)return{title:b.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:b.name,image:`/providers/${b.id}.png`}]}}return a.includes("/providers")&&!a.includes("/media-providers")?{title:"Providers",description:"Manage your AI provider connections",icon:"dns",breadcrumbs:[]}:a.includes("/combos")?{title:"Combos",description:"Model combos with fallback",icon:"layers",breadcrumbs:[]}:a.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",icon:"bar_chart",breadcrumbs:[]}:a.includes("/auth-files")?{title:"Auth Files",description:"Map provider credentials stored in the local database",icon:"vpn_key",breadcrumbs:[]}:a.includes("/quota")?{title:"Quota Tracker",description:"Track and manage your API quota limits",icon:"data_usage",breadcrumbs:[]}:a.includes("/mitm")?{title:"MITM Proxy",description:"Intercept CLI tool traffic and route through KTRouter",icon:"security",breadcrumbs:[]}:a.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",icon:"terminal",breadcrumbs:[]}:a.includes("/proxy-pools")?{title:"Proxy Pools",description:"Manage your proxy pool configurations",icon:"lan",breadcrumbs:[]}:a.includes("/skills")?{title:"Agent Skills",description:"Copy a link and paste to your AI to use KTRouter — no install needed",icon:"extension",breadcrumbs:[]}:a.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:a.includes("/profile")?{title:"Settings",description:"Manage your preferences",icon:"settings",breadcrumbs:[]}:a.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",icon:"translate",breadcrumbs:[]}:a.includes("/console-log")?{title:"Console Log",description:"Live server console output",icon:"monitor",breadcrumbs:[]}:"/dashboard"===a?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(c),[c]),y=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(g.push("/login"),g.refresh())}catch(a){console.error("Failed to logout:",a)}};return(0,d.jsxs)("header",{className:"shrink-0 flex items-center justify-between gap-3 px-4 lg:px-8 pt-3 pb-2 border-b border-border-subtle bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none z-20",children:[(0,d.jsx)("div",{className:"flex items-center gap-3 lg:hidden shrink-0",children:b&&(0,d.jsx)("button",{onClick:a,className:"text-text-main hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,d.jsx)("div",{className:"flex flex-col min-w-0 flex-1",children:x.length>0?(0,d.jsx)("div",{className:"flex items-center gap-2",children:x.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[b>0&&(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),a.href?(0,d.jsx)(h(),{href:a.href,className:"text-text-muted hover:text-primary transition-colors",children:a.label}):(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.image&&(0,d.jsx)(k.A,{src:a.image,alt:a.label,size:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",fallbackText:a.label.slice(0,2).toUpperCase()}),(0,d.jsx)("h1",{className:"text-base lg:text-2xl font-semibold text-text-main tracking-tight truncate",children:(0,q.Tl)(a.label)})]})]},`${a.label}-${a.href||"current"}`))}):u?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[w&&(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-xl lg:text-2xl",children:w}),(0,d.jsx)("h1",{className:"text-base lg:text-2xl font-semibold tracking-tight truncate",children:(0,q.Tl)(u)})]}),v&&(0,d.jsx)("p",{className:"hidden lg:block text-sm text-text-muted truncate",children:(0,q.Tl)(v)})]}):null}),(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[i&&"OIDC"===n&&(0,d.jsxs)("div",{className:"hidden sm:flex items-center max-w-[220px] px-3 py-1.5 rounded-full border border-border bg-surface/70 text-xs text-text-muted truncate",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1.5 text-primary",children:"person"}),(0,d.jsx)("span",{className:"truncate",children:i}),(0,d.jsx)("span",{className:"ml-2 shrink-0 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary",children:"OIDC"})]}),(0,d.jsx)(s,{}),(0,d.jsx)(m.default,{}),(0,d.jsx)(l.default,{onLogout:y})]})]})}function s(){let a=(0,n.C)(a=>a.visible),b=(0,n.C)(a=>a.query),c=(0,n.C)(a=>a.placeholder),e=(0,n.C)(a=>a.setQuery);return a?(0,d.jsxs)("div",{className:"relative w-[160px] sm:w-[220px]",children:[(0,d.jsx)("span",{className:"material-symbols-outlined absolute left-2 top-1/2 -translate-y-1/2 text-text-muted text-[16px] pointer-events-none",children:"search"}),(0,d.jsx)("input",{type:"text",value:b,onChange:a=>e(a.target.value),placeholder:c,className:"w-full h-8 pl-7 pr-7 rounded-lg border border-border bg-surface/60 text-sm focus:outline-none focus:border-primary/50 transition-colors"}),b&&(0,d.jsx)("button",{type:"button",onClick:()=>e(""),className:"absolute right-1 top-1/2 -translate-y-1/2 text-text-muted hover:text-text-main p-0.5 rounded","aria-label":"Clear search",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]}):null}r.propTypes={onMenuClick:j().func,showMenuButton:j().bool}},87226:(a,b,c)=>{c.d(b,{default:()=>T});var d=c(48249),e=c(67484),f=c(19099),g=c(96919),h=c(75171),i=c(17660),j=c(49885),k=c.n(j);let l=a=>new Intl.NumberFormat().format(a||0);function m({stats:a}){let b;return(0,d.jsxs)("div",{className:"grid min-w-0 grid-cols-1 gap-3 sm:grid-cols-2 md:grid-cols-4 sm:gap-4",children:[(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Requests"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold",children:l(a.totalRequests)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Input Tokens"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold text-primary",children:l(a.totalPromptTokens)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Output Tokens"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold text-success",children:l(a.totalCompletionTokens)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Est. Cost"}),(0,d.jsxs)("span",{className:"truncate text-2xl font-bold text-warning",children:["~",(b=a.totalCost,`$${(b||0).toFixed(2)}`)]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"Estimated, not actual billing"})]})]})}m.propTypes={stats:k().object.isRequired};let n=a=>new Intl.NumberFormat().format(a||0),o=a=>`$${(a||0).toFixed(2)}`;function p(a){if(!a)return"Never";let b=Math.floor((Date.now()-new Date(a))/6e4);return b<1?"Just now":b<60?`${b}m ago`:b<1440?`${Math.floor(b/60)}h ago`:new Date(a).toLocaleDateString()}function q({field:a,currentSort:b,currentOrder:c}){return b!==a?(0,d.jsx)("span",{className:"ml-1 opacity-20",children:"↕"}):(0,d.jsx)("span",{className:"ml-1",children:"asc"===c?"↑":"↓"})}function r({item:a,viewMode:b,isSummary:c=!1}){return"tokens"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.promptTokens?"—":n(a.promptTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.completionTokens?"—":n(a.completionTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium",children:n(a.totalTokens)})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.inputCost?"—":o(a.inputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.outputCost?"—":o(a.outputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium text-warning",children:o(a.totalCost||a.cost)})]})}function s({title:a,columns:b,groupedData:c,tableType:f,sortBy:g,sortOrder:h,onToggleSort:j,viewMode:k,storageKey:l,renderDetailCells:m,renderSummaryCells:n,emptyMessage:o}){let[p,t]=(0,e.useState)(new Set),u=(0,e.useCallback)(a=>{t(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),v=(0,e.useMemo)(()=>"tokens"===k?[{field:"promptTokens",label:"Input Tokens"},{field:"completionTokens",label:"Output Tokens"},{field:"totalTokens",label:"Total Tokens"}]:[{field:"promptTokens",label:"Input Cost"},{field:"completionTokens",label:"Output Cost"},{field:"cost",label:"Total Cost"}],[k]),w=b.length+v.length;return(0,d.jsxs)(i.default,{className:"overflow-hidden",children:[(0,d.jsx)("div",{className:"p-4 border-b border-border bg-bg-subtle/50",children:(0,d.jsx)("h3",{className:"font-semibold",children:a})}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"bg-bg-subtle/30 text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[b.map(a=>(0,d.jsxs)("th",{className:`px-6 py-3 cursor-pointer hover:bg-bg-subtle/50 ${"right"===a.align?"text-right":""}`,onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(q,{field:a.field,currentSort:g,currentOrder:h})]},a.field)),v.map(a=>(0,d.jsxs)("th",{className:"px-6 py-3 text-right cursor-pointer hover:bg-bg-subtle/50",onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(q,{field:a.field,currentSort:g,currentOrder:h})]},a.field))]})}),(0,d.jsxs)("tbody",{className:"divide-y divide-border",children:[c.map(a=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("tr",{className:"group-summary cursor-pointer hover:bg-bg-subtle/50 transition-colors",onClick:()=>u(a.groupKey),children:[(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted transition-transform ${p.has(a.groupKey)?"rotate-90":""}`,children:"chevron_right"}),(0,d.jsx)("span",{className:`font-medium transition-colors ${a.summary.pending>0?"text-primary":""}`,children:a.groupKey})]})}),n(a),(0,d.jsx)(r,{item:a.summary,viewMode:k,isSummary:!0})]}),p.has(a.groupKey)&&a.items.map(a=>(0,d.jsxs)("tr",{className:"group-detail hover:bg-bg-subtle/20 transition-colors",children:[m(a),(0,d.jsx)(r,{item:a,viewMode:k})]},`detail-${a.key}`))]},a.groupKey)),0===c.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:w,className:"px-6 py-8 text-center text-text-muted",children:o})})]})]})})]})}q.propTypes={field:k().string.isRequired,currentSort:k().string.isRequired,currentOrder:k().string.isRequired},r.propTypes={item:k().object.isRequired,viewMode:k().string.isRequired,isSummary:k().bool},s.propTypes={title:k().string.isRequired,columns:k().arrayOf(k().shape({field:k().string.isRequired,label:k().string.isRequired,align:k().string})).isRequired,groupedData:k().array.isRequired,tableType:k().string.isRequired,sortBy:k().string.isRequired,sortOrder:k().string.isRequired,onToggleSort:k().func.isRequired,viewMode:k().string.isRequired,storageKey:k().string.isRequired,renderDetailCells:k().func.isRequired,renderSummaryCells:k().func.isRequired,emptyMessage:k().string.isRequired};var t=c(96103),u=c(22805);function v({data:a}){let{label:b,color:c,imageUrl:f,textIcon:g,active:h}=a,[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center gap-2.5 px-4 py-2.5 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:h?c:"var(--color-border)",boxShadow:h?`0 0 16px ${c}40`:"none",minWidth:"150px"},children:[(0,d.jsx)(t.h7,{type:"target",position:u.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("div",{className:"w-8 h-8 rounded-md flex items-center justify-center shrink-0",style:{backgroundColor:`${c}15`},children:i?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:c},children:g}):(0,d.jsx)("img",{src:f,alt:b,className:"w-6 h-6 rounded-sm object-contain",onError:()=>j(!0)})}),(0,d.jsx)("span",{className:"text-base font-medium truncate",style:{color:h?c:"var(--color-text)"},children:b}),h&&(0,d.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:c}}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:c}})]})]})}function w({data:a}){return(0,d.jsxs)("div",{className:"flex items-center justify-center px-5 py-3 rounded-xl border-2 border-primary bg-primary/5 shadow-md min-w-[130px]",children:[(0,d.jsx)(t.h7,{type:"source",position:u.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("img",{src:"/favicon.svg",alt:"KTRouter",className:"w-6 h-6 mr-2"}),(0,d.jsx)("span",{className:"text-sm font-bold text-primary",children:"KTRouter"}),a.activeCount>0&&(0,d.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-primary text-white text-xs font-bold",children:a.activeCount})]})}c(71763),v.propTypes={data:k().object.isRequired},w.propTypes={data:k().object.isRequired};let x={provider:v,router:w};function y({providers:a=[],activeRequests:b=[],lastProvider:c="",errorProvider:f=""}){let h=(0,e.useMemo)(()=>b.map(a=>a.provider?.toLowerCase()).filter(Boolean).sort().join(","),[b]),i=c?.toLowerCase()||"",j=f?.toLowerCase()||"",k=(0,e.useMemo)(()=>new Set(h?h.split(","):[]),[h]),l=(0,e.useMemo)(()=>new Set(i?[i]:[]),[i]),m=(0,e.useMemo)(()=>new Set(j?[j]:[]),[j]),n=(0,e.useRef)({}),[o,p]=(0,e.useState)(0),q=(0,e.useMemo)(()=>{let a=Date.now(),b=new Set;for(let c of k){let d=n.current[c];(!d||a-d<6e4)&&b.add(c)}return b},[k,o]),{nodes:r,edges:s}=(0,e.useMemo)(()=>(function(a,b,c,d){let e=a.length,f=Math.max(320,204*e/(2*Math.PI)),h=Math.max(200,.55*f);if(0===e)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:0},draggable:!1}],edges:[]};let i=[],j=[];return i.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:b.size},draggable:!1}),a.forEach((a,k)=>{var l,m;let n,o,p=(l=a.provider,g.Q2[l]||{color:"#6b7280",name:l}),q=b.has(a.provider?.toLowerCase()),r=!q&&c.has(a.provider?.toLowerCase()),s=!q&&d.has(a.provider?.toLowerCase()),t=`provider-${a.provider}`,u={label:(p.name!==a.provider?p.name:null)||a.name||a.provider,color:p.color||"#6b7280",imageUrl:(m=a.provider,`/providers/${m}.png`),textIcon:p.textIcon||(a.provider||"?").slice(0,2).toUpperCase(),active:q},v=-Math.PI/2+2*Math.PI*k/e,w=f*Math.cos(v),x=h*Math.sin(v);Math.abs(v+Math.PI/2)<Math.PI/4||Math.abs(v-3*Math.PI/2)<Math.PI/4?(n="top",o="bottom"):Math.abs(v-Math.PI/2)<Math.PI/4?(n="bottom",o="top"):w>0?(n="right",o="left"):(n="left",o="right"),i.push({id:t,type:"provider",position:{x:w-90,y:x-15},data:u,draggable:!1}),j.push({id:`e-${t}`,source:"router",sourceHandle:n,target:t,targetHandle:o,animated:q,style:(p.color,s?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:q?{stroke:"#22c55e",strokeWidth:2.5,opacity:.9}:r?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3})})}),{nodes:i,edges:j}})(a,q,l,m),[a,q,i,j]),u=(0,e.useMemo)(()=>a.map(a=>a.provider).sort().join(","),[a]),v=(0,e.useRef)(null),w=(0,e.useRef)(null),z={padding:.2,duration:200},A=(0,e.useCallback)(a=>{v.current=a,setTimeout(()=>a.fitView(z),50)},[]);return(0,d.jsx)("div",{ref:w,className:"h-[320px] w-full min-w-0 rounded-lg border border-border bg-bg-subtle/30 sm:h-[480px]",children:0===a.length?(0,d.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,d.jsx)(t.Gc,{nodes:r,edges:s,nodeTypes:x,fitView:!0,fitViewOptions:z,minZoom:.1,maxZoom:2,onInit:A,proOptions:{hideAttribution:!0},panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,children:(0,d.jsx)(t.H2,{showInteractive:!1,className:"react-flow-controls-custom"})},u)})}y.propTypes={providers:k().arrayOf(k().shape({id:k().string,provider:k().string,name:k().string})),activeRequests:k().arrayOf(k().shape({provider:k().string,model:k().string,account:k().string})),lastProvider:k().string,errorProvider:k().string};var z=c(80322),A=c(70452),B=c(28946),C=c(22393),D=c(54206),E=c(83954),F=c(44780);let G=a=>a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a||0),H=a=>`$${(a||0).toFixed(4)}`;function I({period:a="7d"}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[h,j]=(0,e.useState)("tokens");(0,e.useCallback)(async()=>{g(!0);try{let b=await fetch(`/api/usage/chart?period=${a}`);if(b.ok){let a=await b.json();c(a)}}catch(a){console.error("Failed to fetch chart data:",a)}finally{g(!1)}},[a]);let k=b.some(a=>a.tokens>0||a.cost>0);return(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-3 p-3 sm:p-4",children:[(0,d.jsxs)("div",{className:"grid w-full grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:w-auto sm:self-start",children:[(0,d.jsx)("button",{onClick:()=>j("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===h?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"}),(0,d.jsx)("button",{onClick:()=>j("cost"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"cost"===h?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Cost"})]}),f?(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"Loading..."}):k?(0,d.jsx)(z.u,{width:"100%",height:220,children:(0,d.jsxs)(A.Q,{data:b,margin:{top:4,right:8,left:0,bottom:0},children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"gradTokens",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#6366f1",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#6366f1",stopOpacity:0})]}),(0,d.jsxs)("linearGradient",{id:"gradCost",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#f59e0b",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#f59e0b",stopOpacity:0})]})]}),(0,d.jsx)(B.d,{strokeDasharray:"3 3",strokeOpacity:.1}),(0,d.jsx)(C.W,{dataKey:"label",tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,interval:"preserveStartEnd"}),(0,d.jsx)(D.h,{tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,tickFormatter:"tokens"===h?G:H,width:50}),(0,d.jsx)(E.m,{contentStyle:{backgroundColor:"var(--color-bg)",border:"1px solid var(--color-border)",borderRadius:"8px",fontSize:"12px"},formatter:(a,b)=>"tokens"===b?[G(a),"Tokens"]:[H(a),"Cost"]}),"tokens"===h?(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"tokens",stroke:"#6366f1",strokeWidth:2,fill:"url(#gradTokens)",dot:!1,activeDot:{r:4}}):(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"cost",stroke:"#f59e0b",strokeWidth:2,fill:"url(#gradCost)",dot:!1,activeDot:{r:4}})]})}):(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"No data for this period"})]})}function J({timestamp:a}){let b,[,c]=(0,e.useState)(0);return(0,d.jsx)(d.Fragment,{children:(b=Math.floor((Date.now()-new Date(a))/1e3))<60?`${b}s ago`:b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`})}function K({requests:a=[]}){return(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col overflow-hidden",padding:"sm",style:{height:480},children:[(0,d.jsx)("div",{className:"px-1 py-2 border-b border-border shrink-0",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wide",children:"Recent Requests"})}),a.length?(0,d.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,d.jsxs)("table",{className:"w-full min-w-[300px] border-collapse text-xs",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg z-10",children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted w-2"}),(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted",children:"Model"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted whitespace-nowrap",children:"In / Out"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted",children:"When"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=!a.status||"ok"===a.status||"success"===a.status;return(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle transition-colors",children:[(0,d.jsx)("td",{className:"py-1.5",children:(0,d.jsx)("span",{className:`block w-1.5 h-1.5 rounded-full ${c?"bg-success":"bg-error"}`})}),(0,d.jsx)("td",{className:"py-1.5 font-mono truncate max-w-[120px]",title:a.model,children:a.model}),(0,d.jsxs)("td",{className:"py-1.5 text-right whitespace-nowrap",children:[(0,d.jsxs)("span",{className:"text-primary",children:[n(a.promptTokens),"↑"]})," ",(0,d.jsxs)("span",{className:"text-success",children:[n(a.completionTokens),"↓"]})]}),(0,d.jsx)("td",{className:"py-1.5 text-right text-text-muted whitespace-nowrap",children:(0,d.jsx)(J,{timestamp:a.timestamp})})]},b)})})]})}):(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center text-text-muted text-sm",children:"No requests yet."})]})}function L(a,b={},c,d){return Object.entries(a||{}).map(([a,c])=>{let d=(c.promptTokens||0)+(c.completionTokens||0),e=c.cost||0,f=d>0?(c.promptTokens||0)*(e/d):0,g=d>0?(c.completionTokens||0)*(e/d):0;return{...c,key:a,totalTokens:d,totalCost:e,inputCost:f,outputCost:g,pending:b[a]||0}}).sort((a,b)=>{let e=a[c],f=b[c];return("string"==typeof e&&(e=e.toLowerCase()),"string"==typeof f&&(f=f.toLowerCase()),e<f)?"asc"===d?-1:1:e>f?"asc"===d?1:-1:0})}function M(a,b){if(!Array.isArray(a))return[];let c={};return a.forEach(a=>{let d=function(a,b){switch(b){case"rawModel":return a.rawModel||"Unknown Model";case"accountName":return a.accountName||`Account ${a.connectionId?.slice(0,8)}...`||"Unknown Account";case"keyName":return a.keyName||"Unknown Key";case"endpoint":return a.endpoint||"Unknown Endpoint";default:return a[b]||"Unknown"}}(a,b);c[d]||(c[d]={groupKey:d,summary:{requests:0,promptTokens:0,completionTokens:0,totalTokens:0,cost:0,inputCost:0,outputCost:0,lastUsed:null,pending:0},items:[]});let e=c[d].summary;e.requests+=a.requests||0,e.promptTokens+=a.promptTokens||0,e.completionTokens+=a.completionTokens||0,e.totalTokens+=a.totalTokens||0,e.cost+=a.cost||0,e.inputCost+=a.inputCost||0,e.outputCost+=a.outputCost||0,e.pending+=a.pending||0,a.lastUsed&&(!e.lastUsed||new Date(a.lastUsed)>new Date(e.lastUsed))&&(e.lastUsed=a.lastUsed),c[d].items.push(a)}),Object.values(c)}I.propTypes={period:k().string};let N=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],O=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"accountName",label:"Account"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],P=[{field:"keyName",label:"API Key Name"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],Q=[{field:"endpoint",label:"Endpoint"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],R=[{value:"model",label:"Usage by Model"},{value:"account",label:"Usage by Account"},{value:"apiKey",label:"Usage by API Key"},{value:"endpoint",label:"Usage by Endpoint"}],S=[{value:"today",label:"Today"},{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}];function T({period:a,setPeriod:b,hidePeriodSelector:c=!1}={}){let g=(0,f.useRouter)(),i=(0,f.useSearchParams)(),j=i.get("sortBy")||"rawModel",k=i.get("sortOrder")||"asc",[l,o]=(0,e.useState)(null),[q,r]=(0,e.useState)(!0),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)("model"),[x,z]=(0,e.useState)("costs"),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)("today"),E=a??C,F=b??D,G=(0,e.useCallback)((a,b)=>{let c=new URLSearchParams(i.toString());c.get("sortBy")===b?c.set("sortOrder","asc"===c.get("sortOrder")?"desc":"asc"):(c.set("sortBy",b),c.set("sortOrder","asc")),g.replace(`?${c.toString()}`,{scroll:!1})},[i,g]),H=(0,e.useMemo)(()=>{if(!l)return null;switch(v){case"model":{let a=l.pending?.byModel||{};return{columns:N,groupedData:M(L(l.byModel,a,j,k),"rawModel"),storageKey:"usage-stats:expanded-models",emptyMessage:"No usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}case"account":{let a={};return l?.pending?.byAccount&&Object.entries(l.byAccount||{}).forEach(([b,c])=>{let d=l.pending.byAccount[c.connectionId];if(d){let e=c.provider?`${c.rawModel} (${c.provider})`:c.rawModel;a[b]=d[e]||0}}),{columns:O,groupedData:M(L(l.byAccount,a,j,k),"accountName"),storageKey:"usage-stats:expanded-accounts",emptyMessage:"No account-specific usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.accountName||`Account ${a.connectionId?.slice(0,8)}...`}),(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}case"apiKey":return{columns:P,groupedData:M(L(l.byApiKey,{},j,k),"keyName"),storageKey:"usage-stats:expanded-apikeys",emptyMessage:"No API key usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium",children:a.keyName}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})};default:return{columns:Q,groupedData:M(L(l.byEndpoint,{},j,k),"endpoint"),storageKey:"usage-stats:expanded-endpoints",emptyMessage:"No endpoint usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium font-mono text-sm",children:a.endpoint}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}},[l,v,j,k]);if(!l&&!q)return(0,d.jsx)("div",{className:"text-text-muted",children:"Failed to load usage statistics."});let J=(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px] animate-spin",children:"progress_activity"})});return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[!c&&(0,d.jsxs)("div",{className:"flex w-full items-center gap-2 sm:w-auto sm:self-end",children:[(0,d.jsx)("div",{className:"grid flex-1 grid-cols-5 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:flex sm:flex-none",children:S.map(a=>(0,d.jsx)("button",{onClick:()=>F(a.value),disabled:t,className:`rounded-md px-3 py-1 text-sm font-medium transition-colors ${E===a.value?"bg-primary text-white shadow-sm":"text-text-muted hover:bg-bg-hover hover:text-text"}`,children:a.label},a.value))}),t&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-text-muted animate-spin",children:"progress_activity"})]}),q?J:(0,d.jsx)(m,{stats:l}),q?J:(0,d.jsxs)("div",{className:"grid min-w-0 grid-cols-1 items-stretch gap-2 lg:grid-cols-[minmax(0,2fr)_minmax(280px,1fr)]",children:[(0,d.jsx)(y,{providers:A,activeRequests:l.activeRequests||[],lastProvider:l.recentRequests?.[0]?.provider||"",errorProvider:l.errorProvider||""}),(0,d.jsx)(K,{requests:l.recentRequests||[]})]}),q?J:(0,d.jsx)(I,{period:E}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"w-full rounded-lg border border-border bg-surface px-3 py-1.5 text-sm font-medium text-text-main focus:outline-none focus:ring-2 focus:ring-primary/50 sm:w-auto",style:{colorScheme:"auto"},children:R.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),(0,d.jsxs)("div",{className:"grid grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:flex",children:[(0,d.jsx)("button",{onClick:()=>z("costs"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"costs"===x?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Costs"}),(0,d.jsx)("button",{onClick:()=>z("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===x?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"})]})]}),q?J:H&&(0,d.jsx)(s,{title:"",columns:H.columns,groupedData:H.groupedData,tableType:v,sortBy:j,sortOrder:k,onToggleSort:G,viewMode:x,storageKey:H.storageKey,renderSummaryCells:H.renderSummaryCells,renderDetailCells:H.renderDetailCells,emptyMessage:H.emptyMessage})]})]})}},91099:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({options:a=[],value:b,onChange:c,size:g="md",className:h}){let i={sm:"h-7 text-xs",md:"h-9 text-sm",lg:"h-11 text-base"};return(0,d.jsx)("div",{className:(0,e.cn)("inline-flex items-center p-1 rounded-[10px] overflow-x-auto","bg-surface-2",h),children:a.map(a=>(0,d.jsxs)("button",{onClick:()=>c(a.value),className:(0,e.cn)("shrink-0 px-4 rounded-[8px] font-medium transition-all",i[g],b===a.value?"bg-surface text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:[a.icon&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1.5",children:a.icon}),a.label]},a.value))})}},91809:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(17660);function g(){let[a,b]=(0,e.useState)([]),[c,g]=(0,e.useState)(!0),[h,i]=(0,e.useState)(!0);return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Request Logs"}),(0,d.jsx)("div",{className:"flex items-center gap-2",children:(0,d.jsxs)("label",{className:"text-sm font-medium text-text-muted flex items-center gap-2 cursor-pointer",children:[(0,d.jsx)("span",{children:"Auto Refresh (3s)"}),(0,d.jsx)("div",{onClick:()=>i(!h),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors focus:outline-none ${h?"bg-primary":"bg-bg-subtle border border-border"}`,children:(0,d.jsx)("span",{className:`inline-block h-3 w-3 transform rounded-full bg-white transition-transform ${h?"translate-x-5":"translate-x-1"}`})})]})})]}),(0,d.jsx)(f.default,{className:"overflow-hidden bg-black/5 dark:bg-black/20",children:(0,d.jsx)("div",{className:"p-0 overflow-x-auto max-h-[600px] overflow-y-auto font-mono text-xs",children:c&&0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"Loading logs..."}):0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"No logs recorded yet."}):(0,d.jsxs)("table",{className:"w-full text-left border-collapse whitespace-nowrap",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg-subtle border-b border-border z-10",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"DateTime"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Provider"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Account"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"In"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Out"}),(0,d.jsx)("th",{className:"px-3 py-2",children:"Status"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=a.split(" | ");if(c.length<7)return null;let e=c[6],f=e.includes("PENDING"),g=e.includes("FAILED"),h=e.includes("OK");return(0,d.jsxs)("tr",{className:`hover:bg-primary/5 transition-colors ${f?"bg-primary/5":""}`,children:[(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-text-muted",children:c[0]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border font-medium",children:c[1]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border",children:(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-bg-subtle border border-border text-[10px] uppercase font-bold",children:c[2]})}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border truncate max-w-[150px]",title:c[3],children:c[3]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-primary",children:c[4]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-success",children:c[5]}),(0,d.jsx)("td",{className:`px-3 py-1.5 font-bold ${h?"text-success":g?"text-error":"text-primary animate-pulse"}`,children:e})]},b)})})]})})}),(0,d.jsx)("div",{className:"text-[10px] text-text-muted italic",children:"Logs are loaded from the request history database."})]})}},95145:(a,b,c)=>{c.d(b,{ConfirmModal:()=>i,default:()=>h});var d=c(48249);c(67484);var e=c(71404),f=c(99070),g=c(32971);function h({isOpen:a,onClose:b,title:c,children:f,footer:i,size:j="md",closeOnOverlay:k=!0,showTrafficLights:l=!0,className:m}){return a?(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in",onClick:k?b:void 0}),(0,d.jsxs)("div",{className:(0,e.cn)("relative w-full bg-surface","border border-border-subtle","rounded-[14px] shadow-[var(--shadow-elev)]","fade-in",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[j],m),children:[(c||l)&&(0,d.jsxs)("div",{className:"flex items-center justify-between p-2 border-b border-border-subtle",children:[(0,d.jsxs)("div",{className:"flex items-center",children:[l&&(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-2 mr-4 ml-2",children:[(0,d.jsx)(g.default,{text:"Close",position:"top",color:"#FF5F56",children:(0,d.jsx)("button",{onClick:b,"aria-label":"Close",title:"Close",className:"w-4 h-4 rounded-full bg-[#FF5F56] hover:brightness-90 transition-all cursor-pointer flex items-center justify-center group/dot",children:(0,d.jsx)("span",{className:"text-[9px] font-bold text-white opacity-0 group-hover/dot:opacity-100 transition-opacity leading-none",children:"✕"})})}),(0,d.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"}),(0,d.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"})]}),c&&(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:c})]}),(0,d.jsx)("button",{onClick:b,"aria-label":"Close",className:"md:hidden p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 max-h-[calc(85vh-100px)] overflow-y-auto custom-scrollbar",children:f}),i&&(0,d.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-border-subtle",children:i})]})]}):null}function i({isOpen:a,onClose:b,onConfirm:c,title:e="Confirm",message:g,confirmText:j="Confirm",cancelText:k="Cancel",variant:l="danger",loading:m=!1}){return(0,d.jsx)(h,{isOpen:a,onClose:b,title:e,size:"sm",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{variant:"ghost",onClick:b,disabled:m,children:k}),(0,d.jsx)(f.default,{variant:l,onClick:c,loading:m,children:j})]}),children:(0,d.jsx)("p",{className:"text-text-muted",children:g})})}},95514:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({checked:a=!1,onChange:b,label:c,description:g,disabled:h=!1,size:i="md",className:j}){let k={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center gap-3",h&&"opacity-50 cursor-not-allowed",j),children:[(0,d.jsx)("button",{type:"button",role:"switch","aria-checked":a,disabled:h,onClick:()=>{!h&&b&&b(!a)},className:(0,e.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-brand-500/30",a?"bg-brand-500":"bg-surface-3",k[i].track,h&&"cursor-not-allowed"),children:(0,d.jsx)("span",{className:(0,e.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",a?k[i].translate:"translate-x-0.5",k[i].thumb,"mt-0.5")})}),(c||g)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:c}),g&&(0,d.jsx)("span",{className:"text-xs text-text-muted",children:g})]})]})}},99070:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={primary:"bg-brand-500 hover:bg-brand-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",secondary:"bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50",outline:"border border-border text-text-main hover:bg-surface-2 hover:border-brand-500/40",ghost:"text-text-muted hover:bg-surface-2 hover:text-text-main",danger:"bg-red-500 hover:bg-red-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",success:"bg-green-600 hover:bg-green-700 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted"},g={sm:"h-7 px-3 text-xs rounded-[8px]",md:"h-9 px-4 text-sm rounded-[10px]",lg:"h-11 px-6 text-sm rounded-[10px]"};function h({children:a,variant:b="primary",size:c="md",icon:i,iconRight:j,disabled:k=!1,loading:l=!1,fullWidth:m=!1,className:n,...o}){return(0,d.jsxs)("button",{className:(0,e.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",f[b],g[c],m&&"w-full",n),disabled:k||l,...o,children:[l?(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):i?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i}):null,a,j&&!l&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:j})]})}}};
|
|
7
|
+
`,children:(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[s.includes(a.value)&&!c&&(0,d.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),c?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),a.name]}):a.isCustom?(0,d.jsxs)(d.Fragment,{children:[a.name,(0,d.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):a.name]})},a.value)})})]},a)),0===Object.keys(K).length&&0===I.length&&(0,d.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,d.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}n.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onSelect:g().func.isRequired,onDeselect:g().func,selectedModel:g().string,activeProviders:g().arrayOf(g().shape({provider:g().string.isRequired})),title:g().string,modelAliases:g().object,kindFilter:g().string,addedModelValues:g().arrayOf(g().string),closeOnSelect:g().bool,hideCombos:g().bool}},83552:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,type:b="text",placeholder:c,value:g,onChange:h,error:i,hint:j,icon:k,disabled:l=!1,required:m=!1,className:n,inputClassName:o,...p}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",n),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,m&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[k&&(0,d.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:k})}),(0,d.jsx)("input",{type:b,placeholder:c,value:g,onChange:h,disabled:l,className:(0,e.cn)("w-full py-2.5 px-3 text-sm text-text-main bg-surface-2 rounded-[10px]","border border-transparent placeholder-text-muted/70","focus:outline-none focus:ring-2 focus:ring-brand-500/30 focus:border-brand-500/40","transition-all duration-150 ease-out disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",k&&"pl-10",i&&"ring-1 ring-red-500 focus:ring-2 focus:ring-red-500/40 border-red-500/40",o),...p})]}),i&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),i]}),j&&!i&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:j})]})}},84808:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onImportSuccess:c,onClose:f}){let[g,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),s=async()=>{if(!k.trim())return void n("Please paste JSON first");r(!0),n(null),p(null);try{let a=await fetch("/api/oauth/codex/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({json:k.trim()})}),b=await a.json();if(!a.ok)throw Error(b.error||"Import failed");p(b),b.imported>0&&c?.(b)}catch(a){n(a.message||"Import failed")}finally{r(!1)}};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Codex",onClose:f,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!g&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("browser"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"open_in_browser"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Browser Login"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login via browser with your ChatGPT/OpenAI account."})]})]})}),(0,d.jsx)("button",{onClick:()=>j("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste 9router export JSON or ChatGPT session JSON."})]})]})})]}),"import"===g&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["Supports exported 9router JSON and ChatGPT session JSON from"," ",(0,d.jsx)("a",{href:"https://chatgpt.com/api/auth/session",target:"_blank",rel:"noreferrer",className:"font-mono font-semibold underline underline-offset-2",children:"chatgpt.com/api/auth/session"}),"."]})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["JSON ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)("textarea",{value:k,onChange:a=>{l(a.target.value),n(null),p(null)},placeholder:'{"version":1,"connections":[{"provider":"codex","accessToken":"..."}]}',spellCheck:!1,className:"min-h-56 w-full rounded-lg border border-border bg-surface px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary focus:ring-1 focus:ring-primary/40"})]}),o&&(0,d.jsxs)("div",{className:`${o.imported>0?"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800":"bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800"} p-3 rounded-lg border`,children:[(0,d.jsxs)("p",{className:`${o.imported>0?"text-green-800 dark:text-green-200":"text-yellow-800 dark:text-yellow-200"} text-sm`,children:[o.imported>0?`Imported ${o.imported} account${1===o.imported?"":"s"}.`:"No new accounts imported.",o.skipped?` ${o.skipped} skipped.`:""]}),Array.isArray(o.results)&&o.results.some(a=>"skipped"===a.status)&&(0,d.jsx)("div",{className:"mt-2 space-y-1 text-xs text-yellow-800 dark:text-yellow-200",children:o.results.filter(a=>"skipped"===a.status).map((a,b)=>(0,d.jsx)("p",{className:"break-all",children:"duplicate_email"===a.reason?`${a.email||a.name||"Account"} already exists.`:`${a.email||a.name||"Account"} skipped: ${a.reason||"unknown reason"}.`},`${a.email||a.name||"skipped"}-${b}`))})]}),m&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:m})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:s,fullWidth:!0,disabled:q||!k.trim(),children:q?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:()=>{j(null),n(null),p(null)},variant:"ghost",fullWidth:!0,disabled:q,children:"Back"})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onImportSuccess:g().func,onClose:g().func.isRequired}},85306:(a,b,c)=>{c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(19099),g=c(41371),h=c(42196),i=c(86739);function j({children:a}){let[b,c]=(0,e.useState)(!1),k=(0,f.usePathname)(),l=(0,g.i)(a=>a.notifications),m=(0,g.i)(a=>a.removeNotification);return(0,d.jsxs)("div",{className:"flex h-screen w-full overflow-hidden bg-bg",children:[(0,d.jsx)("div",{className:"fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2",children:l.map(a=>{var b;let c="success"===(b=a.type)?{wrapper:"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400",icon:"check_circle"}:"error"===b?{wrapper:"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400",icon:"error"}:"warning"===b?{wrapper:"border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400",icon:"warning"}:{wrapper:"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",icon:"info"};return(0,d.jsx)("div",{className:`rounded-lg border px-3 py-2 shadow-lg backdrop-blur-sm ${c.wrapper}`,children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] leading-5",children:c.icon}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[a.title?(0,d.jsx)("p",{className:"text-xs font-semibold mb-0.5",children:a.title}):null,(0,d.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:a.message})]}),a.dismissible?(0,d.jsx)("button",{type:"button",onClick:()=>m(a.id),className:"text-current/70 hover:text-current","aria-label":"Dismiss notification",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})}):null]})},a.id)})}),b&&(0,d.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 lg:hidden",onClick:()=>c(!1)}),(0,d.jsx)("div",{className:"hidden lg:flex",children:(0,d.jsx)(h.default,{})}),(0,d.jsx)("div",{className:`fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out ${b?"translate-x-0":"-translate-x-full"}`,children:(0,d.jsx)(h.default,{onClose:()=>c(!1)})}),(0,d.jsxs)("main",{className:"flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate",children:[(0,d.jsx)("div",{className:"landing-grid absolute inset-0 pointer-events-none -z-10","aria-hidden":"true"}),(0,d.jsx)(i.default,{onMenuClick:()=>c(!0)},k),(0,d.jsx)("div",{className:`flex-1 overflow-y-auto custom-scrollbar ${"/dashboard/basic-chat"===k?"":"p-6 lg:p-10"} ${"/dashboard/basic-chat"===k?"flex flex-col overflow-hidden":""}`,children:(0,d.jsx)("div",{className:`${"/dashboard/basic-chat"===k?"flex-1 w-full h-full flex flex-col":"max-w-7xl mx-auto"}`,children:a})})]})]})}},86739:(a,b,c)=>{c.d(b,{default:()=>r});var d=c(48249),e=c(67484),f=c(19099),g=c(2116),h=c.n(g),i=c(49885),j=c.n(i),k=c(72738),l=c(3236),m=c(53845),n=c(37365),o=c(12020),p=c(96919),q=c(99258);function r({onMenuClick:a,showMenuButton:b=!0}){let c=(0,f.usePathname)(),g=(0,f.useRouter)(),[i,j]=(0,e.useState)(""),[n,t]=(0,e.useState)(""),{title:u,description:v,icon:w,breadcrumbs:x}=(0,e.useMemo)(()=>(a=>{if(!a)return{title:"",description:"",breadcrumbs:[]};let b=a.match(/\/media-providers\/([^/]+)\/([^/]+)$/);if(b){let a=b[1],c=b[2],d=p.rj.find(b=>b.id===a),e=p.Q2[c];return{title:e?.name||c,description:"",breadcrumbs:[{label:"Media Providers",href:`/dashboard/media-providers/${a}`},{label:d?.label||a,href:`/dashboard/media-providers/${a}`},{label:e?.name||c,image:`/providers/${c}.png`}]}}let c=a.match(/\/media-providers\/([^/]+)$/);if(c){let a=c[1],b=p.rj.find(b=>b.id===a);return{title:b?.label||a,description:`Manage your ${b?.label||a} providers`,icon:b?.icon||"perm_media",breadcrumbs:[]}}let d=a.match(/\/providers\/([^/]+)$/);if(d){let a=d[1],b=o.zN[a]||o.fg[a];if(b)return{title:b.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:b.name,image:`/providers/${b.id}.png`}]}}return a.includes("/providers")&&!a.includes("/media-providers")?{title:"Providers",description:"Manage your AI provider connections",icon:"dns",breadcrumbs:[]}:a.includes("/combos")?{title:"Combos",description:"Model combos with fallback",icon:"layers",breadcrumbs:[]}:a.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",icon:"bar_chart",breadcrumbs:[]}:a.includes("/auth-files")?{title:"Auth Files",description:"Map provider credentials stored in the local database",icon:"vpn_key",breadcrumbs:[]}:a.includes("/quota")?{title:"Quota Tracker",description:"Track and manage your API quota limits",icon:"data_usage",breadcrumbs:[]}:a.includes("/mitm")?{title:"MITM Proxy",description:"Intercept CLI tool traffic and route through KTRouter",icon:"security",breadcrumbs:[]}:a.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",icon:"terminal",breadcrumbs:[]}:a.includes("/proxy-pools")?{title:"Proxy Pools",description:"Manage your proxy pool configurations",icon:"lan",breadcrumbs:[]}:a.includes("/skills")?{title:"Agent Skills",description:"Copy a link and paste to your AI to use KTRouter — no install needed",icon:"extension",breadcrumbs:[]}:a.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:a.includes("/profile")?{title:"Settings",description:"Manage your preferences",icon:"settings",breadcrumbs:[]}:a.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",icon:"translate",breadcrumbs:[]}:a.includes("/console-log")?{title:"Console Log",description:"Live server console output",icon:"monitor",breadcrumbs:[]}:"/dashboard"===a?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(c),[c]),y=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(g.push("/login"),g.refresh())}catch(a){console.error("Failed to logout:",a)}};return(0,d.jsxs)("header",{className:"shrink-0 flex items-center justify-between gap-3 px-4 lg:px-8 pt-3 pb-2 border-b border-border-subtle bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none z-20",children:[(0,d.jsx)("div",{className:"flex items-center gap-3 lg:hidden shrink-0",children:b&&(0,d.jsx)("button",{onClick:a,className:"text-text-main hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,d.jsx)("div",{className:"flex flex-col min-w-0 flex-1",children:x.length>0?(0,d.jsx)("div",{className:"flex items-center gap-2",children:x.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[b>0&&(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),a.href?(0,d.jsx)(h(),{href:a.href,className:"text-text-muted hover:text-primary transition-colors",children:a.label}):(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.image&&(0,d.jsx)(k.A,{src:a.image,alt:a.label,size:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",fallbackText:a.label.slice(0,2).toUpperCase()}),(0,d.jsx)("h1",{className:"text-base lg:text-2xl font-semibold text-text-main tracking-tight truncate",children:(0,q.Tl)(a.label)})]})]},`${a.label}-${a.href||"current"}`))}):u?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[w&&(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-xl lg:text-2xl",children:w}),(0,d.jsx)("h1",{className:"text-base lg:text-2xl font-semibold tracking-tight truncate",children:(0,q.Tl)(u)})]}),v&&(0,d.jsx)("p",{className:"hidden lg:block text-sm text-text-muted truncate",children:(0,q.Tl)(v)})]}):null}),(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[i&&"OIDC"===n&&(0,d.jsxs)("div",{className:"hidden sm:flex items-center max-w-[220px] px-3 py-1.5 rounded-full border border-border bg-surface/70 text-xs text-text-muted truncate",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1.5 text-primary",children:"person"}),(0,d.jsx)("span",{className:"truncate",children:i}),(0,d.jsx)("span",{className:"ml-2 shrink-0 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary",children:"OIDC"})]}),(0,d.jsx)(s,{}),(0,d.jsx)(m.default,{}),(0,d.jsx)(l.default,{onLogout:y})]})]})}function s(){let a=(0,n.C)(a=>a.visible),b=(0,n.C)(a=>a.query),c=(0,n.C)(a=>a.placeholder),e=(0,n.C)(a=>a.setQuery);return a?(0,d.jsxs)("div",{className:"relative w-[160px] sm:w-[220px]",children:[(0,d.jsx)("span",{className:"material-symbols-outlined absolute left-2 top-1/2 -translate-y-1/2 text-text-muted text-[16px] pointer-events-none",children:"search"}),(0,d.jsx)("input",{type:"text",value:b,onChange:a=>e(a.target.value),placeholder:c,className:"w-full h-8 pl-7 pr-7 rounded-lg border border-border bg-surface/60 text-sm focus:outline-none focus:border-primary/50 transition-colors"}),b&&(0,d.jsx)("button",{type:"button",onClick:()=>e(""),className:"absolute right-1 top-1/2 -translate-y-1/2 text-text-muted hover:text-text-main p-0.5 rounded","aria-label":"Clear search",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]}):null}r.propTypes={onMenuClick:j().func,showMenuButton:j().bool}},87226:(a,b,c)=>{c.d(b,{default:()=>T});var d=c(48249),e=c(67484),f=c(19099),g=c(96919),h=c(75171),i=c(17660),j=c(49885),k=c.n(j);let l=a=>new Intl.NumberFormat().format(a||0);function m({stats:a}){let b;return(0,d.jsxs)("div",{className:"grid min-w-0 grid-cols-1 gap-3 sm:grid-cols-2 md:grid-cols-4 sm:gap-4",children:[(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Requests"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold",children:l(a.totalRequests)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Input Tokens"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold text-primary",children:l(a.totalPromptTokens)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Output Tokens"}),(0,d.jsx)("span",{className:"truncate text-2xl font-bold text-success",children:l(a.totalCompletionTokens)})]}),(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-1 px-4 py-3",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Est. Cost"}),(0,d.jsxs)("span",{className:"truncate text-2xl font-bold text-warning",children:["~",(b=a.totalCost,`$${(b||0).toFixed(2)}`)]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"Estimated, not actual billing"})]})]})}m.propTypes={stats:k().object.isRequired};let n=a=>new Intl.NumberFormat().format(a||0),o=a=>`$${(a||0).toFixed(2)}`;function p(a){if(!a)return"Never";let b=Math.floor((Date.now()-new Date(a))/6e4);return b<1?"Just now":b<60?`${b}m ago`:b<1440?`${Math.floor(b/60)}h ago`:new Date(a).toLocaleDateString()}function q({field:a,currentSort:b,currentOrder:c}){return b!==a?(0,d.jsx)("span",{className:"ml-1 opacity-20",children:"↕"}):(0,d.jsx)("span",{className:"ml-1",children:"asc"===c?"↑":"↓"})}function r({item:a,viewMode:b,isSummary:c=!1}){return"tokens"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.promptTokens?"—":n(a.promptTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.completionTokens?"—":n(a.completionTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium",children:n(a.totalTokens)})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.inputCost?"—":o(a.inputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.outputCost?"—":o(a.outputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium text-warning",children:o(a.totalCost||a.cost)})]})}function s({title:a,columns:b,groupedData:c,tableType:f,sortBy:g,sortOrder:h,onToggleSort:j,viewMode:k,storageKey:l,renderDetailCells:m,renderSummaryCells:n,emptyMessage:o}){let[p,t]=(0,e.useState)(new Set),u=(0,e.useCallback)(a=>{t(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),v=(0,e.useMemo)(()=>"tokens"===k?[{field:"promptTokens",label:"Input Tokens"},{field:"completionTokens",label:"Output Tokens"},{field:"totalTokens",label:"Total Tokens"}]:[{field:"promptTokens",label:"Input Cost"},{field:"completionTokens",label:"Output Cost"},{field:"cost",label:"Total Cost"}],[k]),w=b.length+v.length;return(0,d.jsxs)(i.default,{className:"overflow-hidden",children:[(0,d.jsx)("div",{className:"p-4 border-b border-border bg-bg-subtle/50",children:(0,d.jsx)("h3",{className:"font-semibold",children:a})}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"bg-bg-subtle/30 text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[b.map(a=>(0,d.jsxs)("th",{className:`px-6 py-3 cursor-pointer hover:bg-bg-subtle/50 ${"right"===a.align?"text-right":""}`,onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(q,{field:a.field,currentSort:g,currentOrder:h})]},a.field)),v.map(a=>(0,d.jsxs)("th",{className:"px-6 py-3 text-right cursor-pointer hover:bg-bg-subtle/50",onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(q,{field:a.field,currentSort:g,currentOrder:h})]},a.field))]})}),(0,d.jsxs)("tbody",{className:"divide-y divide-border",children:[c.map(a=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("tr",{className:"group-summary cursor-pointer hover:bg-bg-subtle/50 transition-colors",onClick:()=>u(a.groupKey),children:[(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted transition-transform ${p.has(a.groupKey)?"rotate-90":""}`,children:"chevron_right"}),(0,d.jsx)("span",{className:`font-medium transition-colors ${a.summary.pending>0?"text-primary":""}`,children:a.groupKey})]})}),n(a),(0,d.jsx)(r,{item:a.summary,viewMode:k,isSummary:!0})]}),p.has(a.groupKey)&&a.items.map(a=>(0,d.jsxs)("tr",{className:"group-detail hover:bg-bg-subtle/20 transition-colors",children:[m(a),(0,d.jsx)(r,{item:a,viewMode:k})]},`detail-${a.key}`))]},a.groupKey)),0===c.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:w,className:"px-6 py-8 text-center text-text-muted",children:o})})]})]})})]})}q.propTypes={field:k().string.isRequired,currentSort:k().string.isRequired,currentOrder:k().string.isRequired},r.propTypes={item:k().object.isRequired,viewMode:k().string.isRequired,isSummary:k().bool},s.propTypes={title:k().string.isRequired,columns:k().arrayOf(k().shape({field:k().string.isRequired,label:k().string.isRequired,align:k().string})).isRequired,groupedData:k().array.isRequired,tableType:k().string.isRequired,sortBy:k().string.isRequired,sortOrder:k().string.isRequired,onToggleSort:k().func.isRequired,viewMode:k().string.isRequired,storageKey:k().string.isRequired,renderDetailCells:k().func.isRequired,renderSummaryCells:k().func.isRequired,emptyMessage:k().string.isRequired};var t=c(96103),u=c(22805);function v({data:a}){let{label:b,color:c,imageUrl:f,textIcon:g,active:h}=a,[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center gap-2.5 px-4 py-2.5 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:h?c:"var(--color-border)",boxShadow:h?`0 0 16px ${c}40`:"none",minWidth:"150px"},children:[(0,d.jsx)(t.h7,{type:"target",position:u.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"target",position:u.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("div",{className:"w-8 h-8 rounded-md flex items-center justify-center shrink-0",style:{backgroundColor:`${c}15`},children:i?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:c},children:g}):(0,d.jsx)("img",{src:f,alt:b,className:"w-6 h-6 rounded-sm object-contain",onError:()=>j(!0)})}),(0,d.jsx)("span",{className:"text-base font-medium truncate",style:{color:h?c:"var(--color-text)"},children:b}),h&&(0,d.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:c}}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:c}})]})]})}function w({data:a}){return(0,d.jsxs)("div",{className:"flex items-center justify-center px-5 py-3 rounded-xl border-2 border-primary bg-primary/5 shadow-md min-w-[130px]",children:[(0,d.jsx)(t.h7,{type:"source",position:u.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(t.h7,{type:"source",position:u.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("img",{src:"/favicon.svg",alt:"KTRouter",className:"w-6 h-6 mr-2"}),(0,d.jsx)("span",{className:"text-sm font-bold text-primary",children:"KTRouter"}),a.activeCount>0&&(0,d.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-primary text-white text-xs font-bold",children:a.activeCount})]})}c(71763),v.propTypes={data:k().object.isRequired},w.propTypes={data:k().object.isRequired};let x={provider:v,router:w};function y({providers:a=[],activeRequests:b=[],lastProvider:c="",errorProvider:f=""}){let h=(0,e.useMemo)(()=>b.map(a=>a.provider?.toLowerCase()).filter(Boolean).sort().join(","),[b]),i=c?.toLowerCase()||"",j=f?.toLowerCase()||"",k=(0,e.useMemo)(()=>new Set(h?h.split(","):[]),[h]),l=(0,e.useMemo)(()=>new Set(i?[i]:[]),[i]),m=(0,e.useMemo)(()=>new Set(j?[j]:[]),[j]),n=(0,e.useRef)({}),[o,p]=(0,e.useState)(0),q=(0,e.useMemo)(()=>{let a=Date.now(),b=new Set;for(let c of k){let d=n.current[c];(!d||a-d<6e4)&&b.add(c)}return b},[k,o]),{nodes:r,edges:s}=(0,e.useMemo)(()=>(function(a,b,c,d){let e=a.length,f=Math.max(320,204*e/(2*Math.PI)),h=Math.max(200,.55*f);if(0===e)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:0},draggable:!1}],edges:[]};let i=[],j=[];return i.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:b.size},draggable:!1}),a.forEach((a,k)=>{var l,m;let n,o,p=(l=a.provider,g.Q2[l]||{color:"#6b7280",name:l}),q=b.has(a.provider?.toLowerCase()),r=!q&&c.has(a.provider?.toLowerCase()),s=!q&&d.has(a.provider?.toLowerCase()),t=`provider-${a.provider}`,u={label:(p.name!==a.provider?p.name:null)||a.name||a.provider,color:p.color||"#6b7280",imageUrl:(m=a.provider,`/providers/${m}.png`),textIcon:p.textIcon||(a.provider||"?").slice(0,2).toUpperCase(),active:q},v=-Math.PI/2+2*Math.PI*k/e,w=f*Math.cos(v),x=h*Math.sin(v);Math.abs(v+Math.PI/2)<Math.PI/4||Math.abs(v-3*Math.PI/2)<Math.PI/4?(n="top",o="bottom"):Math.abs(v-Math.PI/2)<Math.PI/4?(n="bottom",o="top"):w>0?(n="right",o="left"):(n="left",o="right"),i.push({id:t,type:"provider",position:{x:w-90,y:x-15},data:u,draggable:!1}),j.push({id:`e-${t}`,source:"router",sourceHandle:n,target:t,targetHandle:o,animated:q,style:(p.color,s?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:q?{stroke:"#22c55e",strokeWidth:2.5,opacity:.9}:r?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3})})}),{nodes:i,edges:j}})(a,q,l,m),[a,q,i,j]),u=(0,e.useMemo)(()=>a.map(a=>a.provider).sort().join(","),[a]),v=(0,e.useRef)(null),w=(0,e.useRef)(null),z={padding:.2,duration:200},A=(0,e.useCallback)(a=>{v.current=a,setTimeout(()=>a.fitView(z),50)},[]);return(0,d.jsx)("div",{ref:w,className:"h-[320px] w-full min-w-0 rounded-lg border border-border bg-bg-subtle/30 sm:h-[480px]",children:0===a.length?(0,d.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,d.jsx)(t.Gc,{nodes:r,edges:s,nodeTypes:x,fitView:!0,fitViewOptions:z,minZoom:.1,maxZoom:2,onInit:A,proOptions:{hideAttribution:!0},panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,children:(0,d.jsx)(t.H2,{showInteractive:!1,className:"react-flow-controls-custom"})},u)})}y.propTypes={providers:k().arrayOf(k().shape({id:k().string,provider:k().string,name:k().string})),activeRequests:k().arrayOf(k().shape({provider:k().string,model:k().string,account:k().string})),lastProvider:k().string,errorProvider:k().string};var z=c(80322),A=c(70452),B=c(28946),C=c(22393),D=c(54206),E=c(83954),F=c(44780);let G=a=>a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a||0),H=a=>`$${(a||0).toFixed(4)}`;function I({period:a="7d"}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[h,j]=(0,e.useState)("tokens");(0,e.useCallback)(async()=>{g(!0);try{let b=await fetch(`/api/usage/chart?period=${a}`);if(b.ok){let a=await b.json();c(a)}}catch(a){console.error("Failed to fetch chart data:",a)}finally{g(!1)}},[a]);let k=b.some(a=>a.tokens>0||a.cost>0);return(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col gap-3 p-3 sm:p-4",children:[(0,d.jsxs)("div",{className:"grid w-full grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:w-auto sm:self-start",children:[(0,d.jsx)("button",{onClick:()=>j("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===h?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"}),(0,d.jsx)("button",{onClick:()=>j("cost"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"cost"===h?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Cost"})]}),f?(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"Loading..."}):k?(0,d.jsx)(z.u,{width:"100%",height:220,children:(0,d.jsxs)(A.Q,{data:b,margin:{top:4,right:8,left:0,bottom:0},children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"gradTokens",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#6366f1",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#6366f1",stopOpacity:0})]}),(0,d.jsxs)("linearGradient",{id:"gradCost",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#f59e0b",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#f59e0b",stopOpacity:0})]})]}),(0,d.jsx)(B.d,{strokeDasharray:"3 3",strokeOpacity:.1}),(0,d.jsx)(C.W,{dataKey:"label",tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,interval:"preserveStartEnd"}),(0,d.jsx)(D.h,{tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,tickFormatter:"tokens"===h?G:H,width:50}),(0,d.jsx)(E.m,{contentStyle:{backgroundColor:"var(--color-bg)",border:"1px solid var(--color-border)",borderRadius:"8px",fontSize:"12px"},formatter:(a,b)=>"tokens"===b?[G(a),"Tokens"]:[H(a),"Cost"]}),"tokens"===h?(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"tokens",stroke:"#6366f1",strokeWidth:2,fill:"url(#gradTokens)",dot:!1,activeDot:{r:4}}):(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"cost",stroke:"#f59e0b",strokeWidth:2,fill:"url(#gradCost)",dot:!1,activeDot:{r:4}})]})}):(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"No data for this period"})]})}function J({timestamp:a}){let b,[,c]=(0,e.useState)(0);return(0,d.jsx)(d.Fragment,{children:(b=Math.floor((Date.now()-new Date(a))/1e3))<60?`${b}s ago`:b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`})}function K({requests:a=[]}){return(0,d.jsxs)(i.default,{className:"flex min-w-0 flex-col overflow-hidden",padding:"sm",style:{height:480},children:[(0,d.jsx)("div",{className:"px-1 py-2 border-b border-border shrink-0",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wide",children:"Recent Requests"})}),a.length?(0,d.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,d.jsxs)("table",{className:"w-full min-w-[300px] border-collapse text-xs",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg z-10",children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted w-2"}),(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted",children:"Model"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted whitespace-nowrap",children:"In / Out"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted",children:"When"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=!a.status||"ok"===a.status||"success"===a.status;return(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle transition-colors",children:[(0,d.jsx)("td",{className:"py-1.5",children:(0,d.jsx)("span",{className:`block w-1.5 h-1.5 rounded-full ${c?"bg-success":"bg-error"}`})}),(0,d.jsx)("td",{className:"py-1.5 font-mono truncate max-w-[120px]",title:a.model,children:a.model}),(0,d.jsxs)("td",{className:"py-1.5 text-right whitespace-nowrap",children:[(0,d.jsxs)("span",{className:"text-primary",children:[n(a.promptTokens),"↑"]})," ",(0,d.jsxs)("span",{className:"text-success",children:[n(a.completionTokens),"↓"]})]}),(0,d.jsx)("td",{className:"py-1.5 text-right text-text-muted whitespace-nowrap",children:(0,d.jsx)(J,{timestamp:a.timestamp})})]},b)})})]})}):(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center text-text-muted text-sm",children:"No requests yet."})]})}function L(a,b={},c,d){return Object.entries(a||{}).map(([a,c])=>{let d=(c.promptTokens||0)+(c.completionTokens||0),e=c.cost||0,f=d>0?(c.promptTokens||0)*(e/d):0,g=d>0?(c.completionTokens||0)*(e/d):0;return{...c,key:a,totalTokens:d,totalCost:e,inputCost:f,outputCost:g,pending:b[a]||0}}).sort((a,b)=>{let e=a[c],f=b[c];return("string"==typeof e&&(e=e.toLowerCase()),"string"==typeof f&&(f=f.toLowerCase()),e<f)?"asc"===d?-1:1:e>f?"asc"===d?1:-1:0})}function M(a,b){if(!Array.isArray(a))return[];let c={};return a.forEach(a=>{let d=function(a,b){switch(b){case"rawModel":return a.rawModel||"Unknown Model";case"accountName":return a.accountName||`Account ${a.connectionId?.slice(0,8)}...`||"Unknown Account";case"keyName":return a.keyName||"Unknown Key";case"endpoint":return a.endpoint||"Unknown Endpoint";default:return a[b]||"Unknown"}}(a,b);c[d]||(c[d]={groupKey:d,summary:{requests:0,promptTokens:0,completionTokens:0,totalTokens:0,cost:0,inputCost:0,outputCost:0,lastUsed:null,pending:0},items:[]});let e=c[d].summary;e.requests+=a.requests||0,e.promptTokens+=a.promptTokens||0,e.completionTokens+=a.completionTokens||0,e.totalTokens+=a.totalTokens||0,e.cost+=a.cost||0,e.inputCost+=a.inputCost||0,e.outputCost+=a.outputCost||0,e.pending+=a.pending||0,a.lastUsed&&(!e.lastUsed||new Date(a.lastUsed)>new Date(e.lastUsed))&&(e.lastUsed=a.lastUsed),c[d].items.push(a)}),Object.values(c)}I.propTypes={period:k().string};let N=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],O=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"accountName",label:"Account"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],P=[{field:"keyName",label:"API Key Name"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],Q=[{field:"endpoint",label:"Endpoint"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],R=[{value:"model",label:"Usage by Model"},{value:"account",label:"Usage by Account"},{value:"apiKey",label:"Usage by API Key"},{value:"endpoint",label:"Usage by Endpoint"}],S=[{value:"today",label:"Today"},{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}];function T({period:a,setPeriod:b,hidePeriodSelector:c=!1}={}){let g=(0,f.useRouter)(),i=(0,f.useSearchParams)(),j=i.get("sortBy")||"rawModel",k=i.get("sortOrder")||"asc",[l,o]=(0,e.useState)(null),[q,r]=(0,e.useState)(!0),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)("model"),[x,z]=(0,e.useState)("costs"),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)("today"),E=a??C,F=b??D,G=(0,e.useCallback)((a,b)=>{let c=new URLSearchParams(i.toString());c.get("sortBy")===b?c.set("sortOrder","asc"===c.get("sortOrder")?"desc":"asc"):(c.set("sortBy",b),c.set("sortOrder","asc")),g.replace(`?${c.toString()}`,{scroll:!1})},[i,g]),H=(0,e.useMemo)(()=>{if(!l)return null;switch(v){case"model":{let a=l.pending?.byModel||{};return{columns:N,groupedData:M(L(l.byModel,a,j,k),"rawModel"),storageKey:"usage-stats:expanded-models",emptyMessage:"No usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}case"account":{let a={};return l?.pending?.byAccount&&Object.entries(l.byAccount||{}).forEach(([b,c])=>{let d=l.pending.byAccount[c.connectionId];if(d){let e=c.provider?`${c.rawModel} (${c.provider})`:c.rawModel;a[b]=d[e]||0}}),{columns:O,groupedData:M(L(l.byAccount,a,j,k),"accountName"),storageKey:"usage-stats:expanded-accounts",emptyMessage:"No account-specific usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.accountName||`Account ${a.connectionId?.slice(0,8)}...`}),(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}case"apiKey":return{columns:P,groupedData:M(L(l.byApiKey,{},j,k),"keyName"),storageKey:"usage-stats:expanded-apikeys",emptyMessage:"No API key usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium",children:a.keyName}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})};default:return{columns:Q,groupedData:M(L(l.byEndpoint,{},j,k),"endpoint"),storageKey:"usage-stats:expanded-endpoints",emptyMessage:"No endpoint usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium font-mono text-sm",children:a.endpoint}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(h.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:n(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:p(a.lastUsed)})]})}}},[l,v,j,k]);if(!l&&!q)return(0,d.jsx)("div",{className:"text-text-muted",children:"Failed to load usage statistics."});let J=(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px] animate-spin",children:"progress_activity"})});return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[!c&&(0,d.jsxs)("div",{className:"flex w-full items-center gap-2 sm:w-auto sm:self-end",children:[(0,d.jsx)("div",{className:"grid flex-1 grid-cols-5 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:flex sm:flex-none",children:S.map(a=>(0,d.jsx)("button",{onClick:()=>F(a.value),disabled:t,className:`rounded-md px-3 py-1 text-sm font-medium transition-colors ${E===a.value?"bg-primary text-white shadow-sm":"text-text-muted hover:bg-bg-hover hover:text-text"}`,children:a.label},a.value))}),t&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-text-muted animate-spin",children:"progress_activity"})]}),q?J:(0,d.jsx)(m,{stats:l}),q?J:(0,d.jsxs)("div",{className:"grid min-w-0 grid-cols-1 items-stretch gap-2 lg:grid-cols-[minmax(0,2fr)_minmax(280px,1fr)]",children:[(0,d.jsx)(y,{providers:A,activeRequests:l.activeRequests||[],lastProvider:l.recentRequests?.[0]?.provider||"",errorProvider:l.errorProvider||""}),(0,d.jsx)(K,{requests:l.recentRequests||[]})]}),q?J:(0,d.jsx)(I,{period:E}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"w-full rounded-lg border border-border bg-surface px-3 py-1.5 text-sm font-medium text-text-main focus:outline-none focus:ring-2 focus:ring-primary/50 sm:w-auto",style:{colorScheme:"auto"},children:R.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),(0,d.jsxs)("div",{className:"grid grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:flex",children:[(0,d.jsx)("button",{onClick:()=>z("costs"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"costs"===x?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Costs"}),(0,d.jsx)("button",{onClick:()=>z("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===x?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"})]})]}),q?J:H&&(0,d.jsx)(s,{title:"",columns:H.columns,groupedData:H.groupedData,tableType:v,sortBy:j,sortOrder:k,onToggleSort:G,viewMode:x,storageKey:H.storageKey,renderSummaryCells:H.renderSummaryCells,renderDetailCells:H.renderDetailCells,emptyMessage:H.emptyMessage})]})]})}},91099:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({options:a=[],value:b,onChange:c,size:g="md",className:h}){let i={sm:"h-7 text-xs",md:"h-9 text-sm",lg:"h-11 text-base"};return(0,d.jsx)("div",{className:(0,e.cn)("inline-flex items-center p-1 rounded-[10px] overflow-x-auto","bg-surface-2",h),children:a.map(a=>(0,d.jsxs)("button",{onClick:()=>c(a.value),className:(0,e.cn)("shrink-0 px-4 rounded-[8px] font-medium transition-all",i[g],b===a.value?"bg-surface text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:[a.icon&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1.5",children:a.icon}),a.label]},a.value))})}},91809:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(17660);function g(){let[a,b]=(0,e.useState)([]),[c,g]=(0,e.useState)(!0),[h,i]=(0,e.useState)(!0);return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Request Logs"}),(0,d.jsx)("div",{className:"flex items-center gap-2",children:(0,d.jsxs)("label",{className:"text-sm font-medium text-text-muted flex items-center gap-2 cursor-pointer",children:[(0,d.jsx)("span",{children:"Auto Refresh (3s)"}),(0,d.jsx)("div",{onClick:()=>i(!h),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors focus:outline-none ${h?"bg-primary":"bg-bg-subtle border border-border"}`,children:(0,d.jsx)("span",{className:`inline-block h-3 w-3 transform rounded-full bg-white transition-transform ${h?"translate-x-5":"translate-x-1"}`})})]})})]}),(0,d.jsx)(f.default,{className:"overflow-hidden bg-black/5 dark:bg-black/20",children:(0,d.jsx)("div",{className:"p-0 overflow-x-auto max-h-[600px] overflow-y-auto font-mono text-xs",children:c&&0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"Loading logs..."}):0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"No logs recorded yet."}):(0,d.jsxs)("table",{className:"w-full text-left border-collapse whitespace-nowrap",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg-subtle border-b border-border z-10",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"DateTime"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Provider"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Account"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"In"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Out"}),(0,d.jsx)("th",{className:"px-3 py-2",children:"Status"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=a.split(" | ");if(c.length<7)return null;let e=c[6],f=e.includes("PENDING"),g=e.includes("FAILED"),h=e.includes("OK");return(0,d.jsxs)("tr",{className:`hover:bg-primary/5 transition-colors ${f?"bg-primary/5":""}`,children:[(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-text-muted",children:c[0]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border font-medium",children:c[1]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border",children:(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-bg-subtle border border-border text-[10px] uppercase font-bold",children:c[2]})}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border truncate max-w-[150px]",title:c[3],children:c[3]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-primary",children:c[4]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-success",children:c[5]}),(0,d.jsx)("td",{className:`px-3 py-1.5 font-bold ${h?"text-success":g?"text-error":"text-primary animate-pulse"}`,children:e})]},b)})})]})})}),(0,d.jsx)("div",{className:"text-[10px] text-text-muted italic",children:"Logs are loaded from the request history database."})]})}},95145:(a,b,c)=>{c.d(b,{ConfirmModal:()=>i,default:()=>h});var d=c(48249);c(67484);var e=c(71404),f=c(99070),g=c(32971);function h({isOpen:a,onClose:b,title:c,children:f,footer:i,size:j="md",closeOnOverlay:k=!0,showTrafficLights:l=!0,className:m}){return a?(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in",onClick:k?b:void 0}),(0,d.jsxs)("div",{className:(0,e.cn)("relative w-full bg-surface","border border-border-subtle","rounded-[14px] shadow-[var(--shadow-elev)]","fade-in",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[j],m),children:[(c||l)&&(0,d.jsxs)("div",{className:"flex items-center justify-between p-2 border-b border-border-subtle",children:[(0,d.jsxs)("div",{className:"flex items-center",children:[l&&(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-2 mr-4 ml-2",children:[(0,d.jsx)(g.default,{text:"Close",position:"top",color:"#FF5F56",children:(0,d.jsx)("button",{onClick:b,"aria-label":"Close",title:"Close",className:"w-4 h-4 rounded-full bg-[#FF5F56] hover:brightness-90 transition-all cursor-pointer flex items-center justify-center group/dot",children:(0,d.jsx)("span",{className:"text-[9px] font-bold text-white opacity-0 group-hover/dot:opacity-100 transition-opacity leading-none",children:"✕"})})}),(0,d.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"}),(0,d.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"})]}),c&&(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:c})]}),(0,d.jsx)("button",{onClick:b,"aria-label":"Close",className:"md:hidden p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 max-h-[calc(85vh-100px)] overflow-y-auto custom-scrollbar",children:f}),i&&(0,d.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-border-subtle",children:i})]})]}):null}function i({isOpen:a,onClose:b,onConfirm:c,title:e="Confirm",message:g,confirmText:j="Confirm",cancelText:k="Cancel",variant:l="danger",loading:m=!1}){return(0,d.jsx)(h,{isOpen:a,onClose:b,title:e,size:"sm",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{variant:"ghost",onClick:b,disabled:m,children:k}),(0,d.jsx)(f.default,{variant:l,onClick:c,loading:m,children:j})]}),children:(0,d.jsx)("p",{className:"text-text-muted",children:g})})}},95514:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({checked:a=!1,onChange:b,label:c,description:g,disabled:h=!1,size:i="md",className:j}){let k={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center gap-3",h&&"opacity-50 cursor-not-allowed",j),children:[(0,d.jsx)("button",{type:"button",role:"switch","aria-checked":a,disabled:h,onClick:()=>{!h&&b&&b(!a)},className:(0,e.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-brand-500/30",a?"bg-brand-500":"bg-surface-3",k[i].track,h&&"cursor-not-allowed"),children:(0,d.jsx)("span",{className:(0,e.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",a?k[i].translate:"translate-x-0.5",k[i].thumb,"mt-0.5")})}),(c||g)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:c}),g&&(0,d.jsx)("span",{className:"text-xs text-text-muted",children:g})]})]})}},99070:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={primary:"bg-brand-500 hover:bg-brand-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",secondary:"bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50",outline:"border border-border text-text-main hover:bg-surface-2 hover:border-brand-500/40",ghost:"text-text-muted hover:bg-surface-2 hover:text-text-main",danger:"bg-red-500 hover:bg-red-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",success:"bg-green-600 hover:bg-green-700 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted"},g={sm:"h-7 px-3 text-xs rounded-[8px]",md:"h-9 px-4 text-sm rounded-[10px]",lg:"h-11 px-6 text-sm rounded-[10px]"};function h({children:a,variant:b="primary",size:c="md",icon:i,iconRight:j,disabled:k=!1,loading:l=!1,fullWidth:m=!1,className:n,...o}){return(0,d.jsxs)("button",{className:(0,e.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",f[b],g[c],m&&"w-full",n),disabled:k||l,...o,children:[l?(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):i?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i}):null,a,j&&!l&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:j})]})}}};
|