@sifxprime/krouter 0.5.166 → 0.5.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +14 -14
- package/app/.next-cli-build/build-manifest.json +5 -5
- package/app/.next-cli-build/prerender-manifest.json +29 -29
- package/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/app/.next-cli-build/required-server-files.json +16 -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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- 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_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_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_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/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_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_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_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/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_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_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_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_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_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_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_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_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_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_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 +15 -11
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +15 -11
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -16
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +3 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +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 +26 -16
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +26 -16
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +32 -22
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +6 -6
- 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/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- 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-tools/route.js +2 -2
- 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/deepseek-tui-settings/route.js +3 -3
- 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/hermes-settings/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
- 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/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +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/start/route.js +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/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +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/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +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/elevenlabs/voices/route.js +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/minimax/voices/route.js +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/mitm/cert/route.js +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/availability/route.js +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/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/live/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/live-by-connection/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/preview/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +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/codex/bulk-import/route.js +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/cursor/auto-import/route.js +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/gitlab/pat/route.js +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/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +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-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +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/route.js +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/providers/[id]/models/route.js +2 -2
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +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-models/route.js +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/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +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/zenith/log/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/zenith/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/environment/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/presidio/route.js +3 -3
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +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/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +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/history/route.js +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/request-details/route.js +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/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +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/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +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/embeddings/route.js +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/messages/count_tokens/route.js +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/models/[...model]/route.js +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/route.js +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/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
- 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/edits/route.js +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/generations/route.js +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/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +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/update/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +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 +29 -18
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +29 -18
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +37 -26
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +38 -26
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +34 -19
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +40 -27
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +34 -19
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +35 -21
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +42 -30
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +35 -21
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +33 -19
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +39 -27
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +33 -19
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +36 -23
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +44 -32
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +36 -23
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +6 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +33 -18
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +40 -26
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +33 -18
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +35 -23
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +44 -32
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +35 -23
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +6 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +38 -26
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +32 -19
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +39 -28
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +32 -19
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +5 -1
- 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_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 +31 -18
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +40 -27
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +38 -26
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +31 -18
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +41 -30
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +34 -21
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +5 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +32 -19
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +38 -25
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +32 -19
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +24 -15
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +29 -20
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +24 -15
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -1
- package/app/.next-cli-build/server/app/landing/page.js +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 +30 -18
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +30 -18
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +38 -26
- package/app/.next-cli-build/server/app/login/page.js +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 +29 -18
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +29 -18
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +37 -26
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +14 -14
- package/app/.next-cli-build/server/chunks/1220.js +3 -3
- package/app/.next-cli-build/server/chunks/1344.js +2 -2
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1450.js +1 -1
- package/app/.next-cli-build/server/chunks/1738.js +1 -1
- package/app/.next-cli-build/server/chunks/1813.js +23 -1
- package/app/.next-cli-build/server/chunks/2430.js +215 -31
- package/app/.next-cli-build/server/chunks/2722.js +6 -6
- package/app/.next-cli-build/server/chunks/2750.js +1 -1
- package/app/.next-cli-build/server/chunks/2970.js +163 -23
- package/app/.next-cli-build/server/chunks/3120.js +1 -1
- package/app/.next-cli-build/server/chunks/369.js +5 -5
- package/app/.next-cli-build/server/chunks/4161.js +1 -1
- package/app/.next-cli-build/server/chunks/4177.js +1 -1
- package/app/.next-cli-build/server/chunks/4306.js +1 -1
- package/app/.next-cli-build/server/chunks/4380.js +1 -1
- package/app/.next-cli-build/server/chunks/4730.js +2 -2
- package/app/.next-cli-build/server/chunks/4884.js +1 -1
- package/app/.next-cli-build/server/chunks/523.js +1 -1
- package/app/.next-cli-build/server/chunks/5330.js +2 -2
- package/app/.next-cli-build/server/chunks/5433.js +1 -1
- package/app/.next-cli-build/server/chunks/5470.js +3 -3
- package/app/.next-cli-build/server/chunks/5573.js +1 -1
- package/app/.next-cli-build/server/chunks/5718.js +1 -1
- package/app/.next-cli-build/server/chunks/595.js +1 -1
- package/app/.next-cli-build/server/chunks/6182.js +2 -2
- package/app/.next-cli-build/server/chunks/7153.js +1 -1
- package/app/.next-cli-build/server/chunks/7774.js +13 -13
- package/app/.next-cli-build/server/chunks/7833.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +1 -1
- package/app/.next-cli-build/server/chunks/8962.js +1 -1
- package/app/.next-cli-build/server/chunks/9055.js +2 -2
- package/app/.next-cli-build/server/chunks/9958.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +186 -24
- 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/preview-props.json +5 -0
- 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-3997ec181addbfaa.js +1 -0
- package/app/.next-cli-build/static/chunks/3794-39f2d5bb0d40336b.js +52 -0
- package/app/.next-cli-build/static/chunks/4bd1b696-8cd12253b448cc13.js +1 -0
- package/app/.next-cli-build/static/chunks/5353-0085e26d68aca1f0.js +1 -0
- package/app/.next-cli-build/static/chunks/5772-9e7c7f235304c527.js +3 -0
- package/app/.next-cli-build/static/chunks/6069-31c2febe26d36d92.js +73 -0
- package/app/.next-cli-build/static/chunks/{6357.aa5754cdb37976a7.js → 6357.5f2532e76bf2cc51.js} +1 -1
- package/app/.next-cli-build/static/chunks/7504-5249aa88b6205df1.js +64 -0
- package/app/.next-cli-build/static/chunks/8202.69dace5daa86686d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-8a99890727166f8a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ce0c6b650a822e25.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-589743e8ea1d9673.js +11 -0
- package/app/.next-cli-build/static/chunks/main-00cd8c01f6f6e461.js +5 -0
- package/app/.next-cli-build/static/chunks/{webpack-53609978799ebbca.js → webpack-cc312041cf710f25.js} +1 -1
- package/app/cli/package.json +1 -1
- package/app/node_modules/@next/env/package.json +1 -1
- package/app/node_modules/nanoid/package.json +3 -3
- package/app/node_modules/next/dist/build/analysis/get-page-static-info.js +58 -76
- package/app/node_modules/next/dist/build/babel/loader/get-config.js +7 -16
- package/app/node_modules/next/dist/build/babel/plugins/next-font-unsupported.js +1 -5
- package/app/node_modules/next/dist/build/babel/plugins/next-page-config.js +5 -25
- package/app/node_modules/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +1 -5
- package/app/node_modules/next/dist/build/babel/plugins/next-ssg-transform.js +4 -20
- package/app/node_modules/next/dist/build/browser-variant-modules.js +1 -0
- package/app/node_modules/next/dist/build/create-compiler-aliases.js +19 -11
- package/app/node_modules/next/dist/build/define-env.js +12 -18
- package/app/node_modules/next/dist/build/entries.js +132 -8
- package/app/node_modules/next/dist/build/get-babel-loader-config.js +10 -10
- package/app/node_modules/next/dist/build/get-convention-file-base-name.js +29 -0
- package/app/node_modules/next/dist/build/get-static-info-including-layouts.js +0 -1
- package/app/node_modules/next/dist/build/handle-externals.js +1 -5
- package/app/node_modules/next/dist/build/load-jsconfig.js +1 -5
- package/app/node_modules/next/dist/build/lockfile.js +1 -5
- package/app/node_modules/next/dist/build/next-config-ts/transpile-config.js +1 -5
- package/app/node_modules/next/dist/build/nft.js +119 -0
- package/app/node_modules/next/dist/build/normalize-catchall-routes.js +18 -66
- package/app/node_modules/next/dist/build/print-build-errors.js +57 -7
- package/app/node_modules/next/dist/build/route-discovery.js +32 -4
- package/app/node_modules/next/dist/build/segment-config/app/app-segment-config.js +19 -5
- package/app/node_modules/next/dist/build/segment-config/app/app-segments.js +120 -29
- package/app/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +1 -5
- package/app/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +8 -2
- package/app/node_modules/next/dist/build/static-paths/app.js +230 -133
- package/app/node_modules/next/dist/build/static-paths/pages.js +8 -40
- package/app/node_modules/next/dist/build/static-paths/param-matching.js +200 -0
- package/app/node_modules/next/dist/build/swc/index.js +92 -162
- package/app/node_modules/next/dist/build/utils.js +180 -90
- package/app/node_modules/next/dist/build/webpack/cache-invalidation.js +1 -5
- package/app/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +7 -35
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +0 -5
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +1 -5
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +5 -25
- package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +4 -20
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +3 -16
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +0 -1
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +2 -10
- package/app/node_modules/next/dist/build/webpack/loaders/next-flight-css-loader.js +1 -5
- package/app/node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js +3 -15
- package/app/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js +3 -15
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +0 -5
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +0 -5
- package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js +2 -10
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js +2 -6
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +2 -10
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +1 -5
- package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +1 -5
- package/app/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +1 -5
- package/app/node_modules/next/dist/build/webpack/plugins/deferred-entries-plugin.js +9 -0
- package/app/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +2 -6
- package/app/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +1 -5
- package/app/node_modules/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +2 -10
- package/app/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +3 -1
- package/app/node_modules/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +3 -15
- package/app/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +1 -5
- package/app/node_modules/next/dist/build/webpack-config.js +16 -33
- package/app/node_modules/next/dist/cli/next-test.js +4 -0
- package/app/node_modules/next/dist/client/app-call-server.js +16 -18
- package/app/node_modules/next/dist/client/components/app-router-instance.js +43 -187
- package/app/node_modules/next/dist/client/components/{segment-cache/navigation.js → app-router-state.js} +88 -334
- package/app/node_modules/next/dist/client/components/app-router-utils.js +1 -5
- package/app/node_modules/next/dist/client/components/app-router.js +83 -74
- package/app/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +1 -5
- package/app/node_modules/next/dist/client/components/forbidden.js +2 -10
- package/app/node_modules/next/dist/client/components/handle-isr-error.js +19 -4
- package/app/node_modules/next/dist/client/components/instant-samples.js +4 -11
- package/app/node_modules/next/dist/client/components/links.js +6 -7
- package/app/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +3 -3
- package/app/node_modules/next/dist/client/components/navigation-untracked.js +1 -2
- package/app/node_modules/next/dist/client/components/navigation.js +2 -6
- package/app/node_modules/next/dist/client/components/navigation.react-server.js +1 -5
- package/app/node_modules/next/dist/client/components/navigator.js +73 -0
- package/app/node_modules/next/dist/client/components/not-found.js +1 -5
- package/app/node_modules/next/dist/client/components/prefetch.js +83 -0
- package/app/node_modules/next/dist/client/components/readonly-url-search-params.js +0 -5
- package/app/node_modules/next/dist/client/components/redirect.js +3 -15
- package/app/node_modules/next/dist/client/components/{router-reducer/ppr-navigations.js → render-tree.js} +365 -400
- package/app/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +13 -5
- package/app/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +67 -54
- package/app/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +1 -7
- package/app/node_modules/next/dist/client/components/router-reducer/create-segment-key.js +42 -0
- package/app/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +71 -50
- package/app/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +4 -4
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +2 -2
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +5 -5
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +11 -8
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +12 -9
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +30 -29
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +5 -5
- package/app/node_modules/next/dist/client/components/router-reducer/router-reducer.js +2 -10
- package/app/node_modules/next/dist/client/components/segment-cache/bfcache.js +11 -21
- package/app/node_modules/next/dist/client/components/segment-cache/cache.js +1168 -1181
- package/app/node_modules/next/dist/client/components/segment-cache/decode-server-response.js +419 -0
- package/app/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +1 -1
- package/app/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +77 -82
- package/app/node_modules/next/dist/client/components/segment-cache/scheduler.js +464 -425
- package/app/node_modules/next/dist/client/components/segment-cache/types.js +12 -3
- package/app/node_modules/next/dist/client/components/segment-cache/vary-path.js +140 -126
- package/app/node_modules/next/dist/client/components/sequential-router-queue.js +163 -0
- package/app/node_modules/next/dist/client/components/unauthorized.js +2 -10
- package/app/node_modules/next/dist/client/components/unstable-rethrow.js +1 -2
- package/app/node_modules/next/dist/client/components/use-action-queue.js +2 -10
- package/app/node_modules/next/dist/client/dev/debug-channel.js +6 -323
- package/app/node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js +49 -31
- package/app/node_modules/next/dist/client/dev/hot-reloader/app/web-socket.js +14 -21
- package/app/node_modules/next/dist/client/dev/hot-reloader/pages/hot-reloader-pages.js +15 -6
- package/app/node_modules/next/dist/client/dev/hot-reloader/runtime-error-state.js +72 -0
- package/app/node_modules/next/dist/client/flight-data-helpers.js +41 -94
- package/app/node_modules/next/dist/client/route-loader.js +6 -30
- package/app/node_modules/next/dist/client/route-params.js +34 -12
- package/app/node_modules/next/dist/client/router.js +2 -10
- package/app/node_modules/next/dist/client/sequential-call-server.js +45 -0
- package/app/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -1
- package/app/node_modules/next/dist/compiled/next-devtools/index.js +279 -229
- package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +203 -59
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +203 -59
- package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +203 -59
- package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +203 -59
- package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +5 -3
- package/app/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +13 -13
- package/app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +13 -13
- package/app/node_modules/next/dist/compiled/react-is/package.json +1 -1
- package/app/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -1
- package/app/node_modules/next/dist/compiled/unistore/unistore.js +1 -1
- package/app/node_modules/next/dist/experimental/testmode/fetch.js +2 -10
- package/app/node_modules/next/dist/export/helpers/create-incremental-cache.js +21 -16
- package/app/node_modules/next/dist/export/utils.js +21 -8
- package/app/node_modules/next/dist/lib/batcher.js +2 -2
- package/app/node_modules/next/dist/lib/dist-dir.js +88 -0
- package/app/node_modules/next/dist/lib/download-swc.js +2 -10
- package/app/node_modules/next/dist/lib/fallback.js +3 -15
- package/app/node_modules/next/dist/lib/find-pages-dir.js +2 -10
- package/app/node_modules/next/dist/lib/helpers/get-cache-directory.js +1 -5
- package/app/node_modules/next/dist/lib/helpers/get-registry.js +1 -5
- package/app/node_modules/next/dist/lib/is-error.js +3 -15
- package/app/node_modules/next/dist/lib/is-serializable-props.js +6 -35
- package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +4 -8
- package/app/node_modules/next/dist/lib/picocolors.js +10 -0
- package/app/node_modules/next/dist/lib/recursive-delete.js +50 -11
- package/app/node_modules/next/dist/lib/resolve-from.js +2 -10
- package/app/node_modules/next/dist/lib/static-env.js +1 -5
- package/app/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +3 -15
- package/app/node_modules/next/dist/lib/typescript/missingDependencyError.js +1 -5
- package/app/node_modules/next/dist/lib/typescript/runTypeCheck.js +1 -9
- package/app/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +0 -1
- package/app/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +4 -16
- package/app/node_modules/next/dist/lib/verify-partytown-setup.js +1 -5
- package/app/node_modules/next/dist/lib/warn-missing-react-dependencies.js +33 -0
- package/app/node_modules/next/dist/next-devtools/server/attach-nodejs-debugger-middleware.js +1 -5
- package/app/node_modules/next/dist/next-devtools/server/shared.js +3 -2
- package/app/node_modules/next/dist/next-devtools/shared/console-error.js +1 -5
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/replay-ssr-only-errors.js +1 -5
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/runtime-error-metadata.js +39 -0
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js +1 -5
- package/app/node_modules/next/dist/next-devtools/userspace/app/errors/use-error-handler.js +48 -19
- package/app/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js +1 -5
- package/app/node_modules/next/dist/server/accept-header.js +3 -15
- package/app/node_modules/next/dist/server/after/after-context.js +5 -25
- package/app/node_modules/next/dist/server/after/awaiter.js +1 -5
- package/app/node_modules/next/dist/server/after/run-with-after.js +2 -2
- package/app/node_modules/next/dist/server/api-utils/index.js +1 -10
- package/app/node_modules/next/dist/server/api-utils/node/parse-body.js +3 -15
- package/app/node_modules/next/dist/server/app-render/action-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/action-handler.js +104 -141
- package/app/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +6 -30
- package/app/node_modules/next/dist/server/app-render/app-render-render-utils.js +1 -5
- package/app/node_modules/next/dist/server/app-render/app-render-scheduling.js +3 -15
- package/app/node_modules/next/dist/server/app-render/app-render.js +1346 -1211
- package/app/node_modules/next/dist/server/app-render/async-local-storage.js +11 -6
- package/app/node_modules/next/dist/server/app-render/blocking-route-messages.js +119 -70
- package/app/node_modules/next/dist/server/app-render/cache-signal.js +61 -35
- package/app/node_modules/next/dist/server/app-render/console-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/create-component-tree.js +136 -160
- package/app/node_modules/next/dist/server/app-render/create-error-handler.js +12 -6
- package/app/node_modules/next/dist/server/app-render/create-transport-tree-from-loader-tree.js +190 -0
- package/app/node_modules/next/dist/server/app-render/debug-channel-server.web.js +1 -5
- package/app/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +4 -5
- package/app/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +3 -1
- package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +26 -3
- package/app/node_modules/next/dist/server/app-render/dynamic-rendering-client.js +124 -0
- package/app/node_modules/next/dist/server/app-render/dynamic-rendering.js +260 -329
- package/app/node_modules/next/dist/server/app-render/encryption-utils.js +1 -5
- package/app/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +2 -2
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +4 -12
- package/app/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +13 -62
- package/app/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +2 -10
- package/app/node_modules/next/dist/server/app-render/manifests-singleton.js +110 -38
- package/app/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +3 -15
- package/app/node_modules/next/dist/server/app-render/postponed-state.js +87 -51
- package/app/node_modules/next/dist/server/app-render/prospective-render-utils.js +2 -6
- package/app/node_modules/next/dist/server/app-render/render-in-browser.js +27 -0
- package/app/node_modules/next/dist/server/app-render/required-scripts.js +1 -5
- package/app/node_modules/next/dist/server/app-render/segment-config/ensure-static.js +206 -0
- package/app/node_modules/next/dist/server/app-render/staged-rendering.js +46 -54
- package/app/node_modules/next/dist/server/app-render/stream-ops.node.js +18 -12
- package/app/node_modules/next/dist/server/app-render/stream-ops.web.js +4 -20
- package/app/node_modules/next/dist/server/app-render/sync-io-messages.js +2 -10
- package/app/node_modules/next/dist/server/app-render/types.js +2 -1
- package/app/node_modules/next/dist/server/app-render/use-flight-response.js +4 -17
- package/app/node_modules/next/dist/server/app-render/vary-params.js +12 -11
- package/app/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +95 -97
- package/app/node_modules/next/dist/server/app-render/work-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +1 -1
- package/app/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +36 -26
- package/app/node_modules/next/dist/server/async-storage/draft-mode-provider.js +1 -5
- package/app/node_modules/next/dist/server/async-storage/request-store.js +6 -5
- package/app/node_modules/next/dist/server/async-storage/work-store.js +24 -26
- package/app/node_modules/next/dist/server/base-http/node.js +1 -5
- package/app/node_modules/next/dist/server/base-server.js +346 -155
- package/app/node_modules/next/dist/server/client-component-renderer-logger.js +129 -28
- package/app/node_modules/next/dist/server/config-schema.js +61 -9
- package/app/node_modules/next/dist/server/config-shared.js +26 -4
- package/app/node_modules/next/dist/server/config.js +154 -332
- package/app/node_modules/next/dist/server/dev/debug-channel.js +1 -5
- package/app/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +1 -0
- package/app/node_modules/next/dist/server/dev/get-source-map-from-file.js +5 -25
- package/app/node_modules/next/dist/server/dev/hot-middleware.js +27 -1
- package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +338 -200
- package/app/node_modules/next/dist/server/dev/hot-reloader-types.js +3 -0
- package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +26 -20
- package/app/node_modules/next/dist/server/dev/messages.js +2 -10
- package/app/node_modules/next/dist/server/dev/middleware-turbopack.js +4 -20
- package/app/node_modules/next/dist/server/dev/middleware-webpack.js +2 -10
- package/app/node_modules/next/dist/server/dev/next-dev-server.js +33 -95
- package/app/node_modules/next/dist/server/dev/node-stack-frames.js +2 -19
- package/app/node_modules/next/dist/server/dev/on-demand-entry-handler.js +12 -12
- package/app/node_modules/next/dist/server/dev/runtime-error-state.js +220 -0
- package/app/node_modules/next/dist/server/dev/serialized-errors.js +1 -5
- package/app/node_modules/next/dist/server/dev/static-paths-worker.js +16 -15
- package/app/node_modules/next/dist/server/dev/turbopack-utils.js +20 -36
- package/app/node_modules/next/dist/server/dev/use-cache-probe-pool.js +1 -0
- package/app/node_modules/next/dist/server/dynamic-rendering-utils.js +298 -55
- package/app/node_modules/next/dist/server/image-optimizer/detect-content-type.js +229 -0
- package/app/node_modules/next/dist/server/image-optimizer/extract-etag.js +53 -0
- package/app/node_modules/next/dist/server/image-optimizer/get-image-size.js +25 -0
- package/app/node_modules/next/dist/server/image-optimizer/get-max-age.js +41 -0
- package/app/node_modules/next/dist/server/image-optimizer/get-previously-cached-image-or-null.js +22 -0
- package/app/node_modules/next/dist/server/image-optimizer/image-error.js +23 -0
- package/app/node_modules/next/dist/server/image-optimizer/image-type.js +86 -0
- package/app/node_modules/next/dist/server/image-optimizer/transform.js +227 -0
- package/app/node_modules/next/dist/server/image-optimizer.js +78 -674
- package/app/node_modules/next/dist/server/lib/app-info-log.js +19 -9
- package/app/node_modules/next/dist/server/lib/cache-handlers/default.js +9 -13
- package/app/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +1 -5
- package/app/node_modules/next/dist/server/lib/dedupe-fetch.js +1 -5
- package/app/node_modules/next/dist/server/lib/dev-bundler-service.js +6 -6
- package/app/node_modules/next/dist/server/lib/generate-agent-files.js +158 -35
- package/app/node_modules/next/dist/server/lib/i18n-provider.js +1 -5
- package/app/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +14 -20
- package/app/node_modules/next/dist/server/lib/incremental-cache/index.js +19 -29
- package/app/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +1 -5
- package/app/node_modules/next/dist/server/lib/lru-cache.js +1 -5
- package/app/node_modules/next/dist/server/lib/mock-request.js +24 -120
- package/app/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +1 -5
- package/app/node_modules/next/dist/server/lib/patch-fetch.js +44 -38
- package/app/node_modules/next/dist/server/lib/postponed-request-body.js +1 -5
- package/app/node_modules/next/dist/server/lib/render-server.js +2 -10
- package/app/node_modules/next/dist/server/lib/router-server.js +106 -36
- package/app/node_modules/next/dist/server/lib/router-utils/build-data-route.js +26 -3
- package/app/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +14 -45
- package/app/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +1 -5
- package/app/node_modules/next/dist/server/lib/router-utils/filesystem.js +212 -31
- package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +61 -1
- package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +1 -5
- package/app/node_modules/next/dist/server/lib/router-utils/normalize-catchall-routes.js +320 -0
- package/app/node_modules/next/dist/server/lib/router-utils/proxy-request.js +2 -2
- package/app/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +17 -11
- package/app/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js +258 -76
- package/app/node_modules/next/dist/server/lib/router-utils/strict-route-matching-config.js +28 -0
- package/app/node_modules/next/dist/server/lib/router-utils/typegen.js +56 -10
- package/app/node_modules/next/dist/server/lib/start-server.js +48 -38
- package/app/node_modules/next/dist/server/lib/trace/constants.js +40 -0
- package/app/node_modules/next/dist/server/lib/trace/request-insights-identity.js +1 -3
- package/app/node_modules/next/dist/server/lib/trace/tracer.js +10 -10
- package/app/node_modules/next/dist/server/lib/utils.js +66 -15
- package/app/node_modules/next/dist/server/load-components.js +7 -2
- package/app/node_modules/next/dist/server/load-manifest.external.js +16 -17
- package/app/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +2 -10
- package/app/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +5 -5
- package/app/node_modules/next/dist/server/next-server.js +130 -124
- package/app/node_modules/next/dist/server/next.js +25 -37
- package/app/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +1 -2
- package/app/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +115 -62
- package/app/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +1 -5
- package/app/node_modules/next/dist/server/node-environment-extensions/io-utils.js +11 -10
- package/app/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +0 -9
- package/app/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +1 -12
- package/app/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +1 -1
- package/app/node_modules/next/dist/server/normalizers/request/base-path.js +1 -5
- package/app/node_modules/next/dist/server/normalizers/request/next-data.js +1 -5
- package/app/node_modules/next/dist/server/normalizers/request/prefix.js +1 -5
- package/app/node_modules/next/dist/server/patch-error-inspect.js +19 -11
- package/app/node_modules/next/dist/server/pipe-readable.js +42 -30
- package/app/node_modules/next/dist/server/render-result.js +5 -17
- package/app/node_modules/next/dist/server/render.js +37 -183
- package/app/node_modules/next/dist/server/request/fallback-params.js +23 -9
- package/app/node_modules/next/dist/server/response-cache/index.js +54 -32
- package/app/node_modules/next/dist/server/response-cache/utils.js +1 -5
- package/app/node_modules/next/dist/server/resume-data-cache/cache-store.js +18 -0
- package/app/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +51 -49
- package/app/node_modules/next/dist/server/revalidation-utils.js +15 -13
- package/app/node_modules/next/dist/server/route-modules/app-page/dev-render-context.js +23 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +5 -4
- package/app/node_modules/next/dist/server/route-modules/app-page/module.js +13 -1
- package/app/node_modules/next/dist/server/route-modules/app-page/module.render.js +26 -11
- package/app/node_modules/next/dist/server/route-modules/app-page/parse-request-headers.js +58 -0
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +1 -5
- package/app/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +1 -5
- package/app/node_modules/next/dist/server/route-modules/pages/module.render.js +1 -5
- package/app/node_modules/next/dist/server/route-modules/pages/pages-handler.js +20 -16
- package/app/node_modules/next/dist/server/route-modules/route-module.js +57 -61
- package/app/node_modules/next/dist/server/serve-static.js +1 -5
- package/app/node_modules/next/dist/server/setup-http-agent-env.js +1 -5
- package/app/node_modules/next/dist/server/stream-utils/encoded-tags.js +1 -1
- package/app/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +7 -11
- package/app/node_modules/next/dist/server/typescript/constant.js +2 -0
- package/app/node_modules/next/dist/server/typescript/rules/config.js +29 -2
- package/app/node_modules/next/dist/server/use-cache/cache-life-profile.js +6 -30
- package/app/node_modules/next/dist/server/use-cache/constants.js +1 -5
- package/app/node_modules/next/dist/server/use-cache/handlers.js +27 -36
- package/app/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +6 -4
- package/app/node_modules/next/dist/server/web/adapter.js +14 -35
- package/app/node_modules/next/dist/server/web/error.js +0 -15
- package/app/node_modules/next/dist/server/web/globals.js +3 -15
- package/app/node_modules/next/dist/server/web/next-url.js +1 -5
- package/app/node_modules/next/dist/server/web/sandbox/context.js +10 -34
- package/app/node_modules/next/dist/server/web/sandbox/sandbox.js +1 -5
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +0 -5
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +1 -5
- package/app/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +0 -5
- package/app/node_modules/next/dist/server/web/spec-extension/fetch-event.js +2 -10
- package/app/node_modules/next/dist/server/web/spec-extension/response.js +2 -10
- package/app/node_modules/next/dist/server/web/utils.js +1 -5
- package/app/node_modules/next/dist/server/web/web-on-close.js +2 -10
- package/app/node_modules/next/dist/shared/lib/app-router-types.js +38 -28
- package/app/node_modules/next/dist/shared/lib/constants.js +5 -0
- package/app/node_modules/next/dist/shared/lib/deployment-id.js +1 -1
- package/app/node_modules/next/dist/shared/lib/errors/code-frame.js +3 -2
- package/app/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +1 -5
- package/app/node_modules/next/dist/shared/lib/errors/ensure-static-gsp-errors.js +30 -0
- package/app/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +0 -5
- package/app/node_modules/next/dist/shared/lib/errors/incompatible-parallel-route-slots-error.js +36 -0
- package/app/node_modules/next/dist/shared/lib/errors/missing-canonical-interception-routes-error.js +20 -0
- package/app/node_modules/next/dist/shared/lib/errors/unmatched-app-pages-error.js +20 -0
- package/app/node_modules/next/dist/shared/lib/get-rspack.js +1 -5
- package/app/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +1 -5
- package/app/node_modules/next/dist/shared/lib/image-config.js +52 -1
- package/app/node_modules/next/dist/shared/lib/instant-messages.js +2 -10
- package/app/node_modules/next/dist/shared/lib/invariant-error.js +0 -5
- package/app/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js +45 -0
- package/app/node_modules/next/dist/shared/lib/magic-identifier.js +5 -25
- package/app/node_modules/next/dist/shared/lib/match-remote-pattern.js +1 -5
- package/app/node_modules/next/dist/shared/lib/router/router.js +95 -77
- package/app/node_modules/next/dist/shared/lib/router/routes/app.js +3 -15
- package/app/node_modules/next/dist/shared/lib/router/utils/app-paths.js +6 -1
- package/app/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +4 -12
- package/app/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +63 -20
- package/app/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +1 -5
- package/app/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +1 -5
- package/app/node_modules/next/dist/shared/lib/router/utils/querystring.js +31 -0
- package/app/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +1 -5
- package/app/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +1 -5
- package/app/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +11 -55
- package/app/node_modules/next/dist/shared/lib/rsc-transport.js +108 -0
- package/app/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +0 -13
- package/app/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +48 -27
- package/app/node_modules/next/dist/shared/lib/segment.js +1 -13
- package/app/node_modules/next/dist/shared/lib/turbopack/compilation-events.js +7 -7
- package/app/node_modules/next/dist/shared/lib/turbopack/internal-error.js +2 -7
- package/app/node_modules/next/dist/shared/lib/turbopack/manifest-loader.js +2 -6
- package/app/node_modules/next/dist/shared/lib/turbopack/utils.js +3 -11
- package/app/node_modules/next/dist/shared/lib/utils.js +2 -11
- package/app/node_modules/next/dist/shared/lib/zod.js +2 -6
- package/app/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/app/node_modules/next/dist/telemetry/detached-flush.js +8 -15
- package/app/node_modules/next/dist/telemetry/events/build.js +1 -2
- package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/app/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/app/node_modules/next/dist/telemetry/post-telemetry-payload.js +1 -5
- package/app/node_modules/next/dist/telemetry/storage.js +31 -19
- package/app/node_modules/next/dist/trace/report/index.js +5 -2
- package/app/node_modules/next/dist/trace/report/to-json-build.js +4 -2
- package/app/node_modules/next/dist/trace/report/to-json.js +141 -97
- package/app/node_modules/next/dist/trace/trace.js +14 -9
- package/app/node_modules/next/package.json +12 -11
- package/app/package.json +4 -4
- package/app/server.js +1 -1
- package/app/src/mitm/server.js +43 -39
- package/package.json +1 -1
- package/app/.next-cli-build/static/chunks/1321-c5b3011761e0228b.js +0 -1
- package/app/.next-cli-build/static/chunks/3794-83acfce05009cf38.js +0 -52
- package/app/.next-cli-build/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +0 -1
- package/app/.next-cli-build/static/chunks/5353-d31cc8d476bc534e.js +0 -1
- package/app/.next-cli-build/static/chunks/5772-6cf78180ecf9dce0.js +0 -3
- package/app/.next-cli-build/static/chunks/6069-7e7f824c6e2d4291.js +0 -73
- package/app/.next-cli-build/static/chunks/7504-6f7ca1eab428dd5e.js +0 -64
- package/app/.next-cli-build/static/chunks/8202.1ffc6ce531e066ce.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-90b9aed7279ea50e.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-eaf6e24edeca4e51.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-2f53d5dd5b247cf1.js +0 -11
- package/app/.next-cli-build/static/chunks/main-1eaba0b776683ce7.js +0 -5
- package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +0 -94
- package/app/node_modules/next/dist/client/components/match-segments.js +0 -32
- package/app/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +0 -63
- package/app/node_modules/next/dist/client/components/segment-cache/prefetch.js +0 -32
- package/app/node_modules/next/dist/compiled/webpack-sources3/index.js +0 -1
- package/app/node_modules/next/dist/compiled/webpack-sources3/package.json +0 -1
- package/app/node_modules/next/dist/lib/detached-promise.js +0 -32
- package/app/node_modules/next/dist/lib/error-telemetry-utils.js +0 -42
- package/app/node_modules/next/dist/next-devtools/server/get-next-error-feedback-middleware.js +0 -42
- package/app/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +0 -154
- package/app/node_modules/next/dist/server/lib/experimental/ppr.js +0 -47
- package/app/node_modules/next/dist/server/lib/params-utils.js +0 -70
- package/app/node_modules/next/dist/server/lib/router-utils/is-postpone.js +0 -16
- package/app/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +0 -239
- package/app/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +0 -120
- package/app/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +0 -55
- package/app/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +0 -43
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +0 -91
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +0 -112
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +0 -77
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +0 -77
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +0 -28
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +0 -106
- package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +0 -42
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +0 -30
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +0 -34
- package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +0 -20
- package/app/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +0 -21
- package/app/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +0 -55
- package/app/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +0 -64
- package/app/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +0 -18
- package/app/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +0 -15
- package/app/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +0 -68
- package/app/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +0 -30
- package/app/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +0 -30
- package/app/node_modules/next/dist/server/route-matchers/route-matcher.js +0 -54
- package/app/node_modules/next/dist/telemetry/events/error-feedback.js +0 -31
- /package/app/.next-cli-build/static/{i0cMBMqFdYWpbajovDyfY → KAn3kSXbD7TmQ0msMIDxv}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{i0cMBMqFdYWpbajovDyfY → KAn3kSXbD7TmQ0msMIDxv}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1350,exports.ids=[1350],exports.modules={21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{return JSON.parse(await g().readFile(F(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasKRouter:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"00ff7b5765661b9b4c01926c96fda17e8aaabed591",null),(0,d.A)(P,"40979ea428a458408b7adc3b4e097fad838107b314",null),(0,d.A)(Q,"001aae30b7c69f030d4f4d876a1b6b1f9a37ed83b4",null)},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.5.166"}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
|
|
1
|
+
"use strict";exports.id=1350,exports.ids=[1350],exports.modules={21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{return JSON.parse(await g().readFile(F(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasKRouter:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"008bcefb722ad5873f035de3952fa490254e922609",null),(0,d.A)(P,"40c39a4586ead6fe7bd2793c482962eaccf9596ca8",null),(0,d.A)(Q,"009f2bd6c012c54beadb47cb4d5af9d8e8084426e3",null)},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.5.167"}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);new Set(Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1450,exports.ids=[1450],exports.modules={69069:(a,b,c)=>{c.d(b,{C$:()=>o,Fi:()=>s,Gu:()=>k,Nj:()=>q,Qf:()=>u,Uj:()=>l,aT:()=>n,wJ:()=>m,x:()=>r});var d=c(99675);let e=new Map,f=new Map;function g(a,b){return`${a}::${b}`}function h(){return Date.now()}function i(a){return a&&h()-a.fetchedAt<3e5}async function j(a,b,c){let i=g(a,b),j=f.get(i);if(j)return j;let k=(async()=>{try{let a=await (0,d.my)(c),b=function(a){if(!a||"object"!=typeof a||a.message&&(!a.quotas||"object"!=typeof a.quotas))return null;let b=a.quotas;if(!b||"object"!=typeof b||Array.isArray(b))return null;let c={};for(let[a,d]of Object.entries(b)){if(!d||"object"!=typeof d||!0===d.unlimited)continue;let b=function(a){if("number"==typeof a&&Number.isFinite(a))return Math.max(0,Math.min(100,a));if("string"==typeof a){let b=parseFloat(a);if(Number.isFinite(b))return Math.max(0,Math.min(100,b))}return null}(d.remainingPercentage);null!==b&&(c[a]={remainingPercentage:b,resetAt:"string"==typeof d.resetAt?d.resetAt:null,limitReached:b<=0})}return Object.keys(c).length>0?c:null}(a);return b&&e.set(i,{byModel:b,fetchedAt:h()}),b}catch{return null}finally{f.delete(i)}})();return f.set(i,k),k}function k(a,b,c,d=2){let f=g(a,b),h=e.get(f);if(!h||!i(h))return!0;let j=h.byModel?.[c];return!j||j.remainingPercentage>d}function l(a,b,c){let d=e.get(g(a,b));if(!i(d))return null;let f=d.byModel?.[c];return f?f.remainingPercentage:null}function m(a,b){if(!a||!b)return null;let c=null;for(let[d,f]of e.entries()){if(!d.startsWith(`${a}::`)||!i(f))continue;let e=f.byModel?.[b];e&&(null===c||e.remainingPercentage>c)&&(c=e.remainingPercentage)}return c}function n(a){if(!Array.isArray(a))return;let b=new Set;for(let d of a){var c;if(!d?.id||!d?.provider)continue;let a=g(d.provider,d.id);!b.has(a)&&(b.add(a),(c=e.get(a))&&h()-c.fetchedAt<6e4||j(d.provider,d.id,d).catch(()=>{}))}}function o(a,b){e.delete(g(a,b))}let p=new Map;function q(a,b){a&&b&&p.set(g(a,b),h())}function r(a,b){let c=g(a,b),d=e.get(c);if(!d)return{hasData:!1,isFresh:!1,isStale:!0};let f=h()-d.fetchedAt;return{hasData:!0,isFresh:f<6e4,isStale:f>=3e5,lastCheckedAt:new Date(d.fetchedAt).toISOString(),lastCheckedAgoSec:Math.round(f/1e3),modelCount:d.byModel?Object.keys(d.byModel).length:0}}async function s(a,b,c){return a&&b?(e.delete(g(a,b)),f.delete(g(a,b)),j(a,b,c)):null}let t=null;function u(a){t||(t=setInterval(async()=>{let b;try{b=await a()}catch{return}if(!Array.isArray(b)||0===b.length)return;let c=h();for(let a of b){if(!a?.id||!a?.provider)continue;let b=g(a.provider,a.id);if(c-(p.get(b)||0)>18e5)continue;let d=e.get(b);d&&c-d.fetchedAt<3e4||j(a.provider,a.id,a).catch(()=>{})}},6e4),t.unref?.())}},99675:(a,b,c)=>{c.d(b,{Tl:()=>D,gl:()=>w,my:()=>k});var d=c(75924),e=c(39609),f=c(6382);let g={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},h={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},i={quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)()},j="2023-06-01";async function k(a,b=null){let{provider:c,accessToken:d,apiKey:e,providerSpecificData:f,projectId:g}=a,h={...f||{},...g?{projectId:g}:{}};switch(c){case"github":return await m(d,f,b);case"gemini-cli":return await o(d,h,b);case"antigravity":return await r(d,f,b);case"claude":return await w(d,b);case"codex":return await D(d,b);case"kiro":return await E(d,f,b);case"qoder":return await T(d,b);case"qwen":return await F(d,f);case"iflow":return await G(d);case"ollama":return await H(d);case"glm":case"glm-cn":return await K(e,c,b);case"opencode-go":return await J(e,b);case"minimax":case"minimax-cn":return await R(e,c,b);case"vercel-ai-gateway":return await S(e,b);default:return{message:`Usage API not implemented for ${c}`}}}function l(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}async function m(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.proxyAwareFetch)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=l(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...n(a.chat),resetAt:b},completions:{...n(a.completions),resetAt:b},premium_interactions:{...n(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=l(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function n(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function o(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=p(b?.projectId),g="Free";if(!f){let b=await q(a,c);f=p(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=100*b,d=Math.round(c),e=Math.max(0,100-d);k[a.modelId]={used:e,total:100,remaining:d,resetAt:l(a.resetTime),remainingPercentage:c,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function p(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function q(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function r(a,b,c=null){try{let b,d=await s(a,c),f=d?.cloudaicompanionProject||null,g=new AbortController,h=setTimeout(()=>g.abort(),1e4);try{b=await (0,e.proxyAwareFetch)(i.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":i.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":"1.107.0","x-request-source":"local"},body:JSON.stringify({...f?{project:f}:{}}),signal:g.signal},c)}finally{clearTimeout(h)}if(403===b.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===b.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!b.ok)throw Error(`Antigravity API error: ${b.status}`);let j=await b.json(),k={};if(j.models){let a=["gemini-4-argon-high","gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-3.1-pro-high","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-5-5-high","claude-sonnet-5-5-medium","claude-sonnet-5-5-low","claude-sonnet-5-5","claude-opus-5-5-high","claude-opus-5-5-medium","claude-opus-5-5-low","claude-opus-5-5","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash","gemini-3.1-flash-image"];for(let[b,c]of Object.entries(j.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d="number"==typeof c.quotaInfo.remainingFraction,e=d?100*c.quotaInfo.remainingFraction:null,f=d?Math.round(100-e):null,g=d?Math.round(e):null;k[b]={used:f,total:100,remaining:g,resetAt:l(c.quotaInfo.resetTime),remainingPercentage:e,unlimited:!1,exhaustedAwaitingReset:!d,displayName:c.displayName||b}}}return{plan:d?.currentTier?.name||"Unknown",quotas:k,subscriptionInfo:d}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function s(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)(i.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":i.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}let t=new Map,u=new Map,v=new Map;function w(a,b=null){let c=v.get(a);if(c)return c;let d=x(a,b).finally(()=>{v.delete(a)});return v.set(a,d),d}async function x(a,b=null){try{let c=t.get(a);if(c&&Date.now()<c){let b=u.get(a);if(b&&Date.now()-b.at<48e4)return{...b.data,fromCache:!0};let d=Math.ceil((c-Date.now())/1e3);return{message:`Claude connected. Usage API rate-limited (HTTP 429) — retrying in ~${d}s.`}}let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":j,"x-request-source":"local"}},b);if(429===d.status){t.set(a,Date.now()+18e4);let b=u.get(a);if(b)return{...b.data,fromCache:!0};let c=Math.ceil(180);return{message:`Claude connected. Usage API rate-limited (HTTP 429) — retrying in ~${c}s.`}}if(d.ok){let b=await d.json(),c={},e=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,f=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:l(a.resets_at),unlimited:!1}};for(let[a,d]of(e(b.five_hour)&&(c["session (5h)"]=f(b.five_hour)),e(b.seven_day)&&(c["weekly (7d)"]=f(b.seven_day)),Object.entries(b)))if(a.startsWith("seven_day_")&&"seven_day"!==a&&e(d)){let b=a.replace("seven_day_","");c[`weekly ${b} (7d)`]=f(d)}if(Array.isArray(b.limits))for(let a of b.limits){if(a?.kind!=="weekly_scoped")continue;let b=String(a?.scope?.model?.display_name||"").trim().toLowerCase();b&&"number"==typeof a.percent&&(c[`weekly ${b} (7d)`]=f({utilization:Math.max(0,Math.min(100,a.percent)),resets_at:a.resets_at}))}let g={plan:"Claude Code",extraUsage:b.extra_usage??null,quotas:c};return u.set(a,{at:Date.now(),data:g}),g}return"debug"===process.env.KROUTER_LOG_LEVEL&&console.debug(`[Claude Usage] OAuth endpoint returned ${d.status}, falling back to legacy`),await y(a,b,d.status)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function y(a,b=null,c=null){try{let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":j,"x-request-source":"local"}},b);if(d.ok){let c=await d.json();if(c.organization_id){let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",c.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":j,"x-request-source":"local"}},b);if(d.ok){let a=await d.json();return{plan:c.plan||"Unknown",organization:c.organization_name,quotas:a}}}return{plan:c.plan||"Unknown",organization:c.organization_name,message:"Claude connected. Usage details require admin access."}}if(429===c)return{message:"Claude connected. Usage API rate-limited (HTTP 429) — quota will refresh automatically."};if(401===c)return{message:"Claude connected. Usage API rejected the access token (HTTP 401) — try reconnecting Claude."};if(c&&c>=500)return{message:`Claude connected. Usage API upstream error (HTTP ${c}) — typically transient.`};return{message:"Claude connected. Usage API requires admin permissions on this token."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function z(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function A(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function B(a){let b=Math.max(0,Math.min(100,z(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:l(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function C(a,b,c){let d=A(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=B(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=B(f),g=!0),g}async function D(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h={};return C(h,"",f),C(h,"review",g),C(h,"spark",function(a){if(a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit)return a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b["gpt-5.3-codex-spark"]||b.gpt_5_3_codex_spark||b.spark||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return b.includes("spark")||b.includes("5.3-codex-spark")})||null}(d)),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:A(f)?.limit_reached||!1,reviewLimitReached:A(g)?.limit_reached||!1,quotas:h}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function E(a,b,c=null){let d=b?.authMethod||"builder-id",g=b?.profileArn||(0,f.We)(d),h=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),i=!1,j=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.proxyAwareFetch)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${h.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE"}},c)},{name:"codewhisperer-post",run:async()=>(0,e.proxyAwareFetch)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:g,resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",profileArn:g,resourceType:"AGENTIC_REQUEST"});return(0,e.proxyAwareFetch)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(i=!0),j.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=l(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:l(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){j.push(`${b.name}:${a.message}`)}return i&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:i&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:i?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:j.length>0?`Unable to fetch Kiro usage right now. (${j[j.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function F(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function G(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function H(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}let I={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function J(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Go API key not available. Add a key to view usage."};try{let c=await (0,e.proxyAwareFetch)("https://opencode.ai/zen/go/v1/usage",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status)return{plan:"OpenCode Go",message:"OpenCode Go authentication failed. Check the API key."};if(403===c.status){let a=await c.json().catch(()=>null),b=a?.error?.type==="EntitlementError";return{plan:"OpenCode Go",message:b?"OpenCode Go subscription required for this API key.":"OpenCode Go access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Go",message:`OpenCode Go usage API error (${c.status}).`};let d=await c.json().catch(()=>null);if(!d?.usage||"object"!=typeof d.usage)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain quota data."};let f={};for(let[a,b]of Object.entries(I)){let c=d.usage[a];if(!c||"object"!=typeof c)continue;let e=function(a){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return null}(c.percent);if(null===e)continue;let g=Math.max(0,Math.min(100,z(e,0)));f[b]={used:g,total:100,remaining:100-g,remainingPercentage:100-g,resetAt:l(c.resetsAt),unlimited:!1}}if(0===Object.keys(f).length)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain valid quota data."};return{plan:"OpenCode Go",quotas:f}}catch(a){return{message:`OpenCode Go error: ${a.message}`}}}async function K(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=g["glm-cn"===b?"china":"international"];try{let b=await (0,e.proxyAwareFetch)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type&&"CREDIT_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i[3===a.unit?`Session (${a.number}h)`:6===a.unit?"Weekly (7d)":"TOKENS_LIMIT"===a.type?"Tokens":`Limit (${a.number})`]={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function L(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function M(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function N(a){return Math.max(0,Number(L(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function O(a){return Math.max(0,Number(L(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function P(a){return!!(N(a)>0||O(a)>0)||null!==M(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==M(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function Q(a,b,c,d,e,f,g,h,i,j){let k=d(c),m=M(c,g,h);if(k<=0&&null===m)return;let n=Math.max(0,Number(L(c,e,f))||0),o=k,p=n;k<=0&&(o=100,p=j?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,e,f){let g=Number(L(a,c,d))||0;return g>0?new Date(b+g).toISOString():l(L(a,e,f))}(c,...i),j,m)}async function R(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=h[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(P);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(L(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);Q(s,`${b} (5h)`,a,N,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),Q(s,`${b} (7d)`,a,O,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function S(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,e.proxyAwareFetch)("https://ai-gateway.vercel.sh/v1/credits",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let d=await c.json(),f=Number(d?.balance)||0,g=Number(d?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function T(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,e.proxyAwareFetch)("https://openapi.qoder.sh/api/v2/quota/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let d=await c.json().catch(()=>null);if(!d)return{message:"Qoder connected. Usage response was not JSON."};let f=d.userQuota||{},g=d.orgResourcePackage||{},h=Number.isFinite(Number(d.expiresAt))&&Number(d.expiresAt)>0?Number(d.expiresAt):null,i=h?new Date(h).toISOString():null;return{quotas:{user:{total:Number(f.total)||0,used:Number(f.used)||0,remaining:Number(f.remaining)||0,unit:f.unit||"credits",resetAt:i},organization:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:i}},totalUsagePercentage:Number(d.totalUsagePercentage)||0,isQuotaExceeded:!!d.isQuotaExceeded,expiresAt:h}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}}};
|
|
1
|
+
"use strict";exports.id=1450,exports.ids=[1450],exports.modules={69069:(a,b,c)=>{c.d(b,{C$:()=>o,Fi:()=>s,Gu:()=>k,Nj:()=>q,Qf:()=>u,Uj:()=>l,aT:()=>n,wJ:()=>m,x:()=>r});var d=c(99675);let e=new Map,f=new Map;function g(a,b){return`${a}::${b}`}function h(){return Date.now()}function i(a){return a&&h()-a.fetchedAt<3e5}async function j(a,b,c){let i=g(a,b),j=f.get(i);if(j)return j;let k=(async()=>{try{let a=await (0,d.my)(c),b=function(a){if(!a||"object"!=typeof a||a.message&&(!a.quotas||"object"!=typeof a.quotas))return null;let b=a.quotas;if(!b||"object"!=typeof b||Array.isArray(b))return null;let c={};for(let[a,d]of Object.entries(b)){if(!d||"object"!=typeof d||!0===d.unlimited)continue;let b=function(a){if("number"==typeof a&&Number.isFinite(a))return Math.max(0,Math.min(100,a));if("string"==typeof a){let b=parseFloat(a);if(Number.isFinite(b))return Math.max(0,Math.min(100,b))}return null}(d.remainingPercentage);null!==b&&(c[a]={remainingPercentage:b,resetAt:"string"==typeof d.resetAt?d.resetAt:null,limitReached:b<=0})}return Object.keys(c).length>0?c:null}(a);return b&&e.set(i,{byModel:b,fetchedAt:h()}),b}catch{return null}finally{f.delete(i)}})();return f.set(i,k),k}function k(a,b,c,d=2){let f=g(a,b),h=e.get(f);if(!h||!i(h))return!0;let j=h.byModel?.[c];return!j||j.remainingPercentage>d}function l(a,b,c){let d=e.get(g(a,b));if(!i(d))return null;let f=d.byModel?.[c];return f?f.remainingPercentage:null}function m(a,b){if(!a||!b)return null;let c=null;for(let[d,f]of e.entries()){if(!d.startsWith(`${a}::`)||!i(f))continue;let e=f.byModel?.[b];e&&(null===c||e.remainingPercentage>c)&&(c=e.remainingPercentage)}return c}function n(a){if(!Array.isArray(a))return;let b=new Set;for(let d of a){var c;if(!d?.id||!d?.provider)continue;let a=g(d.provider,d.id);!b.has(a)&&(b.add(a),(c=e.get(a))&&h()-c.fetchedAt<6e4||j(d.provider,d.id,d).catch(()=>{}))}}function o(a,b){e.delete(g(a,b))}let p=new Map;function q(a,b){a&&b&&p.set(g(a,b),h())}function r(a,b){let c=g(a,b),d=e.get(c);if(!d)return{hasData:!1,isFresh:!1,isStale:!0};let f=h()-d.fetchedAt;return{hasData:!0,isFresh:f<6e4,isStale:f>=3e5,lastCheckedAt:new Date(d.fetchedAt).toISOString(),lastCheckedAgoSec:Math.round(f/1e3),modelCount:d.byModel?Object.keys(d.byModel).length:0}}async function s(a,b,c){return a&&b?(e.delete(g(a,b)),f.delete(g(a,b)),j(a,b,c)):null}let t=null;function u(a){t||(t=setInterval(async()=>{let b;try{b=await a()}catch{return}if(!Array.isArray(b)||0===b.length)return;let c=h();for(let a of b){if(!a?.id||!a?.provider)continue;let b=g(a.provider,a.id);if(c-(p.get(b)||0)>18e5)continue;let d=e.get(b);d&&c-d.fetchedAt<3e4||j(a.provider,a.id,a).catch(()=>{})}},6e4),t.unref?.())}},99675:(a,b,c)=>{c.d(b,{Tl:()=>D,gl:()=>w,my:()=>k});var d=c(75924),e=c(39609),f=c(6382);let g={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},h={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},i={quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)()},j="2023-06-01";async function k(a,b=null){let{provider:c,accessToken:d,apiKey:e,providerSpecificData:f,projectId:g}=a,h={...f||{},...g?{projectId:g}:{}};switch(c){case"github":return await m(d,f,b);case"gemini-cli":return await o(d,h,b);case"antigravity":return await r(d,f,b);case"claude":return await w(d,b);case"codex":return await D(d,b);case"kiro":return await E(d,f,b);case"qoder":return await T(d,b);case"qwen":return await F(d,f);case"iflow":return await G(d);case"ollama":return await H(d);case"glm":case"glm-cn":return await K(e,c,b);case"opencode-go":return await J(e,b);case"minimax":case"minimax-cn":return await R(e,c,b);case"vercel-ai-gateway":return await S(e,b);default:return{message:`Usage API not implemented for ${c}`}}}function l(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}async function m(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.proxyAwareFetch)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=l(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...n(a.chat),resetAt:b},completions:{...n(a.completions),resetAt:b},premium_interactions:{...n(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=l(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function n(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function o(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=p(b?.projectId),g="Free";if(!f){let b=await q(a,c);f=p(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=100*b,d=Math.round(c),e=Math.max(0,100-d);k[a.modelId]={used:e,total:100,remaining:d,resetAt:l(a.resetTime),remainingPercentage:c,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function p(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function q(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function r(a,b,c=null){try{let b,d=await s(a,c),f=d?.cloudaicompanionProject||null,g=new AbortController,h=setTimeout(()=>g.abort(),1e4);try{b=await (0,e.proxyAwareFetch)(i.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":i.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":"1.107.0","x-request-source":"local"},body:JSON.stringify({...f?{project:f}:{}}),signal:g.signal},c)}finally{clearTimeout(h)}if(403===b.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===b.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!b.ok)throw Error(`Antigravity API error: ${b.status}`);let j=await b.json(),k={};if(j.models){let a=["gemini-4-argon-high","gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-3.1-pro-high","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-5-5-high","claude-sonnet-5-5-medium","claude-sonnet-5-5-low","claude-sonnet-5-5","claude-opus-5-5-high","claude-opus-5-5-medium","claude-opus-5-5-low","claude-opus-5-5","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash","gemini-3.1-flash-image"];for(let[b,c]of Object.entries(j.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d="number"==typeof c.quotaInfo.remainingFraction,e=d?100*c.quotaInfo.remainingFraction:null,f=d?Math.round(100-e):null,g=d?Math.round(e):null;k[b]={used:f,total:100,remaining:g,resetAt:l(c.quotaInfo.resetTime),remainingPercentage:e,unlimited:!1,exhaustedAwaitingReset:!d,displayName:c.displayName||b}}}return{plan:d?.currentTier?.name||"Unknown",quotas:k,subscriptionInfo:d}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function s(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)(i.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":i.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}let t=new Map,u=new Map,v=new Map;function w(a,b=null){let c=v.get(a);if(c)return c;let d=x(a,b).finally(()=>{v.delete(a)});return v.set(a,d),d}async function x(a,b=null){try{let c=t.get(a);if(c&&Date.now()<c){let b=u.get(a);if(b&&Date.now()-b.at<48e4)return{...b.data,fromCache:!0};let d=Math.ceil((c-Date.now())/1e3);return{message:`Claude connected. Usage API rate-limited (HTTP 429) — retrying in ~${d}s.`}}let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":j,"x-request-source":"local"}},b);if(429===d.status){t.set(a,Date.now()+18e4);let b=u.get(a);if(b)return{...b.data,fromCache:!0};return{message:"Claude connected. Usage API rate-limited (HTTP 429) — retrying in ~180s."}}if(d.ok){let b=await d.json(),c={},e=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,f=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:l(a.resets_at),unlimited:!1}};for(let[a,d]of(e(b.five_hour)&&(c["session (5h)"]=f(b.five_hour)),e(b.seven_day)&&(c["weekly (7d)"]=f(b.seven_day)),Object.entries(b)))if(a.startsWith("seven_day_")&&"seven_day"!==a&&e(d)){let b=a.replace("seven_day_","");c[`weekly ${b} (7d)`]=f(d)}if(Array.isArray(b.limits))for(let a of b.limits){if(a?.kind!=="weekly_scoped")continue;let b=String(a?.scope?.model?.display_name||"").trim().toLowerCase();b&&"number"==typeof a.percent&&(c[`weekly ${b} (7d)`]=f({utilization:Math.max(0,Math.min(100,a.percent)),resets_at:a.resets_at}))}let g={plan:"Claude Code",extraUsage:b.extra_usage??null,quotas:c};return u.set(a,{at:Date.now(),data:g}),g}return"debug"===process.env.KROUTER_LOG_LEVEL&&console.debug(`[Claude Usage] OAuth endpoint returned ${d.status}, falling back to legacy`),await y(a,b,d.status)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function y(a,b=null,c=null){try{let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":j,"x-request-source":"local"}},b);if(d.ok){let c=await d.json();if(c.organization_id){let d=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",c.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":j,"x-request-source":"local"}},b);if(d.ok){let a=await d.json();return{plan:c.plan||"Unknown",organization:c.organization_name,quotas:a}}}return{plan:c.plan||"Unknown",organization:c.organization_name,message:"Claude connected. Usage details require admin access."}}if(429===c)return{message:"Claude connected. Usage API rate-limited (HTTP 429) — quota will refresh automatically."};if(401===c)return{message:"Claude connected. Usage API rejected the access token (HTTP 401) — try reconnecting Claude."};if(c&&c>=500)return{message:`Claude connected. Usage API upstream error (HTTP ${c}) — typically transient.`};return{message:"Claude connected. Usage API requires admin permissions on this token."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function z(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function A(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function B(a){let b=Math.max(0,Math.min(100,z(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:l(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function C(a,b,c){let d=A(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=B(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=B(f),g=!0),g}async function D(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h={};return C(h,"",f),C(h,"review",g),C(h,"spark",function(a){if(a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit)return a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b["gpt-5.3-codex-spark"]||b.gpt_5_3_codex_spark||b.spark||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return b.includes("spark")||b.includes("5.3-codex-spark")})||null}(d)),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:A(f)?.limit_reached||!1,reviewLimitReached:A(g)?.limit_reached||!1,quotas:h}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function E(a,b,c=null){let d=b?.authMethod||"builder-id",g=b?.profileArn||(0,f.We)(d),h=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),i=!1,j=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.proxyAwareFetch)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${h.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE"}},c)},{name:"codewhisperer-post",run:async()=>(0,e.proxyAwareFetch)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:g,resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",profileArn:g,resourceType:"AGENTIC_REQUEST"});return(0,e.proxyAwareFetch)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(i=!0),j.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=l(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:l(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){j.push(`${b.name}:${a.message}`)}return i&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:i&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:i?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:j.length>0?`Unable to fetch Kiro usage right now. (${j[j.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function F(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function G(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function H(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}let I={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function J(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Go API key not available. Add a key to view usage."};try{let c=await (0,e.proxyAwareFetch)("https://opencode.ai/zen/go/v1/usage",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status)return{plan:"OpenCode Go",message:"OpenCode Go authentication failed. Check the API key."};if(403===c.status){let a=await c.json().catch(()=>null),b=a?.error?.type==="EntitlementError";return{plan:"OpenCode Go",message:b?"OpenCode Go subscription required for this API key.":"OpenCode Go access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Go",message:`OpenCode Go usage API error (${c.status}).`};let d=await c.json().catch(()=>null);if(!d?.usage||"object"!=typeof d.usage)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain quota data."};let f={};for(let[a,b]of Object.entries(I)){let c=d.usage[a];if(!c||"object"!=typeof c)continue;let e=function(a){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return null}(c.percent);if(null===e)continue;let g=Math.max(0,Math.min(100,z(e,0)));f[b]={used:g,total:100,remaining:100-g,remainingPercentage:100-g,resetAt:l(c.resetsAt),unlimited:!1}}if(0===Object.keys(f).length)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain valid quota data."};return{plan:"OpenCode Go",quotas:f}}catch(a){return{message:`OpenCode Go error: ${a.message}`}}}async function K(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=g["glm-cn"===b?"china":"international"];try{let b=await (0,e.proxyAwareFetch)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type&&"CREDIT_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i[3===a.unit?`Session (${a.number}h)`:6===a.unit?"Weekly (7d)":"TOKENS_LIMIT"===a.type?"Tokens":`Limit (${a.number})`]={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function L(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function M(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function N(a){return Math.max(0,Number(L(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function O(a){return Math.max(0,Number(L(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function P(a){return!!(N(a)>0||O(a)>0)||null!==M(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==M(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function Q(a,b,c,d,e,f,g,h,i,j){let k=d(c),m=M(c,g,h);if(k<=0&&null===m)return;let n=Math.max(0,Number(L(c,e,f))||0),o=k,p=n;k<=0&&(o=100,p=j?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,e,f){let g=Number(L(a,c,d))||0;return g>0?new Date(b+g).toISOString():l(L(a,e,f))}(c,...i),j,m)}async function R(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=h[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(P);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(L(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);Q(s,`${b} (5h)`,a,N,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),Q(s,`${b} (7d)`,a,O,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function S(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,e.proxyAwareFetch)("https://ai-gateway.vercel.sh/v1/credits",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let d=await c.json(),f=Number(d?.balance)||0,g=Number(d?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function T(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,e.proxyAwareFetch)("https://openapi.qoder.sh/api/v2/quota/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let d=await c.json().catch(()=>null);if(!d)return{message:"Qoder connected. Usage response was not JSON."};let f=d.userQuota||{},g=d.orgResourcePackage||{},h=Number.isFinite(Number(d.expiresAt))&&Number(d.expiresAt)>0?Number(d.expiresAt):null,i=h?new Date(h).toISOString():null;return{quotas:{user:{total:Number(f.total)||0,used:Number(f.used)||0,remaining:Number(f.remaining)||0,unit:f.unit||"credits",resetAt:i},organization:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:i}},totalUsagePercentage:Number(d.totalUsagePercentage)||0,isQuotaExceeded:!!d.isQuotaExceeded,expiresAt:h}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}}};
|