@amir83nasr/10router 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +4 -5
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +16 -16
- package/.next/routes-manifest.json +0 -6
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +6 -6
- package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/oidc/callback/route.js +1 -1
- package/.next/server/app/api/auth/oidc/start/route.js +1 -1
- package/.next/server/app/api/auth/oidc/test/route.js +1 -1
- package/.next/server/app/api/auth/reset-password/route.js +1 -1
- package/.next/server/app/api/auth/saml/acs/route.js +1 -1
- package/.next/server/app/api/auth/saml/metadata/route.js +2 -2
- package/.next/server/app/api/auth/saml/start/route.js +1 -1
- package/.next/server/app/api/auth/saml/test/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js +2 -2
- package/.next/server/app/api/changelog/route.js +1 -1
- package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
- package/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/.next/server/app/api/combos/[id]/route.js +1 -1
- package/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/combos/route.js +1 -1
- package/.next/server/app/api/headroom/extras/route.js +1 -1
- package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/.next/server/app/api/headroom/restart/route.js +1 -1
- package/.next/server/app/api/headroom/start/route.js +1 -1
- package/.next/server/app/api/headroom/status/route.js +1 -1
- package/.next/server/app/api/headroom/stop/route.js +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/keys/[id]/route.js +1 -1
- package/.next/server/app/api/keys/route.js +1 -1
- package/.next/server/app/api/locale/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/.next/server/app/api/models/alias/route.js +1 -1
- package/.next/server/app/api/models/availability/route.js +1 -1
- package/.next/server/app/api/models/catalog-sync/route.js +1 -1
- package/.next/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/.next/server/app/api/models/custom/route.js +1 -1
- package/.next/server/app/api/models/custom/route.js.nft.json +1 -1
- package/.next/server/app/api/models/disabled/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/models/test/route.js +1 -1
- package/.next/server/app/api/models/test/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/.next/server/app/api/pricing/route.js +1 -1
- package/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/.next/server/app/api/provider-nodes/route.js +1 -1
- package/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[id]/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/client/route.js +1 -1
- package/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/.next/server/app/api/providers/route.js +1 -1
- package/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/validate/route.js +1 -1
- package/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/.next/server/app/api/proxy-pools/route.js +1 -1
- package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/.next/server/app/api/pxpipe/health/route.js +2 -2
- package/.next/server/app/api/pxpipe/install/route.js +1 -1
- package/.next/server/app/api/pxpipe/logs/route.js +1 -1
- package/.next/server/app/api/pxpipe/restart/route.js +1 -1
- package/.next/server/app/api/pxpipe/start/route.js +2 -2
- package/.next/server/app/api/pxpipe/stats/route.js +1 -1
- package/.next/server/app/api/pxpipe/status/route.js +1 -1
- package/.next/server/app/api/pxpipe/stop/route.js +1 -1
- package/.next/server/app/api/settings/database/route.js +1 -1
- package/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/.next/server/app/api/settings/require-login/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/shutdown/route.js +1 -1
- package/.next/server/app/api/tags/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/translator/load/route.js +1 -1
- package/.next/server/app/api/translator/save/route.js +1 -1
- package/.next/server/app/api/translator/send/route.js +1 -1
- package/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/.next/server/app/api/translator/translate/route.js +1 -1
- package/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/.next/server/app/api/tunnel/status/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/chart/route.js +1 -1
- package/.next/server/app/api/usage/health/route.js +1 -1
- package/.next/server/app/api/usage/history/route.js +1 -1
- package/.next/server/app/api/usage/logs/route.js +1 -1
- package/.next/server/app/api/usage/providers/route.js +1 -1
- package/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/request-details/route.js +1 -1
- package/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/.next/server/app/api/usage/stats/route.js +1 -1
- package/.next/server/app/api/usage/stream/route.js +2 -2
- package/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/audio/voices/route.js +1 -1
- package/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/images/generations/route.js +2 -2
- package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/.next/server/app/api/v1/messages/route.js +1 -1
- package/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/models/[...model]/route.js +1 -1
- package/.next/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/models/info/route.js +1 -1
- package/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/models/route.js +1 -1
- package/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/responses/route.js +1 -1
- package/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/route.js +1 -1
- package/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/search/route.js +1 -1
- package/.next/server/app/api/v1/search/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/systemone/route.js +1 -1
- package/.next/server/app/api/v1/systemone/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/[id]/route.js +1 -1
- package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/edits/route.js +1 -1
- package/.next/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/extensions/route.js +1 -1
- package/.next/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/web/fetch/route.js +1 -1
- package/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/v1beta/models/route.js +1 -1
- package/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/shutdown/route.js +1 -1
- package/.next/server/app/api/version/update/route.js +1 -1
- package/.next/server/app/callback/page.js +1 -1
- package/.next/server/app/callback/page.js.nft.json +1 -1
- package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/.next/server/app/callback.html +1 -1
- package/.next/server/app/callback.rsc +6 -6
- package/.next/server/app/callback.segments/_full.segment.rsc +6 -6
- package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/dashboard/cli-tools.html +1 -1
- package/.next/server/app/dashboard/cli-tools.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/combos.html +1 -1
- package/.next/server/app/dashboard/combos.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/endpoint.html +1 -1
- package/.next/server/app/dashboard/endpoint.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
- package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/profile.html +1 -1
- package/.next/server/app/dashboard/profile.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers/new.html +1 -1
- package/.next/server/app/dashboard/providers/new.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers.html +1 -1
- package/.next/server/app/dashboard/providers.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/pxpipe.html +1 -1
- package/.next/server/app/dashboard/pxpipe.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/quota.html +2 -2
- package/.next/server/app/dashboard/quota.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
- package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/dashboard/token-saver.html +1 -1
- package/.next/server/app/dashboard/token-saver.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/usage.html +2 -2
- package/.next/server/app/dashboard/usage.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard.html +1 -1
- package/.next/server/app/dashboard.rsc +9 -9
- package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing/page.js +1 -1
- package/.next/server/app/landing/page.js.nft.json +1 -1
- package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/landing.html +1 -1
- package/.next/server/app/landing.rsc +7 -7
- package/.next/server/app/landing.segments/_full.segment.rsc +7 -7
- package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +6 -6
- package/.next/server/app/login.segments/_full.segment.rsc +6 -6
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/manifest.webmanifest/route.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +4 -5
- package/.next/server/chunks/1018.js +1 -0
- package/.next/server/chunks/1412.js +1 -1
- package/.next/server/chunks/1564.js +1 -1
- package/.next/server/chunks/1649.js +1 -0
- package/.next/server/chunks/1751.js +1 -0
- package/.next/server/chunks/1842.js +1 -0
- package/.next/server/chunks/2143.js +1 -1
- package/.next/server/chunks/2282.js +11 -13
- package/.next/server/chunks/{2706.js → 2338.js} +1 -1
- package/.next/server/chunks/2339.js +1 -1
- package/.next/server/chunks/2355.js +1 -0
- package/.next/server/chunks/2531.js +1 -0
- package/.next/server/chunks/2801.js +1 -1
- package/.next/server/chunks/31.js +1 -0
- package/.next/server/chunks/3671.js +1 -0
- package/.next/server/chunks/4301.js +1 -1
- package/.next/server/chunks/4364.js +1 -1
- package/.next/server/chunks/4915.js +1 -1
- package/.next/server/chunks/537.js +5 -9
- package/.next/server/chunks/6343.js +6 -6
- package/.next/server/chunks/6617.js +9 -0
- package/.next/server/chunks/6823.js +1 -1
- package/.next/server/chunks/6971.js +1 -0
- package/.next/server/chunks/7019.js +2 -2
- package/.next/server/chunks/7156.js +1 -1
- package/.next/server/chunks/7314.js +1 -0
- package/.next/server/chunks/7337.js +1 -0
- package/.next/server/chunks/7459.js +3 -3
- package/.next/server/chunks/7591.js +1 -0
- package/.next/server/chunks/7904.js +1 -0
- package/.next/server/chunks/8567.js +1 -1
- package/.next/server/chunks/8923.js +1 -1
- package/.next/server/chunks/9287.js +1 -1
- package/.next/server/chunks/9429.js +1 -1
- package/.next/server/chunks/9603.js +1 -1
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/EsP8l_VAPRRfBiiJPJqQe/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-77eb0511471e063a.js +1 -0
- package/.next/static/chunks/1660-c4c1cfa3cb7c9b2e.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-c913b130003c1672.js → page-dd70f2cee9c910a9.js} +3 -3
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-361bb54d1d354b4c.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/{page-7340dad2b87640cf.js → page-a5e128afd334522f.js} +2 -2
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a41e2c8e26eb5956.js +21 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-feb4f47de991b067.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-f718869c90907a6a.js +1 -0
- package/.next/static/chunks/app/_global-error/page-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/callback/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/start/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/reset-password/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/acs/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/metadata/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/start/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/changelog/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/combos/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/combos/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/extras/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/restart/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/start/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/status/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/headroom/stop/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/health/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/init/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/keys/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/keys/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/locale/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/alias/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/availability/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/catalog-sync/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/custom/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/disabled/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/models/test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/import/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pricing/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/validate/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/client/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/suggested-models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/test-batch/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/providers/validate/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/health/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/install/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/logs/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/restart/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/start/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stats/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/status/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stop/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/settings/database/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/settings/proxy-test/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/settings/require-login/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/settings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/shutdown/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tags/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/load/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/save/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/send/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/translator/translate/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/disable/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/enable/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/status/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/chart/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/health/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/history/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/logs/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/providers/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/request-details/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/request-logs/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/stats/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/usage/stream/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/api/chat/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/speech/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/voices/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/completions/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/embeddings/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/images/generations/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/models/[...model]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/models/info/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/compact/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/search/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/systemone/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/[id]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/edits/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/extensions/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/generations/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1/web/fetch/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/version/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/version/shutdown/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/api/version/update/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/landing/{page-a76ba2642bd02bf5.js → page-1c5aa0e05b21c61a.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/app/page-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f46617319221a4f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f46617319221a4f8.js +1 -0
- package/.next/static/css/e5f3812777d2d9e9.css +1 -0
- package/CHANGELOG.md +20 -0
- package/open-sse/AGENTS.md +1 -1
- package/open-sse/config/errorConfig.js +4 -0
- package/open-sse/config/opencodeErrors.js +59 -0
- package/open-sse/config/opencodeGo.js +34 -0
- package/open-sse/config/providerModels.js +13 -0
- package/open-sse/config/providers.js +0 -11
- package/open-sse/executors/base.js +4 -1
- package/open-sse/executors/index.js +0 -3
- package/open-sse/executors/opencode-go.js +28 -103
- package/open-sse/executors/opencode-zen.js +31 -105
- package/open-sse/executors/opencode.js +40 -106
- package/open-sse/executors/opencodeShared.js +146 -0
- package/open-sse/executors/zed.js +307 -70
- package/open-sse/handlers/chatCore/claudeMessageBody.js +357 -0
- package/open-sse/handlers/chatCore/nonStreamingHandler.js +36 -110
- package/open-sse/handlers/chatCore/sseToJsonHandler.js +147 -4
- package/open-sse/handlers/chatCore.js +48 -12
- package/open-sse/handlers/embeddingProviders/index.js +0 -1
- package/open-sse/handlers/imageProviders/index.js +0 -4
- package/open-sse/handlers/imageProviders/openai.js +1 -1
- package/open-sse/handlers/search/callers.js +0 -28
- package/open-sse/handlers/search/chatSearch.js +1 -57
- package/open-sse/handlers/search/normalizers.js +0 -49
- package/open-sse/handlers/sttCore.js +0 -17
- package/open-sse/handlers/ttsCore.js +1 -1
- package/open-sse/handlers/ttsProviders/genericFormats.js +0 -35
- package/open-sse/providers/registry/index.js +14 -53
- package/open-sse/providers/registry/opencode-go.js +15 -6
- package/open-sse/providers/registry/opencode-zen.js +25 -9
- package/open-sse/providers/registry/opencode.js +5 -3
- package/open-sse/services/accountFallback.js +1 -0
- package/open-sse/services/opencodeGoProbe.js +39 -0
- package/open-sse/services/usage/glm.js +6 -12
- package/open-sse/services/usage/misc.js +1 -92
- package/open-sse/services/usage/zed.js +18 -3
- package/open-sse/services/usage.js +2 -14
- package/open-sse/shared/zedAuth.js +53 -5
- package/open-sse/translator/concerns/classifier.js +70 -0
- package/open-sse/translator/concerns/thinkingUnified.js +18 -6
- package/open-sse/translator/formats/claude.js +47 -19
- package/open-sse/translator/request/claude-to-openai.js +20 -0
- package/open-sse/translator/request/openai-to-claude.js +11 -0
- package/open-sse/utils/error.js +37 -3
- package/open-sse/utils/opencodeErrors.js +63 -0
- package/open-sse/utils/opencodeFingerprint.js +122 -23
- package/open-sse/utils/opencodeFreeUsage.js +57 -12
- package/open-sse/utils/usageTracking.js +5 -3
- package/package.json +2 -2
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ClaudeToolCard.tsx +12 -0
- package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.tsx +10 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/ModelRow.tsx +14 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/OpenCodeGoConnectionCard.tsx +113 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +11 -2
- package/src/app/(dashboard)/dashboard/providers/components/ModelsCard.tsx +14 -5
- package/src/app/(dashboard)/dashboard/providers/page.tsx +33 -45
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.ts +0 -33
- package/src/app/api/cli-tools/claude-settings/route.js +10 -0
- package/src/app/api/oauth/[provider]/[action]/route.js +2 -0
- package/src/app/api/providers/[id]/models/route.js +0 -3
- package/src/app/api/providers/[id]/test/testUtils.js +18 -103
- package/src/app/api/providers/validate/route.js +9 -37
- package/src/app/api/usage/[connectionId]/route.js +1 -1
- package/src/components/app-sidebar.tsx +1 -0
- package/src/lib/modelCatalog/sync.js +2 -4
- package/src/shared/components/EditConnectionModal.tsx +1 -1
- package/src/shared/constants/cliTools.js +9 -9
- package/src/shared/constants/models.ts +2 -0
- package/src/shared/constants/ttsProviders.ts +0 -21
- package/src/shared/utils/providerIcon.ts +0 -12
- package/src/sse/services/model.ts +2 -12
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +0 -1
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +0 -1
- package/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +0 -1
- package/.next/server/chunks/1011.js +0 -1
- package/.next/server/chunks/1194.js +0 -1
- package/.next/server/chunks/1289.js +0 -1
- package/.next/server/chunks/1633.js +0 -1
- package/.next/server/chunks/3425.js +0 -1
- package/.next/server/chunks/4129.js +0 -1
- package/.next/server/chunks/5496.js +0 -1
- package/.next/server/chunks/5761.js +0 -1
- package/.next/server/chunks/6056.js +0 -1
- package/.next/server/chunks/7816.js +0 -1
- package/.next/server/chunks/8940.js +0 -1
- package/.next/static/chunks/1278-1bef1ffb32ea7f41.js +0 -1
- package/.next/static/chunks/1660-25564899e7912146.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-58a29f3cb409597a.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fab6f4b4cccc1a6f.js +0 -21
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-9054f870a5e0f5c6.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-61780f0a2b494680.js +0 -1
- package/.next/static/chunks/app/_global-error/page-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/callback/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/reset-password/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/acs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/metadata/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/changelog/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/combos/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/combos/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/extras/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/restart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/stop/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/init/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/keys/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/keys/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/locale/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/alias/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/availability/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/catalog-sync/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/custom/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/disabled/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pricing/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/validate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/client/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/suggested-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/test-batch/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/validate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/install/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/restart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stats/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stop/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/database/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/proxy-test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/require-login/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/shutdown/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tags/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/load/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/save/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/send/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/translate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/disable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/enable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/chart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/history/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/providers/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/request-details/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/request-logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/stats/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/stream/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/api/chat/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/speech/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/completions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/embeddings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/images/generations/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/[...model]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/info/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/compact/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/search/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/systemone/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/edits/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/extensions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/generations/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/web/fetch/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/shutdown/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/update/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/page-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/css/efaf98e3b295f727.css +0 -1
- package/.next/static/wBARQPScPhD6SLn7WQvI9/_buildManifest.js +0 -1
- package/open-sse/executors/xiaomi-tokenplan.js +0 -20
- package/open-sse/handlers/imageProviders/huggingface.js +0 -23
- package/open-sse/handlers/ttsProviders/minimax.js +0 -63
- package/open-sse/providers/registry/fish-audio.js +0 -31
- package/open-sse/providers/registry/glm-cn.js +0 -39
- package/open-sse/providers/registry/groq.js +0 -62
- package/open-sse/providers/registry/huggingface.js +0 -40
- package/open-sse/providers/registry/minimax-cn.js +0 -82
- package/open-sse/providers/registry/minimax.js +0 -94
- package/open-sse/providers/registry/siliconflow.js +0 -39
- package/open-sse/providers/registry/vercel-ai-gateway.js +0 -42
- package/open-sse/providers/registry/xiaomi-tokenplan.js +0 -66
- package/open-sse/providers/registry/xquik.js +0 -31
- package/open-sse/services/usage/groq.js +0 -133
- package/open-sse/services/usage/minimax.js +0 -297
- package/public/providers/fish-audio.png +0 -0
- package/public/providers/glm-cn.png +0 -0
- package/public/providers/groq.png +0 -0
- package/public/providers/huggingface.png +0 -0
- package/public/providers/minimax-cn.png +0 -0
- package/public/providers/minimax.png +0 -0
- package/public/providers/siliconflow.png +0 -0
- package/public/providers/vercel-ai-gateway.png +0 -0
- package/public/providers/vercel.png +0 -0
- package/public/providers/xiaomi-tokenplan.png +0 -0
- package/public/providers/xquik.png +0 -0
- package/src/app/api/media-providers/tts/minimax/voices/route.js +0 -126
- /package/.next/static/{wBARQPScPhD6SLn7WQvI9 → EsP8l_VAPRRfBiiJPJqQe}/_ssgManifest.js +0 -0
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MiniMax usage handler
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { proxyAwareFetch } from "../../utils/proxyFetch.js";
|
|
6
|
-
import { U, parseResetTime } from "./shared.js";
|
|
7
|
-
|
|
8
|
-
// MiniMax usage endpoints (try in order, fallback on transient errors)
|
|
9
|
-
const MINIMAX_USAGE_URLS = {
|
|
10
|
-
minimax: U("minimax").urls,
|
|
11
|
-
"minimax-cn": U("minimax-cn").urls,
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// ── MiniMax helpers ──────────────────────────────────────────────────────
|
|
15
|
-
function getMiniMaxField(model, snakeKey, camelKey) {
|
|
16
|
-
if (!model || typeof model !== "object") return null;
|
|
17
|
-
return model[snakeKey] ?? model[camelKey] ?? null;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function getMiniMaxModelName(model) {
|
|
21
|
-
return String(getMiniMaxField(model, "model_name", "modelName") || "").trim();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function formatMiniMaxQuotaName(model) {
|
|
25
|
-
const rawName = getMiniMaxModelName(model);
|
|
26
|
-
if (!rawName) return "MiniMax";
|
|
27
|
-
|
|
28
|
-
// M3+ shared quota pool: MiniMax reports M-series as a single wildcard
|
|
29
|
-
// bucket ("MiniMax-M*"). Newer responses rename it to plain "general".
|
|
30
|
-
// Render both as a friendly series label rather than leaking the
|
|
31
|
-
// asterisk or the vague "general" word to the UI.
|
|
32
|
-
if (rawName === "MiniMax-M*" || rawName === "general") return "M-series";
|
|
33
|
-
|
|
34
|
-
return rawName
|
|
35
|
-
.replace(/[_-]+/g, " ")
|
|
36
|
-
.replace(/\s+/g, " ")
|
|
37
|
-
.trim()
|
|
38
|
-
.replace(/\b\w/g, (ch) => ch.toUpperCase())
|
|
39
|
-
.replace(/\bTo\b/g, "to")
|
|
40
|
-
.replace(/\bTts\b/g, "TTS")
|
|
41
|
-
.replace(/\bHd\b/g, "HD");
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function getMiniMaxProvidedPercent(model, snakeKey, camelKey) {
|
|
45
|
-
if (!model || typeof model !== "object") return null;
|
|
46
|
-
const raw = model[snakeKey] ?? model[camelKey];
|
|
47
|
-
if (raw === null || raw === undefined) return null;
|
|
48
|
-
const num = Number(raw);
|
|
49
|
-
if (!Number.isFinite(num)) return null;
|
|
50
|
-
return Math.max(0, Math.min(100, num));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function getMiniMaxSessionTotal(model) {
|
|
54
|
-
return Math.max(
|
|
55
|
-
0,
|
|
56
|
-
Number(getMiniMaxField(model, "current_interval_total_count", "currentIntervalTotalCount")) ||
|
|
57
|
-
0,
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function getMiniMaxWeeklyTotal(model) {
|
|
62
|
-
return Math.max(
|
|
63
|
-
0,
|
|
64
|
-
Number(getMiniMaxField(model, "current_weekly_total_count", "currentWeeklyTotalCount")) || 0,
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function hasMiniMaxQuota(model) {
|
|
69
|
-
// Old format has real count totals; M3-era M-series buckets ship percent-only
|
|
70
|
-
// (count fields are 0) so accept those too.
|
|
71
|
-
if (getMiniMaxSessionTotal(model) > 0 || getMiniMaxWeeklyTotal(model) > 0) return true;
|
|
72
|
-
if (
|
|
73
|
-
getMiniMaxProvidedPercent(
|
|
74
|
-
model,
|
|
75
|
-
"current_interval_remaining_percent",
|
|
76
|
-
"currentIntervalRemainingPercent",
|
|
77
|
-
) !== null
|
|
78
|
-
)
|
|
79
|
-
return true;
|
|
80
|
-
if (
|
|
81
|
-
getMiniMaxProvidedPercent(
|
|
82
|
-
model,
|
|
83
|
-
"current_weekly_remaining_percent",
|
|
84
|
-
"currentWeeklyRemainingPercent",
|
|
85
|
-
) !== null
|
|
86
|
-
)
|
|
87
|
-
return true;
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function getMiniMaxResetAt(model, capturedAtMs, remainsSnake, remainsCamel, endSnake, endCamel) {
|
|
92
|
-
const remainsMs = Number(getMiniMaxField(model, remainsSnake, remainsCamel)) || 0;
|
|
93
|
-
if (remainsMs > 0) return new Date(capturedAtMs + remainsMs).toISOString();
|
|
94
|
-
return parseResetTime(getMiniMaxField(model, endSnake, endCamel));
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function buildMiniMaxQuota(total, count, resetAt, countMeansRemaining, providedPercent = null) {
|
|
98
|
-
const safeTotal = Math.max(0, total);
|
|
99
|
-
const used = countMeansRemaining
|
|
100
|
-
? Math.max(safeTotal - count, 0)
|
|
101
|
-
: Math.min(Math.max(0, count), safeTotal);
|
|
102
|
-
const remaining = Math.max(safeTotal - used, 0);
|
|
103
|
-
// M-series buckets ship percent-only (count = 0). Prefer the upstream value
|
|
104
|
-
// when present, otherwise fall back to the computed percentage. When the
|
|
105
|
-
// quota is unbounded (no count) and no upstream percent is available, surface
|
|
106
|
-
// the percent anyway as long as it is defined.
|
|
107
|
-
const remainingPercentage = providedPercentage(providedPercent, remaining, safeTotal);
|
|
108
|
-
return {
|
|
109
|
-
used,
|
|
110
|
-
total: safeTotal,
|
|
111
|
-
remaining,
|
|
112
|
-
remainingPercentage,
|
|
113
|
-
resetAt,
|
|
114
|
-
unlimited: false,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function providedPercentage(provided, remaining, total) {
|
|
119
|
-
if (provided !== null && provided !== undefined && Number.isFinite(provided)) {
|
|
120
|
-
return Math.max(0, Math.min(100, provided));
|
|
121
|
-
}
|
|
122
|
-
return total > 0 ? Math.max(0, Math.min(100, (remaining / total) * 100)) : 0;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function addMiniMaxQuota(
|
|
126
|
-
quotas,
|
|
127
|
-
key,
|
|
128
|
-
model,
|
|
129
|
-
getTotal,
|
|
130
|
-
countSnake,
|
|
131
|
-
countCamel,
|
|
132
|
-
percentSnake,
|
|
133
|
-
percentCamel,
|
|
134
|
-
resetArgs,
|
|
135
|
-
countMeansRemaining,
|
|
136
|
-
) {
|
|
137
|
-
const total = getTotal(model);
|
|
138
|
-
const providedPercent = getMiniMaxProvidedPercent(model, percentSnake, percentCamel);
|
|
139
|
-
if (total <= 0 && providedPercent === null) return;
|
|
140
|
-
|
|
141
|
-
const count = Math.max(0, Number(getMiniMaxField(model, countSnake, countCamel)) || 0);
|
|
142
|
-
let effectiveTotal = total;
|
|
143
|
-
let effectiveCount = count;
|
|
144
|
-
if (total <= 0) {
|
|
145
|
-
// M-series bucket: API only ships *_remaining_percent (count = 0). Normalize
|
|
146
|
-
// to total=100. The downstream buildMiniMaxQuota treats the count as
|
|
147
|
-
// "used" or "remaining" depending on countMeansRemaining, so the synthetic
|
|
148
|
-
// count has to match that semantic — otherwise the UI flips the percentage.
|
|
149
|
-
effectiveTotal = 100;
|
|
150
|
-
const pct = providedPercent;
|
|
151
|
-
effectiveCount = countMeansRemaining
|
|
152
|
-
? Math.round(effectiveTotal * (pct / 100))
|
|
153
|
-
: Math.round(effectiveTotal * (1 - pct / 100));
|
|
154
|
-
}
|
|
155
|
-
quotas[key] = buildMiniMaxQuota(
|
|
156
|
-
effectiveTotal,
|
|
157
|
-
effectiveCount,
|
|
158
|
-
getMiniMaxResetAt(model, ...resetArgs),
|
|
159
|
-
countMeansRemaining,
|
|
160
|
-
providedPercent,
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* MiniMax Token Plan / Coding Plan usage
|
|
166
|
-
*/
|
|
167
|
-
export async function getMiniMaxUsage(apiKey, provider, proxyOptions = null) {
|
|
168
|
-
if (!apiKey) {
|
|
169
|
-
return { message: "MiniMax API key not available." };
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const usageUrls = MINIMAX_USAGE_URLS[provider] || [];
|
|
173
|
-
let lastErrorMessage = "";
|
|
174
|
-
|
|
175
|
-
for (let index = 0; index < usageUrls.length; index += 1) {
|
|
176
|
-
const usageUrl = usageUrls[index];
|
|
177
|
-
const canFallback = index < usageUrls.length - 1;
|
|
178
|
-
|
|
179
|
-
try {
|
|
180
|
-
const response = await proxyAwareFetch(
|
|
181
|
-
usageUrl,
|
|
182
|
-
{
|
|
183
|
-
method: "GET",
|
|
184
|
-
headers: {
|
|
185
|
-
Authorization: `Bearer ${apiKey}`,
|
|
186
|
-
Accept: "application/json",
|
|
187
|
-
"Content-Type": "application/json",
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
proxyOptions,
|
|
191
|
-
);
|
|
192
|
-
|
|
193
|
-
const rawText = await response.text();
|
|
194
|
-
let payload = {};
|
|
195
|
-
if (rawText) {
|
|
196
|
-
try {
|
|
197
|
-
payload = JSON.parse(rawText);
|
|
198
|
-
} catch {
|
|
199
|
-
payload = {};
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
const baseResp = (payload?.base_resp ?? payload?.baseResp) || {};
|
|
204
|
-
const apiStatusCode = Number(baseResp.status_code ?? baseResp.statusCode) || 0;
|
|
205
|
-
const apiStatusMessage = String(baseResp.status_msg ?? baseResp.statusMsg ?? "").trim();
|
|
206
|
-
const combined = `${apiStatusMessage} ${rawText}`.trim();
|
|
207
|
-
const authLike = /token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;
|
|
208
|
-
|
|
209
|
-
if (
|
|
210
|
-
response.status === 401 ||
|
|
211
|
-
response.status === 403 ||
|
|
212
|
-
apiStatusCode === 1004 ||
|
|
213
|
-
authLike.test(combined)
|
|
214
|
-
) {
|
|
215
|
-
return {
|
|
216
|
-
message: "MiniMax API key invalid or inactive. Use an active Token/Coding Plan key.",
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
if (!response.ok) {
|
|
221
|
-
lastErrorMessage = `MiniMax usage endpoint error (${response.status})`;
|
|
222
|
-
if (
|
|
223
|
-
(response.status === 404 || response.status === 405 || response.status >= 500) &&
|
|
224
|
-
canFallback
|
|
225
|
-
)
|
|
226
|
-
continue;
|
|
227
|
-
return { message: `MiniMax connected. ${lastErrorMessage}` };
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
if (apiStatusCode !== 0) {
|
|
231
|
-
return { message: `MiniMax connected. ${apiStatusMessage || "Upstream quota API error"}` };
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
const modelRemains = payload?.model_remains ?? payload?.modelRemains;
|
|
235
|
-
const allModels = Array.isArray(modelRemains) ? modelRemains : [];
|
|
236
|
-
const quotaModels = allModels.filter(hasMiniMaxQuota);
|
|
237
|
-
|
|
238
|
-
if (quotaModels.length === 0) {
|
|
239
|
-
return { message: "MiniMax connected. No quota data was returned." };
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const capturedAtMs = Date.now();
|
|
243
|
-
const countMeansRemaining = usageUrl.includes("/coding_plan/remains");
|
|
244
|
-
const quotas = {};
|
|
245
|
-
|
|
246
|
-
for (const model of quotaModels) {
|
|
247
|
-
const displayName = formatMiniMaxQuotaName(model);
|
|
248
|
-
addMiniMaxQuota(
|
|
249
|
-
quotas,
|
|
250
|
-
`${displayName} (5h)`,
|
|
251
|
-
model,
|
|
252
|
-
getMiniMaxSessionTotal,
|
|
253
|
-
"current_interval_usage_count",
|
|
254
|
-
"currentIntervalUsageCount",
|
|
255
|
-
"current_interval_remaining_percent",
|
|
256
|
-
"currentIntervalRemainingPercent",
|
|
257
|
-
[capturedAtMs, "remains_time", "remainsTime", "end_time", "endTime"],
|
|
258
|
-
countMeansRemaining,
|
|
259
|
-
);
|
|
260
|
-
|
|
261
|
-
addMiniMaxQuota(
|
|
262
|
-
quotas,
|
|
263
|
-
`${displayName} (7d)`,
|
|
264
|
-
model,
|
|
265
|
-
getMiniMaxWeeklyTotal,
|
|
266
|
-
"current_weekly_usage_count",
|
|
267
|
-
"currentWeeklyUsageCount",
|
|
268
|
-
"current_weekly_remaining_percent",
|
|
269
|
-
"currentWeeklyRemainingPercent",
|
|
270
|
-
[
|
|
271
|
-
capturedAtMs,
|
|
272
|
-
"weekly_remains_time",
|
|
273
|
-
"weeklyRemainsTime",
|
|
274
|
-
"weekly_end_time",
|
|
275
|
-
"weeklyEndTime",
|
|
276
|
-
],
|
|
277
|
-
countMeansRemaining,
|
|
278
|
-
);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
if (Object.keys(quotas).length === 0) {
|
|
282
|
-
return { message: "MiniMax connected. Unable to extract quota usage." };
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
return { quotas };
|
|
286
|
-
} catch (error) {
|
|
287
|
-
lastErrorMessage = error.message;
|
|
288
|
-
if (!canFallback) break;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
return {
|
|
293
|
-
message: lastErrorMessage
|
|
294
|
-
? `MiniMax connected. Unable to fetch usage: ${lastErrorMessage}`
|
|
295
|
-
: "MiniMax connected. Unable to fetch usage.",
|
|
296
|
-
};
|
|
297
|
-
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server";
|
|
2
|
-
import { getProviderConnections } from "@/lib/localDb";
|
|
3
|
-
|
|
4
|
-
const MINIMAX_VOICE_ENDPOINTS = {
|
|
5
|
-
minimax: "https://api.minimax.io/v1/get_voice",
|
|
6
|
-
"minimax-cn": "https://api.minimaxi.com/v1/get_voice",
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const VOICE_GROUPS = [
|
|
10
|
-
{ key: "system_voice", label: "System" },
|
|
11
|
-
{ key: "voice_cloning", label: "Cloned" },
|
|
12
|
-
{ key: "voice_generation", label: "Generated" },
|
|
13
|
-
{ key: "music_generation", label: "Music" },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
function inferLanguage(voiceId) {
|
|
17
|
-
const value = typeof voiceId === "string" ? voiceId.trim() : "";
|
|
18
|
-
if (!value.includes("_")) return "Custom";
|
|
19
|
-
return value.split("_")[0] || "Custom";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function addVoice(byLang, code, voice) {
|
|
23
|
-
if (!byLang[code]) byLang[code] = { code, name: code, voices: [] };
|
|
24
|
-
if (byLang[code].voices.some((v) => v.id === voice.id)) return;
|
|
25
|
-
byLang[code].voices.push(voice);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function normalizeMiniMaxVoices(data) {
|
|
29
|
-
const byLang = {};
|
|
30
|
-
|
|
31
|
-
for (const group of VOICE_GROUPS) {
|
|
32
|
-
const voices = Array.isArray(data?.[group.key]) ? data[group.key] : [];
|
|
33
|
-
for (const item of voices) {
|
|
34
|
-
const voiceId = item?.voice_id || item?.voiceId;
|
|
35
|
-
if (!voiceId) continue;
|
|
36
|
-
|
|
37
|
-
const voiceName = item?.voice_name || item?.voiceName || voiceId;
|
|
38
|
-
const lang = group.key === "system_voice" ? inferLanguage(voiceId) : "Custom";
|
|
39
|
-
addVoice(byLang, lang, {
|
|
40
|
-
id: voiceId,
|
|
41
|
-
name: group.key === "system_voice" ? voiceName : `${voiceName} · ${group.label}`,
|
|
42
|
-
lang,
|
|
43
|
-
category: group.key,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const languages = Object.values(byLang).sort((a, b) => {
|
|
49
|
-
if (a.code === "Custom") return 1;
|
|
50
|
-
if (b.code === "Custom") return -1;
|
|
51
|
-
return a.name.localeCompare(b.name);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
for (const lang of languages) {
|
|
55
|
-
lang.voices.sort((a, b) => a.name.localeCompare(b.name));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return { languages, byLang };
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* GET /api/media-providers/tts/minimax/voices[?provider=minimax|minimax-cn&voice_type=all]
|
|
63
|
-
* Returns { languages, byLang } grouped for the shared TTS voice picker.
|
|
64
|
-
*/
|
|
65
|
-
export async function GET(request) {
|
|
66
|
-
try {
|
|
67
|
-
const { searchParams } = new URL(request.url);
|
|
68
|
-
const provider = searchParams.get("provider") === "minimax-cn" ? "minimax-cn" : "minimax";
|
|
69
|
-
const voiceType = searchParams.get("voice_type") || "all";
|
|
70
|
-
const langFilter = searchParams.get("lang");
|
|
71
|
-
|
|
72
|
-
const connections = await getProviderConnections({ provider, isActive: true });
|
|
73
|
-
const apiKey = connections[0]?.apiKey;
|
|
74
|
-
if (!apiKey) {
|
|
75
|
-
return NextResponse.json({ error: `No ${provider} connection found` }, { status: 400 });
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const res = await fetch(MINIMAX_VOICE_ENDPOINTS[provider], {
|
|
79
|
-
method: "POST",
|
|
80
|
-
headers: {
|
|
81
|
-
Authorization: `Bearer ${apiKey}`,
|
|
82
|
-
"Content-Type": "application/json",
|
|
83
|
-
},
|
|
84
|
-
body: JSON.stringify({ voice_type: voiceType }),
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
const rawText = await res.text();
|
|
88
|
-
let data = {};
|
|
89
|
-
if (rawText) {
|
|
90
|
-
try {
|
|
91
|
-
data = JSON.parse(rawText);
|
|
92
|
-
} catch {
|
|
93
|
-
data = {};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const baseResp = data.base_resp || data.baseResp || {};
|
|
98
|
-
const statusCode = Number(baseResp.status_code ?? baseResp.statusCode ?? 0);
|
|
99
|
-
const statusMessage = baseResp.status_msg || baseResp.statusMsg || data.message || "";
|
|
100
|
-
|
|
101
|
-
if (!res.ok) {
|
|
102
|
-
return NextResponse.json(
|
|
103
|
-
{ error: `MiniMax API ${res.status}: ${statusMessage || rawText || "Failed"}` },
|
|
104
|
-
{ status: 502 },
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
if (statusCode !== 0) {
|
|
108
|
-
return NextResponse.json(
|
|
109
|
-
{ error: statusMessage || "MiniMax voice API error" },
|
|
110
|
-
{ status: 502 },
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const normalized = normalizeMiniMaxVoices(data);
|
|
115
|
-
if (langFilter) {
|
|
116
|
-
return NextResponse.json({ voices: normalized.byLang[langFilter]?.voices || [] });
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return NextResponse.json(normalized);
|
|
120
|
-
} catch (err) {
|
|
121
|
-
return NextResponse.json(
|
|
122
|
-
{ error: err.message || "Failed to fetch MiniMax voices" },
|
|
123
|
-
{ status: 502 },
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
File without changes
|