switchboard-router 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next/static/chunks/1321-ba836ca888fbad7c.js +1 -0
- package/app/.next/static/chunks/{5497-a3b9cdb0b8300541.js → 5497-78bd7208dc4a083d.js} +2 -2
- package/app/{.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e4258dcd8fb1a077.js → .next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b7ff5b3522a3bf1f.js} +3 -3
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/feedback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +8 -8
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/159.js +1 -1
- package/app/.next-cli-build/server/chunks/194.js +1 -1
- package/app/.next-cli-build/server/chunks/2409.js +1 -1
- package/app/.next-cli-build/server/chunks/2524.js +1 -0
- package/app/.next-cli-build/server/chunks/3446.js +1 -0
- package/app/.next-cli-build/server/chunks/369.js +1 -1
- package/app/.next-cli-build/server/chunks/3735.js +4 -0
- package/app/.next-cli-build/server/chunks/3986.js +1 -1
- package/app/.next-cli-build/server/chunks/5350.js +1 -1
- package/app/.next-cli-build/server/chunks/5616.js +1 -1
- package/app/.next-cli-build/server/chunks/5781.js +1 -1
- package/app/.next-cli-build/server/chunks/5913.js +1 -1
- package/app/.next-cli-build/server/chunks/6052.js +2 -2
- package/app/.next-cli-build/server/chunks/6274.js +1 -1
- package/app/.next-cli-build/server/chunks/6328.js +1 -1
- package/app/.next-cli-build/server/chunks/6347.js +1 -1
- package/app/.next-cli-build/server/chunks/6492.js +1 -1
- package/app/.next-cli-build/server/chunks/6985.js +1 -1
- package/app/.next-cli-build/server/chunks/7454.js +1 -1
- package/app/.next-cli-build/server/chunks/8400.js +4 -4
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/8775.js +1 -1
- package/app/.next-cli-build/server/chunks/8789.js +1 -1
- package/app/.next-cli-build/server/chunks/8834.js +1 -1
- package/app/.next-cli-build/server/chunks/8976.js +1 -0
- package/app/.next-cli-build/server/chunks/8998.js +18 -18
- package/app/.next-cli-build/server/chunks/9091.js +1 -1
- package/app/.next-cli-build/server/chunks/9261.js +3 -3
- package/app/.next-cli-build/server/chunks/9508.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +4 -4
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/1321-ba836ca888fbad7c.js +1 -0
- package/app/.next-cli-build/static/chunks/{5497-a3b9cdb0b8300541.js → 5497-78bd7208dc4a083d.js} +2 -2
- package/app/{.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e4258dcd8fb1a077.js → .next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b7ff5b3522a3bf1f.js} +3 -3
- package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
- package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next/static/chunks/1321-8d4ef805452d3649.js +0 -1
- package/app/.next-cli-build/server/chunks/2376.js +0 -1
- package/app/.next-cli-build/server/chunks/3075.js +0 -1
- package/app/.next-cli-build/server/chunks/7141.js +0 -1
- package/app/.next-cli-build/server/chunks/7828.js +0 -4
- package/app/.next-cli-build/static/chunks/1321-8d4ef805452d3649.js +0 -1
- /package/app/.next/static/{LW9zpYBdABYCFKEJUiC4B → 87MOk9ZQAnrFin72qerKV}/_buildManifest.js +0 -0
- /package/app/.next/static/{LW9zpYBdABYCFKEJUiC4B → 87MOk9ZQAnrFin72qerKV}/_ssgManifest.js +0 -0
- /package/app/.next-cli-build/static/{LW9zpYBdABYCFKEJUiC4B → 87MOk9ZQAnrFin72qerKV}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{LW9zpYBdABYCFKEJUiC4B → 87MOk9ZQAnrFin72qerKV}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=3826,a.ids=[3826],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3493:(a,b,c)=>{"use strict";c.d(b,{default:()=>E});var d=c(48249),e=c(67484),f=c(72738),g=c(35576);let h=[10,20,50,100],i=[{value:"all",label:"All accounts"},{value:"active",label:"Active"},{value:"inactive",label:"Turned off"}],j=[{value:"default",label:"Default quota order"},{value:"remaining-asc",label:"% quota: low to high"},{value:"remaining-desc",label:"% quota: high to low"}];function k(a){return a.name?.trim()||a.email?.trim()||a.displayName?.trim()||null}function l(a,b){let c=b[a.id]?.quotas?.[0];return c&&"number"==typeof c.remaining?c.remaining:1/0}function m(a,b){let c=new Set(b.map(a=>a.id));return Object.fromEntries(Object.entries(a).filter(([a])=>c.has(a)))}async function n(a,b){return await a(b)}function o(a,b){return b&&0!==b?!a||a<0?100:a>=b?0:Math.round((b-a)/b*100):0}function p({quotas:a=[],compact:b=!1,sortMode:c="default",showSortLabel:f=!1}){let[g,h]=(0,e.useState)(1),i=(0,e.useMemo)(()=>a.map((a,b)=>({...a,index:b,remaining:a?.remaining!==void 0?Math.max(0,Math.round(a.remaining)):a?.remainingPercentage!==void 0?Math.round(a.remainingPercentage):o(a?.used,a?.total)})),[a]),j=(0,e.useMemo)(()=>"remaining-asc"===c?[...i].sort((a,b)=>a.remaining-b.remaining||a.name.localeCompare(b.name)):"remaining-desc"===c?[...i].sort((a,b)=>b.remaining-a.remaining||a.name.localeCompare(b.name)):i,[i,c]),k=Math.max(1,Math.ceil(j.length/10));if(!a||0===a.length)return null;let l=j.slice((g-1)*10,10*g),m=0===j.length?0:(g-1)*10+1,n=Math.min(10*g,j.length),q=b?"py-1 px-1.5":"py-2 px-3",r=b?"text-[11px]":"text-sm",s=b?"text-[11px]":"text-sm",t=b?"text-[10px] leading-tight":"text-xs";return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"text-[10px] text-text-muted",children:[j.length," quota",j.length>1?"s":""]}),f&&(0,d.jsx)("div",{className:"rounded-md border border-black/10 bg-black/[0.02] px-2 py-1 text-[10px] text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:"Sorted by account remaining"})]}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsx)("table",{className:"w-full table-fixed text-left",children:(0,d.jsx)("tbody",{children:l.map(a=>{var c;let e=(c=a.remaining)>70?{text:"text-green-600 dark:text-green-400",bg:"bg-green-500",bgLight:"bg-green-500/10",emoji:"\uD83D\uDFE2"}:c>=30?{text:"text-yellow-600 dark:text-yellow-400",bg:"bg-yellow-500",bgLight:"bg-yellow-500/10",emoji:"\uD83D\uDFE1"}:{text:"text-red-600 dark:text-red-400",bg:"bg-red-500",bgLight:"bg-red-500/10",emoji:"\uD83D\uDD34"},f=function(a){if(!a)return"-";try{let b="string"==typeof a?new Date(a):a,c=new Date,d=b-c;if(d<=0)return"-";let e=Math.ceil(d/6e4);if(e<60)return`${e}m`;let f=Math.floor(e/60),g=e%60;if(f<24)return`${f}h ${g}m`;let h=Math.floor(f/24);return`${h}d ${f%24}h ${g}m`}catch(a){return"-"}}(a.resetAt),g=function(a){if(!a)return null;try{let b=new Date(a),c=new Date,d=new Date(c.getFullYear(),c.getMonth(),c.getDate()),e=new Date(d);e.setDate(e.getDate()+1);let f="";f=b>=d&&b<e?"Today":b>=e&&b<new Date(e.getTime()+864e5)?"Tomorrow":b.toLocaleDateString("en-US",{month:"short",day:"numeric"});let g=b.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return`${f}, ${g}`}catch{return null}}(a.resetAt),h=!1!==a.recurring?`in ${f}`:`expires in ${f}`;return(0,d.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5 hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors",children:[(0,d.jsx)("td",{className:`${q} w-[30%]`,children:(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,d.jsx)("span",{className:"text-[10px] shrink-0",children:e.emoji}),(0,d.jsx)("span",{className:`${r} font-medium text-text-primary truncate`,children:a.name})]})}),(0,d.jsx)("td",{className:`${q} w-[45%]`,children:(0,d.jsxs)("div",{className:b?"space-y-1":"space-y-1.5",children:[(0,d.jsx)("div",{className:`${b?"h-1":"h-1.5"} rounded-full overflow-hidden border ${e.bgLight} ${0===a.remaining?"border-black/10 dark:border-white/10":"border-transparent"}`,children:(0,d.jsx)("div",{className:`h-full transition-all duration-300 ${e.bg}`,style:{width:`${Math.min(a.remaining,100)}%`}})}),(0,d.jsxs)("div",{className:`flex items-center justify-between ${b?"text-[10px]":"text-xs"}`,children:[(0,d.jsxs)("span",{className:"text-text-muted",children:[a.used.toLocaleString()," / ",a.total>0?a.total.toLocaleString():"∞"]}),(0,d.jsxs)("span",{className:`font-medium ${e.text}`,children:[a.remaining,"%"]})]})]})}),(0,d.jsx)("td",{className:`${q} w-[25%]`,children:"-"!==f||g?b?(0,d.jsx)("div",{className:`${s} text-text-primary font-medium truncate`,title:g||"",children:"-"!==f?h:g}):(0,d.jsxs)("div",{className:"space-y-0.5",children:["-"!==f&&(0,d.jsx)("div",{className:`${s} text-text-primary font-medium`,children:h}),g&&(0,d.jsx)("div",{className:`${t} text-text-muted`,children:g})]}):(0,d.jsx)("div",{className:`${s} text-text-muted italic`,children:"N/A"})})]},`${a.name}-${a.index}`)})})})}),k>1&&(0,d.jsxs)("div",{className:"rounded-md border border-black/10 bg-black/[0.02] px-2 py-1.5 dark:border-white/10 dark:bg-white/[0.03]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 text-[10px] text-text-muted",children:[(0,d.jsxs)("span",{children:["Showing ",m,"-",n," of ",j.length]}),(0,d.jsxs)("span",{children:["Page ",g," / ",k]})]}),(0,d.jsxs)("div",{className:"mt-1.5 flex items-center justify-end gap-1",children:[(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>Math.max(1,a-1)),disabled:1===g,className:"flex h-6 items-center rounded-md border border-black/10 px-2 text-[10px] text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Prev"}),(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>Math.min(k,a+1)),disabled:g===k,className:"flex h-6 items-center rounded-md border border-black/10 px-2 text-[10px] text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Next"})]})]})]})}var q=c(95514),r=c(32971),s=c(17660),t=c(50412),u=c(92592),v=c(50377),w=c(6297),x=c(78097);let y={"builder-id":"AWS Builder ID",idc:"IAM Identity Center",google:"Google",github:"GitHub",imported:"Imported Token",api_key:"API Key"},z={claude:"claudeAutoPing",codex:"codexAutoPing"},A={claude:"When your 5h quota runs out, auto-sends a request the moment it resets so a new window starts right away.",codex:"Auto-starts the next 5h Codex window after reset by sending a tiny gpt-5.5 request. Consumes a small amount of quota."};function B(a){return a.name?.trim()&&a.email?.trim()&&a.name.trim()!==a.email.trim()?a.email.trim():a.name?.trim()&&a.displayName?.trim()&&a.name.trim()!==a.displayName.trim()?a.displayName.trim():null}function C(a){let b=a.providerSpecificData?.region;if(b)return b;let c=a.providerSpecificData?.profileArn;return("string"==typeof c?c.split(":")[3]:"")||""}function D(a){if(!a)return"N/A";let b=new Date(a);return Number.isFinite(b.getTime())?b.toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}):"N/A"}function E(){let{copied:a,copy:b}=(0,v.C)(),[c,E]=(0,e.useState)([]),[F,G]=(0,e.useState)({}),[H,I]=(0,e.useState)({}),[J,K]=(0,e.useState)({}),[L,M]=(0,e.useState)(!0),[N,O]=(0,e.useState)({claude:{},codex:{}}),[P,Q]=(0,e.useState)(null),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(60),[X,Y]=(0,e.useState)(!0),[Z,$]=(0,e.useState)(null),[_,aa]=(0,e.useState)(null),[ab,ac]=(0,e.useState)(null),[ad,ae]=(0,e.useState)(null),[af,ag]=(0,e.useState)(null),[ah,ai]=(0,e.useState)(!1),[aj,ak]=(0,e.useState)(null),[al,am]=(0,e.useState)("all"),[an,ao]=(0,e.useState)([]),[ap,aq]=(0,e.useState)("all"),[ar,as]=(0,e.useState)("default"),[at,au]=(0,e.useState)(!1),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(!1),[az,aA]=(0,e.useState)(1),[aB,aC]=(0,e.useState)(20),[aD,aE]=(0,e.useState)(String(20)),[aF,aG]=(0,e.useState)({page:1,pageSize:20,total:0,totalPages:1}),[aH,aI]=(0,e.useState)({eligibleConnections:0,providerFilteredConnections:0});(0,e.useRef)(null),(0,e.useRef)(null);let aJ=(0,e.useRef)(0),aK=(0,e.useCallback)(async(a=az)=>{try{var b,c;let d=new URLSearchParams({page:String(a),pageSize:String(aB),accountStatus:ap,sort:"priority"});"all"!==al&&d.set("provider",al);let e=await fetch(`/api/providers/client?${d.toString()}`);if(!e.ok)throw Error("Failed to fetch connections");let f=await e.json(),g=f.connections||[],h=(b=f.pagination,b||{page:1,pageSize:aB,total:0,totalPages:1}),i=function(a,b=0){return a||{eligibleConnections:b,providerFilteredConnections:b}}(f.totals,g.length);return E(g),ao(f.providerOptions||[]),aG(h),aI(i),aA((c=f.pagination,c?.page||a)),g}catch(a){return(0,w.s)("Error fetching connections:",a),E([]),ao([]),aG({page:1,pageSize:aB,total:0,totalPages:1}),aI({eligibleConnections:0,providerFilteredConnections:0}),[]}},[ap,az,aB,al]),aL=(0,e.useCallback)(async(a,b,{force:c=!1}={})=>{I(b=>({...b,[a]:!0})),K(b=>({...b,[a]:null}));try{let d=`/api/usage/${a}${c?"?force=1":""}`,e=await fetch(d);if(!e.ok){let c=(await e.json().catch(()=>({}))).error||e.statusText;if(404===e.status)return void(0,w.s)(`[ProviderLimits] Connection not found for ${b}, skipping`);if(401===e.status){(0,w.s)(`[ProviderLimits] Auth error for ${b}:`,c);let d={quotas:[],message:c};G(b=>({...b,[a]:d}));return}throw Error(`HTTP ${e.status}: ${c}`)}let f=await e.json(),h={quotas:function(a,b){if(!b||"object"!=typeof b)return[];let c=[];try{switch(a.toLowerCase()){case"github":default:b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"antigravity":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:b.displayName||a,modelKey:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})});break;case"codex":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,remaining:b.remaining,resetAt:b.resetAt||null})});break;case"kiro":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"qoder":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{("organization"!==a||b&&0!==(Number(b.total)||0))&&c.push({name:"user"===a?"Personal":"organization"===a?"Organization":a,used:b.used||0,total:b.total||0,unit:b.unit,resetAt:b.resetAt||null})});break;case"claude":b.message?c.push({name:"error",used:0,total:0,resetAt:null,message:b.message}):b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"vercel-ai-gateway":case"ollama":case"deepseek":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})});break;case"codebuddy-cn":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,recurring:!1!==b.recurring})});break;case"kimi":case"kimi-coding":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})})}}catch(b){return console.error(`Error parsing quota data for ${a}:`,b),[]}let d=(0,g.KC)(a);if(d.length>0){let a=new Map(d.map((a,b)=>[a.id,b]));c.sort((b,c)=>{let d=b.modelKey||b.name,e=c.modelKey||c.name;return(a.get(d)??999)-(a.get(e)??999)})}return c}(b,f),plan:f.plan||null,message:f.message||null,raw:f};G(b=>({...b,[a]:h}))}catch(c){(0,w.s)(`[ProviderLimits] Error fetching quota for ${b} (${a}):`,c),K(b=>({...b,[a]:c.message||"Failed to fetch quota"}))}finally{I(b=>({...b,[a]:!1}))}},[]),aM=(0,e.useCallback)(async(a,b)=>{await aL(a,b,{force:!0}),Q(new Date)},[aL]),aN=(0,e.useCallback)(async(a,b)=>{if("codex"===b&&!ab){ac(a),K(b=>({...b,[a]:null}));try{let c=await fetch(`/api/usage/${a}/codex-reset-credits`,{method:"POST"}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.message||d.error||d.code||"Failed to reset Codex limit");await aL(a,b),Q(new Date)}catch(b){K(c=>({...c,[a]:b.message||"Failed to reset Codex limit"}))}finally{ac(null)}}},[aL,ab]),aO=(0,e.useCallback)(async a=>{ag({connection:a,loading:!0,error:null,data:null});try{let b=await fetch(`/api/usage/${a.id}/codex-reset-credits`,{cache:"no-store"}),c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c.error||c.message||"Failed to load Codex reset credits");let d=Array.isArray(c.credits)?[...c.credits]:[];d.sort((a,b)=>{let c=a.expiresAt?new Date(a.expiresAt).getTime():1/0,d=b.expiresAt?new Date(b.expiresAt).getTime():1/0;return c-d}),ag({connection:a,loading:!1,error:null,data:{...c,credits:d}})}catch(b){ag({connection:a,loading:!1,error:b.message||"Failed to load Codex reset credits",data:null})}},[]),aP=(0,e.useCallback)(async a=>{let b=k(c.find(b=>b.id===a)||{})||a;if(await (0,x.l)({message:`Delete connection “${b}”?`,confirmText:"Continue"})){$(a);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&(G(b=>{let c={...b};return delete c[a],c}),I(b=>{let c={...b};return delete c[a],c}),K(b=>{let c={...b};return delete c[a],c}),await n(aK,az))}catch(a){(0,w.s)("Error deleting connection:",a)}finally{$(null)}}},[c,aK,az]),aQ=(0,e.useCallback)(async(a,b)=>{aa(a);try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&(G(a=>({...a})),await n(aK,az))}catch(a){(0,w.s)("Error updating connection status:",a)}finally{aa(null)}},[aK,az]),aR=(0,e.useCallback)(async a=>{if(!aj?.id)return;let b=aj.id,c=aj.provider;try{(await fetch(`/api/providers/${b}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await aK(),ai(!1),ak(null),u.wb.includes(c)&&await aL(b,c))}catch(a){(0,w.s)("Error saving connection:",a)}},[aj,aK,aL]),aS=(0,e.useCallback)(async(a=!1)=>{if(T)return;U(!0),W(60);let b=aJ.current+=1,c=Math.round(10);try{let d,e=await aK(az);I((d={},e.forEach(a=>{d[a.id]=!0}),d)),K(a=>m(a,e)),G(a=>m(a,e)),await Promise.all(e.filter(d=>a||"claude"!==d.provider||b%c==0).map(a=>aL(a.id,a.provider))),Q(new Date)}catch(a){(0,w.s)("Error refreshing all providers:",a)}finally{U(!1)}},[T,aK,aL,az]),aT=(0,e.useCallback)(async(a,b,c)=>{let d=z[b];if(!d)return;let e={...N[b]||{},[a]:c};O({...N,[b]:e});try{let a=await fetch("/api/settings",{cache:"no-store"}),b={...(a.ok?await a.json():{})[d]||{},connections:e};await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[d]:b})})}catch{O(N)}},[N]),aU=(0,e.useMemo)(()=>(function(a,b,c,d,e){if("codex"===d&&"default"!==e)return[...a].sort((a,c)=>{let d=l(a,b),f=l(c,b),g="remaining-asc"===e?d-f:f-d;return 0!==g?g:(k(a)||"").localeCompare(k(c)||"")});if(!c){let b=new Map;for(let c of a){let a=c.provider||"";b.has(a)||b.set(a,[]),b.get(a).push(c)}return Array.from(b.values()).flat()}let f=a=>{let c=(b[a.id]?.quotas||[]).map(a=>a.resetAt?new Date(a.resetAt).getTime():1/0).filter(a=>Number.isFinite(a));return c.length>0?Math.min(...c):1/0};return[...a].sort((a,b)=>{let c=f(a)-f(b);return 0!==c?c:(a.provider||"").localeCompare(b.provider||"")||(k(a)||"").localeCompare(k(b)||"")})})(c,F,at,al,ar),[c,F,at,al,ar]),aV=a=>{let b=F[a.id]?.quotas;return!!b?.length&&b.some(a=>!!a.total&&!(a.total<=0)&&5>=o(a.used,a.total))},aW=(0,e.useCallback)(async(a,b)=>{if(a.length&&!ax){ay(!0);try{await Promise.all(a.map(a=>fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})}))),await n(aK,az)}catch(a){(0,w.s)("Error bulk toggling connections:",a)}finally{ay(!1)}}},[ax,aK,az]),aX="all"===al?"All providers":al,aY=aH.eligibleConnections>0,aZ=aU.length>0,a$=aH.eligibleConnections?aH.providerFilteredConnections?{icon:"filter_alt_off",title:"No Accounts On This Page",description:"Try moving to another page or refreshing the current filters."}:{icon:"filter_alt_off",title:"No Accounts Match Current Filters",description:"all"===al?"Try changing the account status filter to see more quota trackers.":`No ${"inactive"===ap?"turned off":"active"===ap?"active":"matching"} accounts found for ${al}.`}:{icon:"cloud_off",title:"No Providers Connected",description:"Connect to providers with OAuth to track your API quota limits and usage."},a_=function(a){var b;let{start:c,end:d}=(b=a).total?{start:(b.page-1)*b.pageSize+1,end:Math.min(b.page*b.pageSize,b.total)}:{start:0,end:0};return`Showing ${c}-${d} of ${a.total}`}(aF),a0=!h.includes(aB);return X||aY?X||aZ?(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsx)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-end",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>aw(a=>!a),className:"flex h-8 items-center justify-between gap-1 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-haspopup":"menu","aria-expanded":av,title:"Filter quota providers",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:["all"===al?(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"apps"}):(0,d.jsx)(f.A,{src:`/providers/${al}.png`,alt:al,size:18,className:"size-[18px] rounded object-contain",fallbackText:al.slice(0,2).toUpperCase()}),(0,d.jsx)("span",{className:"truncate capitalize hidden lg:inline",children:aX})]}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"expand_more"})]}),av&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"fixed inset-0 z-30 bg-transparent","aria-label":"Close provider filter",onClick:()=>aw(!1)}),(0,d.jsxs)("div",{className:"absolute left-0 z-40 mt-2 w-64 overflow-hidden rounded-2xl border border-black/10 bg-surface/95 p-1.5 shadow-xl shadow-black/10 backdrop-blur dark:border-white/10 dark:bg-surface/95 sm:w-72",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{"all"!==al&&aA(1),am("all"),aw(!1)},className:`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${"all"===al?"bg-primary/10 text-primary":"text-text-primary hover:bg-black/5 dark:hover:bg-white/10"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[22px]",children:"apps"}),(0,d.jsx)("span",{className:"font-medium",children:"All providers"}),"all"===al&&(0,d.jsx)("span",{className:"material-symbols-outlined ml-auto text-[20px]",children:"check"})]}),(0,d.jsx)("div",{className:"my-1 h-px bg-black/10 dark:bg-white/10"}),(0,d.jsx)("div",{className:"max-h-72 overflow-y-auto pr-1",children:an.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{al!==a&&aA(1),am(a),aw(!1)},className:`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${al===a?"bg-primary/10 text-primary":"text-text-primary hover:bg-black/5 dark:hover:bg-white/10"}`,children:[(0,d.jsx)(f.A,{src:`/providers/${a}.png`,alt:a,size:24,className:"size-6 rounded-md object-contain",fallbackText:a.slice(0,2).toUpperCase()}),(0,d.jsx)("span",{className:"font-medium capitalize",children:a}),al===a&&(0,d.jsx)("span",{className:"material-symbols-outlined ml-auto text-[20px]",children:"check"})]},a))})]})]})]}),(0,d.jsx)("select",{value:ap,onChange:a=>{let b=a.target.value;ap!==b&&aA(1),aq(b)},className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Filter accounts by status",children:i.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),"codex"===al&&(0,d.jsx)("select",{value:ar,onChange:a=>as(a.target.value),className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Sort Codex quotas by remaining",children:j.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),(0,d.jsxs)("button",{type:"button",onClick:()=>au(a=>!a),"aria-pressed":at,className:`flex h-8 shrink-0 items-center gap-1 rounded-lg border px-2 text-xs transition-colors ${at?"border-amber-500/40 bg-amber-500/10 text-amber-500":"border-black/10 text-text-primary hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5"}`,title:"Sort accounts by earliest quota reset time",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"hourglass_top"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Expiring first"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>{aW(aU.filter(a=>(a.isActive??!0)&&aV(a)).map(a=>a.id),!1)},disabled:ax,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-red-500/30 px-2 text-xs text-red-500 transition-colors hover:bg-red-500/10 disabled:opacity-50",title:"Disable connections with depleted quota on the current page",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"block"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Turn off Empty"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>{aW(aU.filter(a=>!(a.isActive??!0)&&!aV(a)).map(a=>a.id),!0)},disabled:ax,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-emerald-500/30 px-2 text-xs text-emerald-500 transition-colors hover:bg-emerald-500/10 disabled:opacity-50",title:"Enable connections that still have quota on the current page",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"check_circle"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Turn on Available"})]}),(0,d.jsxs)("button",{onClick:()=>M(a=>!a),className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-black/10 px-2 text-xs transition-colors hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5",title:L?"Disable auto-refresh":"Enable auto-refresh",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] ${L?"text-primary":"text-text-muted"}`,children:L?"toggle_on":"toggle_off"}),(0,d.jsx)("span",{className:"hidden text-text-primary sm:inline",children:"Auto-refresh"}),L&&(0,d.jsxs)("span",{className:"text-[10px] text-text-muted tabular-nums",children:["(",V,"s)"]})]}),(0,d.jsx)("button",{type:"button",onClick:()=>aS(!0),disabled:T,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-black/10 px-2 text-xs text-text-primary transition-colors hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5 disabled:opacity-50",title:"Refresh all",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] ${T?"animate-spin":""}`,children:"refresh"})})]})}),at&&(0,d.jsx)("div",{className:"rounded-xl border border-amber-500/20 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300",children:"Expiring-first currently reorders accounts inside the current page. Cross-page ordering still follows backend pagination."}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:aU.map(c=>{let e,g,h,i=F[c.id],j=H[c.id],l=J[c.id],m=!1===c.isActive,n="codex"===c.provider,o=Number.isFinite(g="number"==typeof(e=i?.raw?.resetCredits?.availableCount)?e:Number(e))?Math.max(0,g):0,t=ab===c.id,u=Z===c.id||_===c.id||t;return(0,d.jsxs)(s.default,{padding:"none",className:`min-w-0 ${m?"opacity-60":""}`,children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-black/10 dark:border-white/10",children:(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("div",{className:"w-8 h-8 shrink-0 rounded-md flex items-center justify-center overflow-hidden",children:(0,d.jsx)(f.A,{src:`/providers/${c.provider}.png`,alt:c.provider,size:32,className:"object-contain",fallbackText:c.provider?.slice(0,2).toUpperCase()||"PR"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-text-primary capitalize truncate",children:c.provider}),k(c)?(0,d.jsx)("p",{className:"text-xs text-text-muted truncate",children:k(c)}):null,B(c)?(0,d.jsx)("p",{className:"text-[11px] text-text-muted/80 truncate",children:B(c)}):null,"kiro"===c.provider&&(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:[(0,d.jsx)("span",{className:"rounded-full bg-brand-500/10 px-2 py-0.5 text-[10px] font-semibold text-brand-600 dark:text-brand-300",children:(h=c.providerSpecificData?.authMethod)&&y[h]?y[h]:"api_key"===c.authType?"API Key":"OAuth"}),C(c)&&(0,d.jsx)("span",{className:"rounded-full bg-blue-500/10 px-2 py-0.5 text-[10px] font-semibold text-blue-600 dark:text-blue-400",children:C(c)}),(0,d.jsx)("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold ${m?"bg-surface-2 text-text-muted":"active"===c.testStatus||"success"===c.testStatus?"bg-green-500/10 text-green-600 dark:text-green-400":"error"===c.testStatus||"expired"===c.testStatus||"unavailable"===c.testStatus?"bg-red-500/10 text-red-600 dark:text-red-400":"bg-surface-2 text-text-muted"}`,children:m?"disabled":c.testStatus||"unknown"}),c.providerSpecificData?.profileArn&&(0,d.jsxs)("button",{type:"button",onClick:()=>b(c.providerSpecificData.profileArn,c.id),title:c.providerSpecificData.profileArn,className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border-subtle px-2 py-0.5 text-[10px] text-text-muted transition-colors hover:text-primary",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:a===c.id?"check":"content_copy"}),(0,d.jsx)("code",{className:"truncate font-mono",children:c.providerSpecificData.profileArn})]})]})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[n&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.default,{text:o>0?`Use one Codex reset credit. Available: ${o}`:"No Codex reset credits available",children:(0,d.jsxs)("button",{type:"button",onClick:()=>ae({connection:c,resetCreditCount:o}),disabled:o<=0||j||u,"aria-label":o>0?`Use one Codex reset credit. ${o} available.`:"No Codex reset credits available",className:`flex h-8 min-w-10 items-center justify-center gap-1 rounded-lg border px-2 text-[11px] font-medium tabular-nums transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary/60 disabled:cursor-not-allowed disabled:opacity-60 ${o>0?"border-primary/30 bg-primary/5 text-primary hover:bg-primary/10":"border-black/10 bg-black/[0.02] text-text-muted dark:border-white/10 dark:bg-white/[0.03]"}`,children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[15px] ${t?"animate-spin":""}`,children:t?"progress_activity":"restart_alt"}),(0,d.jsx)("span",{children:o})]})}),(0,d.jsx)(r.default,{text:"View Codex reset credit expiry",children:(0,d.jsx)("button",{type:"button",onClick:()=>aO(c),disabled:j||u,"aria-label":"View Codex reset credit expiry",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-muted transition-colors hover:bg-black/5 hover:text-primary disabled:cursor-not-allowed disabled:opacity-50 dark:border-white/10 dark:hover:bg-white/5",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[17px]",children:"schedule"})})})]}),z[c.provider]&&"oauth"===c.authType&&(0,d.jsx)(r.default,{text:A[c.provider],children:(0,d.jsx)("button",{type:"button",onClick:()=>aT(c.id,c.provider,N[c.provider]?.[c.id]!==!0),"aria-label":"Toggle auto-ping",className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/5 ${N[c.provider]?.[c.id]===!0?"text-primary":"text-text-muted"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"bolt"})})}),(0,d.jsx)(r.default,{text:"Refresh quota",children:(0,d.jsx)("button",{type:"button",onClick:()=>aM(c.id,c.provider),disabled:j||u,"aria-label":"Refresh quota",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-black/5 dark:hover:bg-white/5 transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted ${j?"animate-spin":""}`,children:"refresh"})})}),(0,d.jsx)(r.default,{text:"Edit connection",children:(0,d.jsx)("button",{type:"button",onClick:()=>{ak(c),ai(!0)},disabled:u,"aria-label":"Edit connection",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-black/5 dark:hover:bg-white/5 text-text-muted hover:text-primary transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"})})}),(0,d.jsx)(r.default,{text:"Delete connection",children:(0,d.jsx)("button",{type:"button",onClick:()=>aP(c.id),disabled:u,"aria-label":"Delete connection",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-red-500/10 text-red-500 transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] ${Z===c.id?"animate-pulse":""}`,children:"delete"})})}),(0,d.jsx)("div",{className:"inline-flex items-center pl-0.5",title:c.isActive??!0?"Disable connection":"Enable connection",children:(0,d.jsx)(q.default,{size:"sm",checked:c.isActive??!0,disabled:u,onChange:a=>aQ(c.id,a)})})]})]})}),(0,d.jsx)("div",{className:"px-2 py-1.5",children:j?(0,d.jsx)("div",{className:"text-center py-5 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[28px] animate-spin",children:"progress_activity"})}):l?(0,d.jsxs)("div",{className:"text-center py-5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[28px] text-red-500",children:"error"}),(0,d.jsx)("p",{className:"mt-1.5 text-xs text-text-muted",children:l})]}):i?.message?(0,d.jsx)("div",{className:"text-center py-5",children:(0,d.jsx)("p",{className:"text-xs text-text-muted",children:i.message})}):(0,d.jsx)(p,{quotas:i?.quotas,compact:!0,sortMode:"default",showSortLabel:"codex"===c.provider&&"default"!==ar})})]},c.id)})}),(0,d.jsx)("div",{className:"rounded-xl border border-black/10 bg-black/[0.02] px-3 py-2 dark:border-white/10 dark:bg-white/[0.03]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:a_}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("select",{value:a0?"custom":String(aB),onChange:a=>{let b=a.target.value;if("custom"===b)return;let c=Number.parseInt(b,10);Number.isFinite(c)&&(aA(1),aC(c),aE(String(c)))},className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Accounts per page",children:[h.map(a=>(0,d.jsxs)("option",{value:String(a),children:[a," / page"]},a)),(0,d.jsx)("option",{value:"custom",children:"Custom"})]}),(0,d.jsx)("input",{type:"number",min:"1",max:String(500),inputMode:"numeric",value:aD,onChange:a=>aE(a.target.value),onBlur:()=>{let a=Number.parseInt(aD,10);if(!Number.isFinite(a))return void aE(String(aB));let b=Math.min(500,Math.max(1,a));aA(1),aC(b),aE(String(b))},onKeyDown:a=>{if("Enter"!==a.key)return;let b=Number.parseInt(aD,10);if(!Number.isFinite(b))return void aE(String(aB));let c=Math.min(500,Math.max(1,b));aA(1),aC(c),aE(String(c))},className:"h-8 w-20 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Custom accounts per page",placeholder:"Custom"}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["Page ",aF.page," / ",aF.totalPages]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("button",{type:"button",onClick:()=>aA(1),disabled:aF.page<=1||X||T,className:"flex h-8 items-center rounded-lg border border-black/10 px-3 text-xs text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"First Page"}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(a=>Math.max(1,a-1)),disabled:aF.page<=1||X||T,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5","aria-label":"Previous accounts page",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"chevron_left"})}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(a=>Math.min(aF.totalPages,a+1)),disabled:aF.page>=aF.totalPages||X||T,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5","aria-label":"Next accounts page",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"chevron_right"})}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(aF.totalPages),disabled:aF.page>=aF.totalPages||X||T,className:"flex h-8 items-center rounded-lg border border-black/10 px-3 text-xs text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Last Page"})]})]})}),(0,d.jsx)(t.uo,{isOpen:!!ad,onClose:()=>{ab||ae(null)},onConfirm:async()=>{let a=ad?.connection;a&&(await aN(a.id,a.provider),ae(null))},title:"Reset Codex limit?",message:`Use 1 Codex reset credit for ${k(ad?.connection||{})||"this account"}. This cannot be undone. Remaining credits: ${ad?.resetCreditCount??0}.`,confirmText:"Reset limit",cancelText:"Cancel",variant:"danger",loading:!!ab}),af&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 px-4 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"w-full max-w-2xl overflow-hidden rounded-2xl border border-black/15 bg-white shadow-2xl ring-1 ring-black/10 dark:border-white/15 dark:bg-neutral-950 dark:ring-white/10",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-black/10 bg-black/[0.03] px-4 py-3 dark:border-white/10 dark:bg-white/[0.04]",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"text-base font-semibold text-text-primary",children:"Codex Reset Credit Expiry"}),(0,d.jsx)("p",{className:"mt-0.5 truncate text-xs text-text-muted",children:k(af.connection)||"Codex account"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>ag(null),className:"flex h-8 w-8 items-center justify-center rounded-lg text-text-muted transition-colors hover:bg-black/5 hover:text-text-primary dark:hover:bg-white/5","aria-label":"Close reset credit expiry modal",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]}),(0,d.jsx)("div",{className:"max-h-[70vh] overflow-auto bg-white p-4 dark:bg-neutral-950",children:af.loading?(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2 py-10 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[20px]",children:"progress_activity"}),"Loading reset credits..."]}):af.error?(0,d.jsx)("div",{className:"rounded-xl border border-red-500/20 bg-red-500/10 px-3 py-2 text-sm text-red-600 dark:text-red-300",children:af.error}):af.data?.credits?.length?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-black/10 bg-black/[0.02] px-3 py-2 text-xs text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:[(0,d.jsxs)("span",{children:[af.data.credits.length," reset credit",1===af.data.credits.length?"":"s"]}),(0,d.jsxs)("span",{children:[af.data.availableCount??0," available"]})]}),(0,d.jsx)("div",{className:"overflow-x-auto rounded-xl border border-black/10 dark:border-white/10",children:(0,d.jsxs)("table",{className:"w-full min-w-[560px] text-left text-sm",children:[(0,d.jsx)("thead",{className:"bg-black/[0.03] text-xs uppercase tracking-wide text-text-muted dark:bg-white/[0.04]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Granted At"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Expires At"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Remaining"})]})}),(0,d.jsx)("tbody",{children:af.data.credits.map((a,b)=>(0,d.jsxs)("tr",{className:"border-t border-black/5 dark:border-white/5",children:[(0,d.jsx)("td",{className:"px-3 py-2",children:(0,d.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary",children:a.status||"unknown"})}),(0,d.jsx)("td",{className:"px-3 py-2 text-text-muted",children:D(a.grantedAt)}),(0,d.jsx)("td",{className:"px-3 py-2 text-text-primary",children:D(a.expiresAt)}),(0,d.jsx)("td",{className:"px-3 py-2 font-medium text-text-primary",children:function(a){if(!a)return"N/A";let b=new Date(a).getTime()-Date.now();if(!Number.isFinite(b))return"N/A";if(b<=0)return"Expired";let c=Math.ceil(b/36e5),d=Math.floor(c/24),e=c%24;return d>0?`${d}d ${e}h`:`${e}h`}(a.expiresAt)})]},`${a.status}-${a.expiresAt||b}`))})]})})]}):(0,d.jsx)("div",{className:"rounded-xl border border-black/10 bg-black/[0.02] px-3 py-8 text-center text-sm text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:"No reset credit details returned for this account."})})]})}),(0,d.jsx)(t.wI,{isOpen:ah,connection:aj,onSave:aR,onClose:()=>{ai(!1),ak(null)}})]}):(0,d.jsx)(s.default,{padding:"lg",children:(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[64px] text-text-muted opacity-20",children:a$.icon}),(0,d.jsx)("h3",{className:"mt-4 text-lg font-semibold text-text-primary",children:a$.title}),(0,d.jsx)("p",{className:"mt-2 text-sm text-text-muted max-w-md mx-auto",children:a$.description})]})}):(0,d.jsx)(s.default,{padding:"lg",children:(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[64px] text-text-muted opacity-20",children:"cloud_off"}),(0,d.jsx)("h3",{className:"mt-4 text-lg font-semibold text-text-primary",children:"No Providers Connected"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-text-muted max-w-md mx-auto",children:"Connect to providers with OAuth to track your API quota limits and usage."})]})})}},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16736:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(5735),e=c(91986),f=c(92082),g=c(57471);function h(){return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(f.CardSkeleton,{}),children:(0,d.jsx)(g.default,{})})}},17769:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>x,handler:()=>z,routeModule:()=>y});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57097))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v={children:["",{children:["(dashboard)",{children:["dashboard",{children:["quota",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,16736))),"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/quota/page.js"]}]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/layout.js"],error:[o,"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/error.js"],"global-error":[p,"next/dist/client/components/builtin/global-error.js"],"not-found":[q,"next/dist/client/components/builtin/not-found.js"],forbidden:[r,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[s,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/switchboard-router/switchboard-router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,w=(0,e.H)({tree:v,page:"/(dashboard)/dashboard/quota/page",pathname:"/dashboard/quota",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),x=w.__next_app__,y=w.routeModule,z=w.handler},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},23430:(a,b,c)=>{Promise.resolve().then(c.bind(c,57471)),Promise.resolve().then(c.bind(c,92082))},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},55511:a=>{"use strict";a.exports=require("crypto")},57471:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js","default")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},93166:(a,b,c)=>{Promise.resolve().then(c.bind(c,3493)),Promise.resolve().then(c.bind(c,74812))},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,2430,9995,2712,3787,7141,5350,869,3986,5781,5717,194,7757,8834],()=>b(b.s=17769));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=3826,a.ids=[3826],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3493:(a,b,c)=>{"use strict";c.d(b,{default:()=>E});var d=c(48249),e=c(67484),f=c(72738),g=c(35576);let h=[10,20,50,100],i=[{value:"all",label:"All accounts"},{value:"active",label:"Active"},{value:"inactive",label:"Turned off"}],j=[{value:"default",label:"Default quota order"},{value:"remaining-asc",label:"% quota: low to high"},{value:"remaining-desc",label:"% quota: high to low"}];function k(a){return a.name?.trim()||a.email?.trim()||a.displayName?.trim()||null}function l(a,b){let c=b[a.id]?.quotas?.[0];return c&&"number"==typeof c.remaining?c.remaining:1/0}function m(a,b){let c=new Set(b.map(a=>a.id));return Object.fromEntries(Object.entries(a).filter(([a])=>c.has(a)))}async function n(a,b){return await a(b)}function o(a,b){return b&&0!==b?!a||a<0?100:a>=b?0:Math.round((b-a)/b*100):0}function p({quotas:a=[],compact:b=!1,sortMode:c="default",showSortLabel:f=!1}){let[g,h]=(0,e.useState)(1),i=(0,e.useMemo)(()=>a.map((a,b)=>({...a,index:b,remaining:a?.remaining!==void 0?Math.max(0,Math.round(a.remaining)):a?.remainingPercentage!==void 0?Math.round(a.remainingPercentage):o(a?.used,a?.total)})),[a]),j=(0,e.useMemo)(()=>"remaining-asc"===c?[...i].sort((a,b)=>a.remaining-b.remaining||a.name.localeCompare(b.name)):"remaining-desc"===c?[...i].sort((a,b)=>b.remaining-a.remaining||a.name.localeCompare(b.name)):i,[i,c]),k=Math.max(1,Math.ceil(j.length/10));if(!a||0===a.length)return null;let l=j.slice((g-1)*10,10*g),m=0===j.length?0:(g-1)*10+1,n=Math.min(10*g,j.length),q=b?"py-1 px-1.5":"py-2 px-3",r=b?"text-[11px]":"text-sm",s=b?"text-[11px]":"text-sm",t=b?"text-[10px] leading-tight":"text-xs";return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"text-[10px] text-text-muted",children:[j.length," quota",j.length>1?"s":""]}),f&&(0,d.jsx)("div",{className:"rounded-md border border-black/10 bg-black/[0.02] px-2 py-1 text-[10px] text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:"Sorted by account remaining"})]}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsx)("table",{className:"w-full table-fixed text-left",children:(0,d.jsx)("tbody",{children:l.map(a=>{var c;let e=(c=a.remaining)>70?{text:"text-green-600 dark:text-green-400",bg:"bg-green-500",bgLight:"bg-green-500/10",emoji:"\uD83D\uDFE2"}:c>=30?{text:"text-yellow-600 dark:text-yellow-400",bg:"bg-yellow-500",bgLight:"bg-yellow-500/10",emoji:"\uD83D\uDFE1"}:{text:"text-red-600 dark:text-red-400",bg:"bg-red-500",bgLight:"bg-red-500/10",emoji:"\uD83D\uDD34"},f=function(a){if(!a)return"-";try{let b="string"==typeof a?new Date(a):a,c=new Date,d=b-c;if(d<=0)return"-";let e=Math.ceil(d/6e4);if(e<60)return`${e}m`;let f=Math.floor(e/60),g=e%60;if(f<24)return`${f}h ${g}m`;let h=Math.floor(f/24);return`${h}d ${f%24}h ${g}m`}catch(a){return"-"}}(a.resetAt),g=function(a){if(!a)return null;try{let b=new Date(a),c=new Date,d=new Date(c.getFullYear(),c.getMonth(),c.getDate()),e=new Date(d);e.setDate(e.getDate()+1);let f="";f=b>=d&&b<e?"Today":b>=e&&b<new Date(e.getTime()+864e5)?"Tomorrow":b.toLocaleDateString("en-US",{month:"short",day:"numeric"});let g=b.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return`${f}, ${g}`}catch{return null}}(a.resetAt),h=!1!==a.recurring?`in ${f}`:`expires in ${f}`;return(0,d.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5 hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors",children:[(0,d.jsx)("td",{className:`${q} w-[30%]`,children:(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,d.jsx)("span",{className:"text-[10px] shrink-0",children:e.emoji}),(0,d.jsx)("span",{className:`${r} font-medium text-text-primary truncate`,children:a.name})]})}),(0,d.jsx)("td",{className:`${q} w-[45%]`,children:(0,d.jsxs)("div",{className:b?"space-y-1":"space-y-1.5",children:[(0,d.jsx)("div",{className:`${b?"h-1":"h-1.5"} rounded-full overflow-hidden border ${e.bgLight} ${0===a.remaining?"border-black/10 dark:border-white/10":"border-transparent"}`,children:(0,d.jsx)("div",{className:`h-full transition-all duration-300 ${e.bg}`,style:{width:`${Math.min(a.remaining,100)}%`}})}),(0,d.jsxs)("div",{className:`flex items-center justify-between ${b?"text-[10px]":"text-xs"}`,children:[(0,d.jsxs)("span",{className:"text-text-muted",children:[a.used.toLocaleString()," / ",a.total>0?a.total.toLocaleString():"∞"]}),(0,d.jsxs)("span",{className:`font-medium ${e.text}`,children:[a.remaining,"%"]})]})]})}),(0,d.jsx)("td",{className:`${q} w-[25%]`,children:"-"!==f||g?b?(0,d.jsx)("div",{className:`${s} text-text-primary font-medium truncate`,title:g||"",children:"-"!==f?h:g}):(0,d.jsxs)("div",{className:"space-y-0.5",children:["-"!==f&&(0,d.jsx)("div",{className:`${s} text-text-primary font-medium`,children:h}),g&&(0,d.jsx)("div",{className:`${t} text-text-muted`,children:g})]}):(0,d.jsx)("div",{className:`${s} text-text-muted italic`,children:"N/A"})})]},`${a.name}-${a.index}`)})})})}),k>1&&(0,d.jsxs)("div",{className:"rounded-md border border-black/10 bg-black/[0.02] px-2 py-1.5 dark:border-white/10 dark:bg-white/[0.03]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 text-[10px] text-text-muted",children:[(0,d.jsxs)("span",{children:["Showing ",m,"-",n," of ",j.length]}),(0,d.jsxs)("span",{children:["Page ",g," / ",k]})]}),(0,d.jsxs)("div",{className:"mt-1.5 flex items-center justify-end gap-1",children:[(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>Math.max(1,a-1)),disabled:1===g,className:"flex h-6 items-center rounded-md border border-black/10 px-2 text-[10px] text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Prev"}),(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>Math.min(k,a+1)),disabled:g===k,className:"flex h-6 items-center rounded-md border border-black/10 px-2 text-[10px] text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Next"})]})]})]})}var q=c(95514),r=c(32971),s=c(17660),t=c(50412),u=c(92592),v=c(50377),w=c(6297),x=c(78097);let y={"builder-id":"AWS Builder ID",idc:"IAM Identity Center",google:"Google",github:"GitHub",imported:"Imported Token",api_key:"API Key"},z={claude:"claudeAutoPing",codex:"codexAutoPing"},A={claude:"When your 5h quota runs out, auto-sends a request the moment it resets so a new window starts right away.",codex:"Auto-starts the next 5h Codex window after reset by sending a tiny gpt-5.5 request. Consumes a small amount of quota."};function B(a){return a.name?.trim()&&a.email?.trim()&&a.name.trim()!==a.email.trim()?a.email.trim():a.name?.trim()&&a.displayName?.trim()&&a.name.trim()!==a.displayName.trim()?a.displayName.trim():null}function C(a){let b=a.providerSpecificData?.region;if(b)return b;let c=a.providerSpecificData?.profileArn;return("string"==typeof c?c.split(":")[3]:"")||""}function D(a){if(!a)return"N/A";let b=new Date(a);return Number.isFinite(b.getTime())?b.toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}):"N/A"}function E(){let{copied:a,copy:b}=(0,v.C)(),[c,E]=(0,e.useState)([]),[F,G]=(0,e.useState)({}),[H,I]=(0,e.useState)({}),[J,K]=(0,e.useState)({}),[L,M]=(0,e.useState)(!0),[N,O]=(0,e.useState)({claude:{},codex:{}}),[P,Q]=(0,e.useState)(null),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(60),[X,Y]=(0,e.useState)(!0),[Z,$]=(0,e.useState)(null),[_,aa]=(0,e.useState)(null),[ab,ac]=(0,e.useState)(null),[ad,ae]=(0,e.useState)(null),[af,ag]=(0,e.useState)(null),[ah,ai]=(0,e.useState)(!1),[aj,ak]=(0,e.useState)(null),[al,am]=(0,e.useState)("all"),[an,ao]=(0,e.useState)([]),[ap,aq]=(0,e.useState)("all"),[ar,as]=(0,e.useState)("default"),[at,au]=(0,e.useState)(!1),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(!1),[az,aA]=(0,e.useState)(1),[aB,aC]=(0,e.useState)(20),[aD,aE]=(0,e.useState)(String(20)),[aF,aG]=(0,e.useState)({page:1,pageSize:20,total:0,totalPages:1}),[aH,aI]=(0,e.useState)({eligibleConnections:0,providerFilteredConnections:0});(0,e.useRef)(null),(0,e.useRef)(null);let aJ=(0,e.useRef)(0),aK=(0,e.useCallback)(async(a=az)=>{try{var b,c;let d=new URLSearchParams({page:String(a),pageSize:String(aB),accountStatus:ap,sort:"priority"});"all"!==al&&d.set("provider",al);let e=await fetch(`/api/providers/client?${d.toString()}`);if(!e.ok)throw Error("Failed to fetch connections");let f=await e.json(),g=f.connections||[],h=(b=f.pagination,b||{page:1,pageSize:aB,total:0,totalPages:1}),i=function(a,b=0){return a||{eligibleConnections:b,providerFilteredConnections:b}}(f.totals,g.length);return E(g),ao(f.providerOptions||[]),aG(h),aI(i),aA((c=f.pagination,c?.page||a)),g}catch(a){return(0,w.s)("Error fetching connections:",a),E([]),ao([]),aG({page:1,pageSize:aB,total:0,totalPages:1}),aI({eligibleConnections:0,providerFilteredConnections:0}),[]}},[ap,az,aB,al]),aL=(0,e.useCallback)(async(a,b,{force:c=!1}={})=>{I(b=>({...b,[a]:!0})),K(b=>({...b,[a]:null}));try{let d=`/api/usage/${a}${c?"?force=1":""}`,e=await fetch(d);if(!e.ok){let c=(await e.json().catch(()=>({}))).error||e.statusText;if(404===e.status)return void(0,w.s)(`[ProviderLimits] Connection not found for ${b}, skipping`);if(401===e.status){(0,w.s)(`[ProviderLimits] Auth error for ${b}:`,c);let d={quotas:[],message:c};G(b=>({...b,[a]:d}));return}throw Error(`HTTP ${e.status}: ${c}`)}let f=await e.json(),h={quotas:function(a,b){if(!b||"object"!=typeof b)return[];let c=[];try{switch(a.toLowerCase()){case"github":default:b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"antigravity":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:b.displayName||a,modelKey:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})});break;case"codex":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,remaining:b.remaining,resetAt:b.resetAt||null})});break;case"kiro":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"qoder":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{("organization"!==a||b&&0!==(Number(b.total)||0))&&c.push({name:"user"===a?"Personal":"organization"===a?"Organization":a,used:b.used||0,total:b.total||0,unit:b.unit,resetAt:b.resetAt||null})});break;case"claude":b.message?c.push({name:"error",used:0,total:0,resetAt:null,message:b.message}):b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null})});break;case"vercel-ai-gateway":case"ollama":case"deepseek":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})});break;case"codebuddy-cn":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,recurring:!1!==b.recurring})});break;case"kimi":case"kimi-coding":b.quotas&&Object.entries(b.quotas).forEach(([a,b])=>{c.push({name:a,used:b.used||0,total:b.total||0,resetAt:b.resetAt||null,remainingPercentage:b.remainingPercentage})})}}catch(b){return console.error(`Error parsing quota data for ${a}:`,b),[]}let d=(0,g.KC)(a);if(d.length>0){let a=new Map(d.map((a,b)=>[a.id,b]));c.sort((b,c)=>{let d=b.modelKey||b.name,e=c.modelKey||c.name;return(a.get(d)??999)-(a.get(e)??999)})}return c}(b,f),plan:f.plan||null,message:f.message||null,raw:f};G(b=>({...b,[a]:h}))}catch(c){(0,w.s)(`[ProviderLimits] Error fetching quota for ${b} (${a}):`,c),K(b=>({...b,[a]:c.message||"Failed to fetch quota"}))}finally{I(b=>({...b,[a]:!1}))}},[]),aM=(0,e.useCallback)(async(a,b)=>{await aL(a,b,{force:!0}),Q(new Date)},[aL]),aN=(0,e.useCallback)(async(a,b)=>{if("codex"===b&&!ab){ac(a),K(b=>({...b,[a]:null}));try{let c=await fetch(`/api/usage/${a}/codex-reset-credits`,{method:"POST"}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.message||d.error||d.code||"Failed to reset Codex limit");await aL(a,b),Q(new Date)}catch(b){K(c=>({...c,[a]:b.message||"Failed to reset Codex limit"}))}finally{ac(null)}}},[aL,ab]),aO=(0,e.useCallback)(async a=>{ag({connection:a,loading:!0,error:null,data:null});try{let b=await fetch(`/api/usage/${a.id}/codex-reset-credits`,{cache:"no-store"}),c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c.error||c.message||"Failed to load Codex reset credits");let d=Array.isArray(c.credits)?[...c.credits]:[];d.sort((a,b)=>{let c=a.expiresAt?new Date(a.expiresAt).getTime():1/0,d=b.expiresAt?new Date(b.expiresAt).getTime():1/0;return c-d}),ag({connection:a,loading:!1,error:null,data:{...c,credits:d}})}catch(b){ag({connection:a,loading:!1,error:b.message||"Failed to load Codex reset credits",data:null})}},[]),aP=(0,e.useCallback)(async a=>{let b=k(c.find(b=>b.id===a)||{})||a;if(await (0,x.l)({message:`Delete connection “${b}”?`,confirmText:"Continue"})){$(a);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&(G(b=>{let c={...b};return delete c[a],c}),I(b=>{let c={...b};return delete c[a],c}),K(b=>{let c={...b};return delete c[a],c}),await n(aK,az))}catch(a){(0,w.s)("Error deleting connection:",a)}finally{$(null)}}},[c,aK,az]),aQ=(0,e.useCallback)(async(a,b)=>{aa(a);try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&(G(a=>({...a})),await n(aK,az))}catch(a){(0,w.s)("Error updating connection status:",a)}finally{aa(null)}},[aK,az]),aR=(0,e.useCallback)(async a=>{if(!aj?.id)return;let b=aj.id,c=aj.provider;try{(await fetch(`/api/providers/${b}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await aK(),ai(!1),ak(null),u.wb.includes(c)&&await aL(b,c))}catch(a){(0,w.s)("Error saving connection:",a)}},[aj,aK,aL]),aS=(0,e.useCallback)(async(a=!1)=>{if(T)return;U(!0),W(60);let b=aJ.current+=1,c=Math.round(10);try{let d,e=await aK(az);I((d={},e.forEach(a=>{d[a.id]=!0}),d)),K(a=>m(a,e)),G(a=>m(a,e)),await Promise.all(e.filter(d=>a||"claude"!==d.provider||b%c==0).map(a=>aL(a.id,a.provider))),Q(new Date)}catch(a){(0,w.s)("Error refreshing all providers:",a)}finally{U(!1)}},[T,aK,aL,az]),aT=(0,e.useCallback)(async(a,b,c)=>{let d=z[b];if(!d)return;let e={...N[b]||{},[a]:c};O({...N,[b]:e});try{let a=await fetch("/api/settings",{cache:"no-store"}),b={...(a.ok?await a.json():{})[d]||{},connections:e};await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[d]:b})})}catch{O(N)}},[N]),aU=(0,e.useMemo)(()=>(function(a,b,c,d,e){if("codex"===d&&"default"!==e)return[...a].sort((a,c)=>{let d=l(a,b),f=l(c,b),g="remaining-asc"===e?d-f:f-d;return 0!==g?g:(k(a)||"").localeCompare(k(c)||"")});if(!c){let b=new Map;for(let c of a){let a=c.provider||"";b.has(a)||b.set(a,[]),b.get(a).push(c)}return Array.from(b.values()).flat()}let f=a=>{let c=(b[a.id]?.quotas||[]).map(a=>a.resetAt?new Date(a.resetAt).getTime():1/0).filter(a=>Number.isFinite(a));return c.length>0?Math.min(...c):1/0};return[...a].sort((a,b)=>{let c=f(a)-f(b);return 0!==c?c:(a.provider||"").localeCompare(b.provider||"")||(k(a)||"").localeCompare(k(b)||"")})})(c,F,at,al,ar),[c,F,at,al,ar]),aV=a=>{let b=F[a.id]?.quotas;return!!b?.length&&b.some(a=>!!a.total&&!(a.total<=0)&&5>=o(a.used,a.total))},aW=(0,e.useCallback)(async(a,b)=>{if(a.length&&!ax){ay(!0);try{await Promise.all(a.map(a=>fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})}))),await n(aK,az)}catch(a){(0,w.s)("Error bulk toggling connections:",a)}finally{ay(!1)}}},[ax,aK,az]),aX="all"===al?"All providers":al,aY=aH.eligibleConnections>0,aZ=aU.length>0,a$=aH.eligibleConnections?aH.providerFilteredConnections?{icon:"filter_alt_off",title:"No Accounts On This Page",description:"Try moving to another page or refreshing the current filters."}:{icon:"filter_alt_off",title:"No Accounts Match Current Filters",description:"all"===al?"Try changing the account status filter to see more quota trackers.":`No ${"inactive"===ap?"turned off":"active"===ap?"active":"matching"} accounts found for ${al}.`}:{icon:"cloud_off",title:"No Providers Connected",description:"Connect to providers with OAuth to track your API quota limits and usage."},a_=function(a){var b;let{start:c,end:d}=(b=a).total?{start:(b.page-1)*b.pageSize+1,end:Math.min(b.page*b.pageSize,b.total)}:{start:0,end:0};return`Showing ${c}-${d} of ${a.total}`}(aF),a0=!h.includes(aB);return X||aY?X||aZ?(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsx)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-end",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>aw(a=>!a),className:"flex h-8 items-center justify-between gap-1 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-haspopup":"menu","aria-expanded":av,title:"Filter quota providers",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:["all"===al?(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"apps"}):(0,d.jsx)(f.A,{src:`/providers/${al}.png`,alt:al,size:18,className:"size-[18px] rounded object-contain",fallbackText:al.slice(0,2).toUpperCase()}),(0,d.jsx)("span",{className:"truncate capitalize hidden lg:inline",children:aX})]}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"expand_more"})]}),av&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"fixed inset-0 z-30 bg-transparent","aria-label":"Close provider filter",onClick:()=>aw(!1)}),(0,d.jsxs)("div",{className:"absolute left-0 z-40 mt-2 w-64 overflow-hidden rounded-2xl border border-black/10 bg-surface/95 p-1.5 shadow-xl shadow-black/10 backdrop-blur dark:border-white/10 dark:bg-surface/95 sm:w-72",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{"all"!==al&&aA(1),am("all"),aw(!1)},className:`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${"all"===al?"bg-primary/10 text-primary":"text-text-primary hover:bg-black/5 dark:hover:bg-white/10"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[22px]",children:"apps"}),(0,d.jsx)("span",{className:"font-medium",children:"All providers"}),"all"===al&&(0,d.jsx)("span",{className:"material-symbols-outlined ml-auto text-[20px]",children:"check"})]}),(0,d.jsx)("div",{className:"my-1 h-px bg-black/10 dark:bg-white/10"}),(0,d.jsx)("div",{className:"max-h-72 overflow-y-auto pr-1",children:an.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{al!==a&&aA(1),am(a),aw(!1)},className:`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${al===a?"bg-primary/10 text-primary":"text-text-primary hover:bg-black/5 dark:hover:bg-white/10"}`,children:[(0,d.jsx)(f.A,{src:`/providers/${a}.png`,alt:a,size:24,className:"size-6 rounded-md object-contain",fallbackText:a.slice(0,2).toUpperCase()}),(0,d.jsx)("span",{className:"font-medium capitalize",children:a}),al===a&&(0,d.jsx)("span",{className:"material-symbols-outlined ml-auto text-[20px]",children:"check"})]},a))})]})]})]}),(0,d.jsx)("select",{value:ap,onChange:a=>{let b=a.target.value;ap!==b&&aA(1),aq(b)},className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Filter accounts by status",children:i.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),"codex"===al&&(0,d.jsx)("select",{value:ar,onChange:a=>as(a.target.value),className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Sort Codex quotas by remaining",children:j.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))}),(0,d.jsxs)("button",{type:"button",onClick:()=>au(a=>!a),"aria-pressed":at,className:`flex h-8 shrink-0 items-center gap-1 rounded-lg border px-2 text-xs transition-colors ${at?"border-amber-500/40 bg-amber-500/10 text-amber-500":"border-black/10 text-text-primary hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5"}`,title:"Sort accounts by earliest quota reset time",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"hourglass_top"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Expiring first"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>{aW(aU.filter(a=>(a.isActive??!0)&&aV(a)).map(a=>a.id),!1)},disabled:ax,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-red-500/30 px-2 text-xs text-red-500 transition-colors hover:bg-red-500/10 disabled:opacity-50",title:"Disable connections with depleted quota on the current page",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"block"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Turn off Empty"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>{aW(aU.filter(a=>!(a.isActive??!0)&&!aV(a)).map(a=>a.id),!0)},disabled:ax,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-emerald-500/30 px-2 text-xs text-emerald-500 transition-colors hover:bg-emerald-500/10 disabled:opacity-50",title:"Enable connections that still have quota on the current page",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"check_circle"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Turn on Available"})]}),(0,d.jsxs)("button",{onClick:()=>M(a=>!a),className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-black/10 px-2 text-xs transition-colors hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5",title:L?"Disable auto-refresh":"Enable auto-refresh",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] ${L?"text-primary":"text-text-muted"}`,children:L?"toggle_on":"toggle_off"}),(0,d.jsx)("span",{className:"hidden text-text-primary sm:inline",children:"Auto-refresh"}),L&&(0,d.jsxs)("span",{className:"text-[10px] text-text-muted tabular-nums",children:["(",V,"s)"]})]}),(0,d.jsx)("button",{type:"button",onClick:()=>aS(!0),disabled:T,className:"flex h-8 shrink-0 items-center gap-1 rounded-lg border border-black/10 px-2 text-xs text-text-primary transition-colors hover:bg-black/5 dark:border-white/10 dark:hover:bg-white/5 disabled:opacity-50",title:"Refresh all",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] ${T?"animate-spin":""}`,children:"refresh"})})]})}),at&&(0,d.jsx)("div",{className:"rounded-xl border border-amber-500/20 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300",children:"Expiring-first currently reorders accounts inside the current page. Cross-page ordering still follows backend pagination."}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:aU.map(c=>{let e,g,h,i=F[c.id],j=H[c.id],l=J[c.id],m=!1===c.isActive,n="codex"===c.provider,o=Number.isFinite(g="number"==typeof(e=i?.raw?.resetCredits?.availableCount)?e:Number(e))?Math.max(0,g):0,t=ab===c.id,u=Z===c.id||_===c.id||t;return(0,d.jsxs)(s.default,{padding:"none",className:`min-w-0 ${m?"opacity-60":""}`,children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-black/10 dark:border-white/10",children:(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("div",{className:"w-8 h-8 shrink-0 rounded-md flex items-center justify-center overflow-hidden",children:(0,d.jsx)(f.A,{src:`/providers/${c.provider}.png`,alt:c.provider,size:32,className:"object-contain",fallbackText:c.provider?.slice(0,2).toUpperCase()||"PR"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-text-primary capitalize truncate",children:c.provider}),k(c)?(0,d.jsx)("p",{className:"text-xs text-text-muted truncate",children:k(c)}):null,B(c)?(0,d.jsx)("p",{className:"text-[11px] text-text-muted/80 truncate",children:B(c)}):null,"kiro"===c.provider&&(0,d.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:[(0,d.jsx)("span",{className:"rounded-full bg-brand-500/10 px-2 py-0.5 text-[10px] font-semibold text-brand-600 dark:text-brand-300",children:(h=c.providerSpecificData?.authMethod)&&y[h]?y[h]:"api_key"===c.authType?"API Key":"OAuth"}),C(c)&&(0,d.jsx)("span",{className:"rounded-full bg-blue-500/10 px-2 py-0.5 text-[10px] font-semibold text-blue-600 dark:text-blue-400",children:C(c)}),(0,d.jsx)("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold ${m?"bg-surface-2 text-text-muted":"active"===c.testStatus||"success"===c.testStatus?"bg-green-500/10 text-green-600 dark:text-green-400":"error"===c.testStatus||"expired"===c.testStatus||"unavailable"===c.testStatus?"bg-red-500/10 text-red-600 dark:text-red-400":"bg-surface-2 text-text-muted"}`,children:m?"disabled":c.testStatus||"unknown"}),c.providerSpecificData?.profileArn&&(0,d.jsxs)("button",{type:"button",onClick:()=>b(c.providerSpecificData.profileArn,c.id),title:c.providerSpecificData.profileArn,className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border-subtle px-2 py-0.5 text-[10px] text-text-muted transition-colors hover:text-primary",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:a===c.id?"check":"content_copy"}),(0,d.jsx)("code",{className:"truncate font-mono",children:c.providerSpecificData.profileArn})]})]})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[n&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.default,{text:o>0?`Use one Codex reset credit. Available: ${o}`:"No Codex reset credits available",children:(0,d.jsxs)("button",{type:"button",onClick:()=>ae({connection:c,resetCreditCount:o}),disabled:o<=0||j||u,"aria-label":o>0?`Use one Codex reset credit. ${o} available.`:"No Codex reset credits available",className:`flex h-8 min-w-10 items-center justify-center gap-1 rounded-lg border px-2 text-[11px] font-medium tabular-nums transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary/60 disabled:cursor-not-allowed disabled:opacity-60 ${o>0?"border-primary/30 bg-primary/5 text-primary hover:bg-primary/10":"border-black/10 bg-black/[0.02] text-text-muted dark:border-white/10 dark:bg-white/[0.03]"}`,children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[15px] ${t?"animate-spin":""}`,children:t?"progress_activity":"restart_alt"}),(0,d.jsx)("span",{children:o})]})}),(0,d.jsx)(r.default,{text:"View Codex reset credit expiry",children:(0,d.jsx)("button",{type:"button",onClick:()=>aO(c),disabled:j||u,"aria-label":"View Codex reset credit expiry",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-muted transition-colors hover:bg-black/5 hover:text-primary disabled:cursor-not-allowed disabled:opacity-50 dark:border-white/10 dark:hover:bg-white/5",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[17px]",children:"schedule"})})})]}),z[c.provider]&&"oauth"===c.authType&&(0,d.jsx)(r.default,{text:A[c.provider],children:(0,d.jsx)("button",{type:"button",onClick:()=>aT(c.id,c.provider,N[c.provider]?.[c.id]!==!0),"aria-label":"Toggle auto-ping",className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/5 ${N[c.provider]?.[c.id]===!0?"text-primary":"text-text-muted"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"bolt"})})}),(0,d.jsx)(r.default,{text:"Refresh quota",children:(0,d.jsx)("button",{type:"button",onClick:()=>aM(c.id,c.provider),disabled:j||u,"aria-label":"Refresh quota",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-black/5 dark:hover:bg-white/5 transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted ${j?"animate-spin":""}`,children:"refresh"})})}),(0,d.jsx)(r.default,{text:"Edit connection",children:(0,d.jsx)("button",{type:"button",onClick:()=>{ak(c),ai(!0)},disabled:u,"aria-label":"Edit connection",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-black/5 dark:hover:bg-white/5 text-text-muted hover:text-primary transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"})})}),(0,d.jsx)(r.default,{text:"Delete connection",children:(0,d.jsx)("button",{type:"button",onClick:()=>aP(c.id),disabled:u,"aria-label":"Delete connection",className:"flex h-8 w-8 items-center justify-center rounded-lg hover:bg-red-500/10 text-red-500 transition-colors disabled:opacity-50",children:(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] ${Z===c.id?"animate-pulse":""}`,children:"delete"})})}),(0,d.jsx)("div",{className:"inline-flex items-center pl-0.5",title:c.isActive??!0?"Disable connection":"Enable connection",children:(0,d.jsx)(q.default,{size:"sm",checked:c.isActive??!0,disabled:u,onChange:a=>aQ(c.id,a)})})]})]})}),(0,d.jsx)("div",{className:"px-2 py-1.5",children:j?(0,d.jsx)("div",{className:"text-center py-5 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[28px] animate-spin",children:"progress_activity"})}):l?(0,d.jsxs)("div",{className:"text-center py-5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[28px] text-red-500",children:"error"}),(0,d.jsx)("p",{className:"mt-1.5 text-xs text-text-muted",children:l})]}):i?.message?(0,d.jsx)("div",{className:"text-center py-5",children:(0,d.jsx)("p",{className:"text-xs text-text-muted",children:i.message})}):(0,d.jsx)(p,{quotas:i?.quotas,compact:!0,sortMode:"default",showSortLabel:"codex"===c.provider&&"default"!==ar})})]},c.id)})}),(0,d.jsx)("div",{className:"rounded-xl border border-black/10 bg-black/[0.02] px-3 py-2 dark:border-white/10 dark:bg-white/[0.03]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:a_}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("select",{value:a0?"custom":String(aB),onChange:a=>{let b=a.target.value;if("custom"===b)return;let c=Number.parseInt(b,10);Number.isFinite(c)&&(aA(1),aC(c),aE(String(c)))},className:"h-8 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Accounts per page",children:[h.map(a=>(0,d.jsxs)("option",{value:String(a),children:[a," / page"]},a)),(0,d.jsx)("option",{value:"custom",children:"Custom"})]}),(0,d.jsx)("input",{type:"number",min:"1",max:String(500),inputMode:"numeric",value:aD,onChange:a=>aE(a.target.value),onBlur:()=>{let a=Number.parseInt(aD,10);if(!Number.isFinite(a))return void aE(String(aB));let b=Math.min(500,Math.max(1,a));aA(1),aC(b),aE(String(b))},onKeyDown:a=>{if("Enter"!==a.key)return;let b=Number.parseInt(aD,10);if(!Number.isFinite(b))return void aE(String(aB));let c=Math.min(500,Math.max(1,b));aA(1),aC(c),aE(String(c))},className:"h-8 w-20 rounded-lg border border-black/10 bg-black/[0.02] px-2 text-xs text-text-primary outline-none transition-colors hover:bg-black/5 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/10","aria-label":"Custom accounts per page",placeholder:"Custom"}),(0,d.jsxs)("span",{className:"text-xs text-text-muted",children:["Page ",aF.page," / ",aF.totalPages]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("button",{type:"button",onClick:()=>aA(1),disabled:aF.page<=1||X||T,className:"flex h-8 items-center rounded-lg border border-black/10 px-3 text-xs text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"First Page"}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(a=>Math.max(1,a-1)),disabled:aF.page<=1||X||T,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5","aria-label":"Previous accounts page",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"chevron_left"})}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(a=>Math.min(aF.totalPages,a+1)),disabled:aF.page>=aF.totalPages||X||T,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-black/10 text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5","aria-label":"Next accounts page",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"chevron_right"})}),(0,d.jsx)("button",{type:"button",onClick:()=>aA(aF.totalPages),disabled:aF.page>=aF.totalPages||X||T,className:"flex h-8 items-center rounded-lg border border-black/10 px-3 text-xs text-text-primary transition-colors hover:bg-black/5 disabled:cursor-not-allowed disabled:opacity-40 dark:border-white/10 dark:hover:bg-white/5",children:"Last Page"})]})]})}),(0,d.jsx)(t.uo,{isOpen:!!ad,onClose:()=>{ab||ae(null)},onConfirm:async()=>{let a=ad?.connection;a&&(await aN(a.id,a.provider),ae(null))},title:"Reset Codex limit?",message:`Use 1 Codex reset credit for ${k(ad?.connection||{})||"this account"}. This cannot be undone. Remaining credits: ${ad?.resetCreditCount??0}.`,confirmText:"Reset limit",cancelText:"Cancel",variant:"danger",loading:!!ab}),af&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 px-4 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"w-full max-w-2xl overflow-hidden rounded-2xl border border-black/15 bg-white shadow-2xl ring-1 ring-black/10 dark:border-white/15 dark:bg-neutral-950 dark:ring-white/10",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-black/10 bg-black/[0.03] px-4 py-3 dark:border-white/10 dark:bg-white/[0.04]",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"text-base font-semibold text-text-primary",children:"Codex Reset Credit Expiry"}),(0,d.jsx)("p",{className:"mt-0.5 truncate text-xs text-text-muted",children:k(af.connection)||"Codex account"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>ag(null),className:"flex h-8 w-8 items-center justify-center rounded-lg text-text-muted transition-colors hover:bg-black/5 hover:text-text-primary dark:hover:bg-white/5","aria-label":"Close reset credit expiry modal",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]}),(0,d.jsx)("div",{className:"max-h-[70vh] overflow-auto bg-white p-4 dark:bg-neutral-950",children:af.loading?(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2 py-10 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[20px]",children:"progress_activity"}),"Loading reset credits..."]}):af.error?(0,d.jsx)("div",{className:"rounded-xl border border-red-500/20 bg-red-500/10 px-3 py-2 text-sm text-red-600 dark:text-red-300",children:af.error}):af.data?.credits?.length?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-black/10 bg-black/[0.02] px-3 py-2 text-xs text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:[(0,d.jsxs)("span",{children:[af.data.credits.length," reset credit",1===af.data.credits.length?"":"s"]}),(0,d.jsxs)("span",{children:[af.data.availableCount??0," available"]})]}),(0,d.jsx)("div",{className:"overflow-x-auto rounded-xl border border-black/10 dark:border-white/10",children:(0,d.jsxs)("table",{className:"w-full min-w-[560px] text-left text-sm",children:[(0,d.jsx)("thead",{className:"bg-black/[0.03] text-xs uppercase tracking-wide text-text-muted dark:bg-white/[0.04]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Granted At"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Expires At"}),(0,d.jsx)("th",{className:"px-3 py-2 font-medium",children:"Remaining"})]})}),(0,d.jsx)("tbody",{children:af.data.credits.map((a,b)=>(0,d.jsxs)("tr",{className:"border-t border-black/5 dark:border-white/5",children:[(0,d.jsx)("td",{className:"px-3 py-2",children:(0,d.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary",children:a.status||"unknown"})}),(0,d.jsx)("td",{className:"px-3 py-2 text-text-muted",children:D(a.grantedAt)}),(0,d.jsx)("td",{className:"px-3 py-2 text-text-primary",children:D(a.expiresAt)}),(0,d.jsx)("td",{className:"px-3 py-2 font-medium text-text-primary",children:function(a){if(!a)return"N/A";let b=new Date(a).getTime()-Date.now();if(!Number.isFinite(b))return"N/A";if(b<=0)return"Expired";let c=Math.ceil(b/36e5),d=Math.floor(c/24),e=c%24;return d>0?`${d}d ${e}h`:`${e}h`}(a.expiresAt)})]},`${a.status}-${a.expiresAt||b}`))})]})})]}):(0,d.jsx)("div",{className:"rounded-xl border border-black/10 bg-black/[0.02] px-3 py-8 text-center text-sm text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:"No reset credit details returned for this account."})})]})}),(0,d.jsx)(t.wI,{isOpen:ah,connection:aj,onSave:aR,onClose:()=>{ai(!1),ak(null)}})]}):(0,d.jsx)(s.default,{padding:"lg",children:(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[64px] text-text-muted opacity-20",children:a$.icon}),(0,d.jsx)("h3",{className:"mt-4 text-lg font-semibold text-text-primary",children:a$.title}),(0,d.jsx)("p",{className:"mt-2 text-sm text-text-muted max-w-md mx-auto",children:a$.description})]})}):(0,d.jsx)(s.default,{padding:"lg",children:(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[64px] text-text-muted opacity-20",children:"cloud_off"}),(0,d.jsx)("h3",{className:"mt-4 text-lg font-semibold text-text-primary",children:"No Providers Connected"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-text-muted max-w-md mx-auto",children:"Connect to providers with OAuth to track your API quota limits and usage."})]})})}},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16736:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(5735),e=c(91986),f=c(92082),g=c(57471);function h(){return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(f.CardSkeleton,{}),children:(0,d.jsx)(g.default,{})})}},17769:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>x,handler:()=>z,routeModule:()=>y});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57097))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v={children:["",{children:["(dashboard)",{children:["dashboard",{children:["quota",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,16736))),"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/quota/page.js"]}]},{"global-error":[u,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/layout.js"],error:[o,"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/error.js"],"global-error":[p,"next/dist/client/components/builtin/global-error.js"],"not-found":[q,"next/dist/client/components/builtin/not-found.js"],forbidden:[r,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[s,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/switchboard-router/switchboard-router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,w=(0,e.H)({tree:v,page:"/(dashboard)/dashboard/quota/page",pathname:"/dashboard/quota",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),x=w.__next_app__,y=w.routeModule,z=w.handler},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},23430:(a,b,c)=>{Promise.resolve().then(c.bind(c,57471)),Promise.resolve().then(c.bind(c,92082))},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},55511:a=>{"use strict";a.exports=require("crypto")},57471:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/switchboard-router/switchboard-router/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js","default")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},93166:(a,b,c)=>{Promise.resolve().then(c.bind(c,3493)),Promise.resolve().then(c.bind(c,74812))},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,2430,9995,2712,3787,8976,5350,869,3986,5781,5717,194,7757,8834],()=>b(b.s=17769));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/1294.js","../../../../chunks/1350.js","../../../../chunks/1425.js","../../../../chunks/159.js","../../../../chunks/1656.js","../../../../chunks/1808.js","../../../../chunks/1813.js","../../../../chunks/1818.js","../../../../chunks/1937.js","../../../../chunks/194.js","../../../../chunks/1998.js","../../../../chunks/2376.js","../../../../chunks/2409.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2712.js","../../../../chunks/2750.js","../../../../chunks/3026.js","../../../../chunks/3072.js","../../../../chunks/3075.js","../../../../chunks/3546.js","../../../../chunks/3593.js","../../../../chunks/3675.js","../../../../chunks/369.js","../../../../chunks/3787.js","../../../../chunks/3904.js","../../../../chunks/3986.js","../../../../chunks/4176.js","../../../../chunks/440.js","../../../../chunks/4646.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4780.js","../../../../chunks/4803.js","../../../../chunks/507.js","../../../../chunks/5258.js","../../../../chunks/5350.js","../../../../chunks/5573.js","../../../../chunks/5616.js","../../../../chunks/5717.js","../../../../chunks/5781.js","../../../../chunks/5888.js","../../../../chunks/5913.js","../../../../chunks/5920.js","../../../../chunks/6052.js","../../../../chunks/6103.js","../../../../chunks/6182.js","../../../../chunks/6252.js","../../../../chunks/6274.js","../../../../chunks/6328.js","../../../../chunks/6347.js","../../../../chunks/6395.js","../../../../chunks/6406.js","../../../../chunks/6492.js","../../../../chunks/6844.js","../../../../chunks/6947.js","../../../../chunks/698.js","../../../../chunks/6985.js","../../../../chunks/7141.js","../../../../chunks/7454.js","../../../../chunks/7557.js","../../../../chunks/7662.js","../../../../chunks/7753.js","../../../../chunks/7757.js","../../../../chunks/7774.js","../../../../chunks/7828.js","../../../../chunks/7965.js","../../../../chunks/8062.js","../../../../chunks/8080.js","../../../../chunks/8117.js","../../../../chunks/8400.js","../../../../chunks/8469.js","../../../../chunks/849.js","../../../../chunks/8520.js","../../../../chunks/8658.js","../../../../chunks/869.js","../../../../chunks/8775.js","../../../../chunks/8789.js","../../../../chunks/8834.js","../../../../chunks/8942.js","../../../../chunks/8998.js","../../../../chunks/9078.js","../../../../chunks/9091.js","../../../../chunks/9261.js","../../../../chunks/9264.js","../../../../chunks/9291.js","../../../../chunks/940.js","../../../../chunks/9421.js","../../../../chunks/9508.js","../../../../chunks/9617.js","../../../../chunks/995.js","../../../../chunks/9995.js","../../../../chunks/static/media/catalog.e7ada387.json","../../../../chunks/static/media/versions.401d57e8.json","../../../../webpack-runtime.js","page_client-reference-manifest.js","../../../../../../open-sse/providers/generated/catalog.json","../../../../../../node_modules/impit/CHANGELOG.md","../../../../../../node_modules/impit/dts-header.d.ts","../../../../../../node_modules/impit/errors.js","../../../../../../node_modules/impit/index.d.ts","../../../../../../node_modules/impit/index.js","../../../../../../node_modules/impit/index.wrapper.js","../../../../../../node_modules/impit/package.json","../../../../../../node_modules/impit/pnpm-workspace.yaml","../../../../../../node_modules/impit/README.md","../../../../../../node_modules/impit/tsconfig.docs.json","../../../../../../node_modules/impit-linux-x64-gnu/impit-node.linux-x64-gnu.node","../../../../../../node_modules/impit-linux-x64-gnu/package.json","../../../../../../node_modules/impit-linux-x64-gnu/README.md","../../../../../../open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe","../../../../../../open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/1294.js","../../../../chunks/1350.js","../../../../chunks/1425.js","../../../../chunks/159.js","../../../../chunks/1656.js","../../../../chunks/1808.js","../../../../chunks/1813.js","../../../../chunks/1818.js","../../../../chunks/1937.js","../../../../chunks/194.js","../../../../chunks/1998.js","../../../../chunks/2409.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2524.js","../../../../chunks/2712.js","../../../../chunks/2750.js","../../../../chunks/3026.js","../../../../chunks/3072.js","../../../../chunks/3446.js","../../../../chunks/3546.js","../../../../chunks/3593.js","../../../../chunks/3675.js","../../../../chunks/369.js","../../../../chunks/3735.js","../../../../chunks/3787.js","../../../../chunks/3904.js","../../../../chunks/3986.js","../../../../chunks/4176.js","../../../../chunks/440.js","../../../../chunks/4646.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4780.js","../../../../chunks/4803.js","../../../../chunks/507.js","../../../../chunks/5258.js","../../../../chunks/5350.js","../../../../chunks/5573.js","../../../../chunks/5616.js","../../../../chunks/5717.js","../../../../chunks/5781.js","../../../../chunks/5888.js","../../../../chunks/5913.js","../../../../chunks/5920.js","../../../../chunks/6052.js","../../../../chunks/6103.js","../../../../chunks/6182.js","../../../../chunks/6252.js","../../../../chunks/6274.js","../../../../chunks/6328.js","../../../../chunks/6347.js","../../../../chunks/6395.js","../../../../chunks/6406.js","../../../../chunks/6492.js","../../../../chunks/6844.js","../../../../chunks/6947.js","../../../../chunks/698.js","../../../../chunks/6985.js","../../../../chunks/7454.js","../../../../chunks/7557.js","../../../../chunks/7662.js","../../../../chunks/7753.js","../../../../chunks/7757.js","../../../../chunks/7774.js","../../../../chunks/7965.js","../../../../chunks/8062.js","../../../../chunks/8080.js","../../../../chunks/8117.js","../../../../chunks/8400.js","../../../../chunks/8469.js","../../../../chunks/849.js","../../../../chunks/8520.js","../../../../chunks/8658.js","../../../../chunks/869.js","../../../../chunks/8775.js","../../../../chunks/8789.js","../../../../chunks/8834.js","../../../../chunks/8942.js","../../../../chunks/8976.js","../../../../chunks/8998.js","../../../../chunks/9078.js","../../../../chunks/9091.js","../../../../chunks/9261.js","../../../../chunks/9264.js","../../../../chunks/9291.js","../../../../chunks/940.js","../../../../chunks/9421.js","../../../../chunks/9508.js","../../../../chunks/9617.js","../../../../chunks/995.js","../../../../chunks/9995.js","../../../../chunks/static/media/catalog.e7ada387.json","../../../../chunks/static/media/versions.401d57e8.json","../../../../webpack-runtime.js","page_client-reference-manifest.js","../../../../../../open-sse/providers/generated/catalog.json","../../../../../../node_modules/impit/CHANGELOG.md","../../../../../../node_modules/impit/dts-header.d.ts","../../../../../../node_modules/impit/errors.js","../../../../../../node_modules/impit/index.d.ts","../../../../../../node_modules/impit/index.js","../../../../../../node_modules/impit/index.wrapper.js","../../../../../../node_modules/impit/package.json","../../../../../../node_modules/impit/pnpm-workspace.yaml","../../../../../../node_modules/impit/README.md","../../../../../../node_modules/impit/tsconfig.docs.json","../../../../../../node_modules/impit-linux-x64-gnu/impit-node.linux-x64-gnu.node","../../../../../../node_modules/impit-linux-x64-gnu/package.json","../../../../../../node_modules/impit-linux-x64-gnu/README.md","../../../../../../open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls","../../../../../../open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe","../../../../../../open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe"]}
|