@techysy/10router 1.5.1 → 1.6.2
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 +13 -13
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +21 -21
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +4 -4
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +2 -2
- package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/gateway-probe/route.js +1 -1
- package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +2 -2
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +2 -2
- package/app/.next-cli-build/server/app/callback.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +2 -2
- package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +2 -2
- package/app/.next-cli-build/server/app/landing.rsc +7 -7
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +2 -2
- package/app/.next-cli-build/server/app/login.rsc +7 -7
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +13 -13
- package/app/.next-cli-build/server/chunks/1329.js +1 -1
- package/app/.next-cli-build/server/chunks/1351.js +1 -0
- package/app/.next-cli-build/server/chunks/1622.js +1 -0
- package/app/.next-cli-build/server/chunks/1806.js +1 -1
- package/app/.next-cli-build/server/chunks/1819.js +6 -0
- package/app/.next-cli-build/server/chunks/1884.js +1 -1
- package/app/.next-cli-build/server/chunks/2132.js +1 -1
- package/app/.next-cli-build/server/chunks/2380.js +21 -0
- package/app/.next-cli-build/server/chunks/2557.js +4 -4
- package/app/.next-cli-build/server/chunks/2812.js +1 -1
- package/app/.next-cli-build/server/chunks/318.js +12 -11
- package/app/.next-cli-build/server/chunks/3217.js +1 -0
- package/app/.next-cli-build/server/chunks/3389.js +1 -0
- package/app/.next-cli-build/server/chunks/3500.js +2 -2
- package/app/.next-cli-build/server/chunks/3535.js +1 -1
- package/app/.next-cli-build/server/chunks/3662.js +1 -1
- package/app/.next-cli-build/server/chunks/3792.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/3962.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/447.js +1 -0
- package/app/.next-cli-build/server/chunks/4575.js +1 -1
- package/app/.next-cli-build/server/chunks/4692.js +1 -1
- package/app/.next-cli-build/server/chunks/4775.js +1 -1
- package/app/.next-cli-build/server/chunks/4906.js +1 -0
- package/app/.next-cli-build/server/chunks/4927.js +5 -5
- package/app/.next-cli-build/server/chunks/5210.js +32 -31
- package/app/.next-cli-build/server/chunks/539.js +1 -1
- package/app/.next-cli-build/server/chunks/5527.js +1 -1
- package/app/.next-cli-build/server/chunks/5598.js +1 -0
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5663.js +1 -0
- package/app/.next-cli-build/server/chunks/5757.js +1 -1
- package/app/.next-cli-build/server/chunks/5781.js +2 -2
- package/app/.next-cli-build/server/chunks/5837.js +1 -0
- package/app/.next-cli-build/server/chunks/6070.js +1 -1
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6212.js +1 -0
- package/app/.next-cli-build/server/chunks/6306.js +1 -1
- package/app/.next-cli-build/server/chunks/6326.js +1 -1
- package/app/.next-cli-build/server/chunks/6492.js +1 -1
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6790.js +1 -1
- package/app/.next-cli-build/server/chunks/6877.js +1 -1
- package/app/.next-cli-build/server/chunks/6922.js +1 -1
- package/app/.next-cli-build/server/chunks/6956.js +1 -1
- package/app/.next-cli-build/server/chunks/6960.js +2 -2
- package/app/.next-cli-build/server/chunks/7067.js +1 -1
- package/app/.next-cli-build/server/chunks/7122.js +1 -1
- package/app/.next-cli-build/server/chunks/7209.js +1 -0
- package/app/.next-cli-build/server/chunks/7247.js +1 -1
- package/app/.next-cli-build/server/chunks/7274.js +4 -4
- package/app/.next-cli-build/server/chunks/7322.js +2 -2
- package/app/.next-cli-build/server/chunks/7729.js +1 -0
- package/app/.next-cli-build/server/chunks/8145.js +1 -1
- package/app/.next-cli-build/server/chunks/8172.js +2 -2
- package/app/.next-cli-build/server/chunks/8318.js +2 -2
- package/app/.next-cli-build/server/chunks/8370.js +2 -2
- package/app/.next-cli-build/server/chunks/8439.js +1 -1
- package/app/.next-cli-build/server/chunks/8595.js +1 -1
- package/app/.next-cli-build/server/chunks/8689.js +1 -1
- package/app/.next-cli-build/server/chunks/8749.js +1 -1
- package/app/.next-cli-build/server/chunks/8775.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +9 -9
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- package/app/.next-cli-build/server/chunks/8936.js +1 -0
- package/app/.next-cli-build/server/chunks/9046.js +1 -1
- package/app/.next-cli-build/server/chunks/9154.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +3 -2
- package/app/.next-cli-build/server/chunks/9536.js +1 -0
- package/app/.next-cli-build/server/chunks/9601.js +1 -1
- package/app/.next-cli-build/server/chunks/9609.js +1 -1
- package/app/.next-cli-build/server/chunks/9628.js +1 -1
- package/app/.next-cli-build/server/chunks/976.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +4 -4
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +2 -2
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/1243-72ef45af27dc7a4a.js +3 -0
- package/app/.next-cli-build/static/chunks/1321-3d22643da5d0f152.js +1 -0
- package/app/.next-cli-build/static/chunks/5497-ce4781ece1a27ac0.js +7 -0
- package/app/.next-cli-build/static/chunks/{9749-80768075d38162d1.js → 9749-1f31c98804847f2a.js} +8 -8
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a2f5c1fa12df475b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/{page-7ee730e7a1ddb6e5.js → page-01bf0e3f4117f6c1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-6393f6dfae0de3e6.js +70 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-7c9d46f8c09d480e.js → page-73d4979c8eec774c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c29e4e5c17e55ea.js +14 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-ceb259d31ded818a.js → page-1e4e3f6f20152da1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c77260f73f62aa0e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-db46cbc3bf22d61a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/landing/page-626d89125b768dcf.js +1 -0
- package/app/.next-cli-build/static/css/5922b1ff9e56869d.css +1 -0
- package/app/package.json +71 -71
- package/app/public/donate/alipay.svg +1 -0
- package/app/public/donate/ifdian.svg +1 -0
- package/app/public/donate/wechat.svg +1 -0
- package/app/public/i18n/changelog/en.md +71 -0
- package/app/public/i18n/changelog/zh-CN.md +71 -0
- package/app/public/i18n/changelog/zh-TW.md +71 -0
- package/app/public/i18n/literals/zh-CN.json +67 -1
- package/app/public/i18n/literals/zh-TW.json +952 -907
- package/app/public/providers/alitp-intl.png +0 -0
- package/app/public/providers/alitp.png +0 -0
- package/app/public/providers/inception.png +0 -0
- package/app/public/providers/oxion.png +0 -0
- package/app/public/providers/uc-web.png +0 -0
- package/app/public/providers/veoaifree-web.png +0 -0
- package/app/src/mitm/server.js +12 -12
- package/app/src/shared/services/quotaAutoPing.js +345 -313
- package/app/src/sse/services/codebuddyCheckin.js +687 -890
- package/app/src/sse/services/minimaxCheckin.js +340 -0
- package/package.json +61 -61
- package/app/.next-cli-build/server/chunks/2112.js +0 -1
- package/app/.next-cli-build/server/chunks/3599.js +0 -1
- package/app/.next-cli-build/server/chunks/6593.js +0 -1
- package/app/.next-cli-build/server/chunks/6756.js +0 -1
- package/app/.next-cli-build/server/chunks/7070.js +0 -1
- package/app/.next-cli-build/server/chunks/7252.js +0 -1
- package/app/.next-cli-build/server/chunks/75.js +0 -1
- package/app/.next-cli-build/server/chunks/8499.js +0 -21
- package/app/.next-cli-build/server/chunks/8672.js +0 -1
- package/app/.next-cli-build/server/chunks/8972.js +0 -1
- package/app/.next-cli-build/server/chunks/939.js +0 -1
- package/app/.next-cli-build/server/chunks/9417.js +0 -6
- package/app/.next-cli-build/static/chunks/1243-acdc1dcbfcd9336d.js +0 -3
- package/app/.next-cli-build/static/chunks/1321-f4736e33b06bb9d6.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-f54b1274c2141bf0.js +0 -7
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-14745e08d1edafb2.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-bce04d7851a6bf65.js +0 -70
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-244e20b305c911c6.js +0 -14
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c70550b49f94cbc4.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-cefb3cbfe469dd51.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-38924391f8649361.js +0 -1
- package/app/.next-cli-build/static/css/cd8cdc4426ba0a3b.css +0 -1
- /package/app/.next-cli-build/static/{4BxfiRlz5UJXZcUl6uinS → KyW2U59Ruq5vPQZjvyylc}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{4BxfiRlz5UJXZcUl6uinS → KyW2U59Ruq5vPQZjvyylc}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
// MiniMax Code 每日签到(免费体验包算力币)— minimax-code / minimax-code-global。
|
|
2
|
+
//
|
|
3
|
+
// 免费体验包的算力币靠每日签到累积(signin/status → status:3 = 已领、1 = 待领,
|
|
4
|
+
// POST signin/claim 领取;接口幂等)。鉴权直接用 10R 订阅线连接上已有的
|
|
5
|
+
// accessToken(与 M Plan 用量探针同一把)——签到是账号动作,不是路由动作。
|
|
6
|
+
//
|
|
7
|
+
// 边界(issue #75 讨论):本服务只扫订阅线连接;minimax-free 免登录网关线的
|
|
8
|
+
// 签到与配额都在 CreditDaddy 内闭环,10R 不做、也不显示任何签到入口。
|
|
9
|
+
//
|
|
10
|
+
// Scheduler ticks every ~2h (+ jitter), same shape as qoderCheckin: an account
|
|
11
|
+
// is checked until today's claim is confirmed, then memoized for the rest of
|
|
12
|
+
// the day. Setting key: minimaxCheckin.
|
|
13
|
+
|
|
14
|
+
import * as log from "../utils/logger.js";
|
|
15
|
+
import { signedAccountRequest } from "../../../open-sse/services/usage/minimax-code.js";
|
|
16
|
+
|
|
17
|
+
const TICK_MS = 2 * 60 * 60 * 1000;
|
|
18
|
+
const TICK_JITTER_MS = 10 * 60 * 1000;
|
|
19
|
+
const MINIMAX_PROVIDERS = new Set(["minimax-code", "minimax-code-global"]);
|
|
20
|
+
|
|
21
|
+
let started = false;
|
|
22
|
+
let timerHandle = null;
|
|
23
|
+
let doneMap = null;
|
|
24
|
+
|
|
25
|
+
function isNonServerRuntime() {
|
|
26
|
+
if (typeof window !== "undefined") return true;
|
|
27
|
+
const phase = process.env.NEXT_PHASE || "";
|
|
28
|
+
if (phase === "phase-production-build" || phase === "phase-export" || phase === "phase-static") {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
if (process.env.NEXT_RUNTIME === "edge") return true;
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function msUntilNextTick(nowMs = Date.now(), rand = Math.random) {
|
|
36
|
+
const jitter = Math.floor(rand() * TICK_JITTER_MS);
|
|
37
|
+
return Math.max(TICK_MS + jitter, 1000);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function loadSettingsSafe() {
|
|
41
|
+
try {
|
|
42
|
+
const { getSettings } = await import("../../lib/localDb.js");
|
|
43
|
+
return (await getSettings()) || {};
|
|
44
|
+
} catch {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async function getDoneMap() {
|
|
50
|
+
if (doneMap) return doneMap;
|
|
51
|
+
const settings = await loadSettingsSafe();
|
|
52
|
+
const raw = settings?.minimaxDailyDone;
|
|
53
|
+
doneMap = raw && typeof raw === "object" && !Array.isArray(raw) ? { ...raw } : {};
|
|
54
|
+
return doneMap;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function dayKey(nowMs = Date.now()) {
|
|
58
|
+
const d = new Date(nowMs);
|
|
59
|
+
const p = (n) => String(n).padStart(2, "0");
|
|
60
|
+
return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}`;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Human label for log lines — "MiniMax Code: name", never a bare UUID.
|
|
64
|
+
function accountLabel(conn) {
|
|
65
|
+
const name = conn.provider === "minimax-code-global" ? "MiniMax Global" : "MiniMax Code";
|
|
66
|
+
const id = conn.name || conn.displayName || conn.email || `${String(conn.id || "?").slice(0, 8)}…`;
|
|
67
|
+
return `${name}: ${id}`;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function fmtDuration(ms) {
|
|
71
|
+
const total = Math.max(0, Math.round(ms / 1000));
|
|
72
|
+
if (total < 60) return `${total}s`;
|
|
73
|
+
const minutes = Math.round(total / 60);
|
|
74
|
+
if (minutes < 60) return `${minutes}m`;
|
|
75
|
+
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
async function persistDoneMap() {
|
|
79
|
+
if (!doneMap) return;
|
|
80
|
+
const today = dayKey();
|
|
81
|
+
const pruned = {};
|
|
82
|
+
for (const [id, day] of Object.entries(doneMap)) {
|
|
83
|
+
if (day === today) pruned[id] = day;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const { updateSettings } = await import("../../lib/localDb.js");
|
|
87
|
+
await updateSettings({ minimaxDailyDone: pruned });
|
|
88
|
+
for (const k of Object.keys(doneMap)) delete doneMap[k];
|
|
89
|
+
Object.assign(doneMap, pruned);
|
|
90
|
+
} catch (err) {
|
|
91
|
+
log.warn("MINIMAX_CHECKIN", `Persist daily-done map failed: ${err?.message ?? String(err)}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function isEligibleMinimaxConnection(conn) {
|
|
96
|
+
if (!conn || conn.isActive === false) return false;
|
|
97
|
+
if (!MINIMAX_PROVIDERS.has(conn.provider)) return false;
|
|
98
|
+
const token = conn.accessToken;
|
|
99
|
+
return typeof token === "string" && token.trim().length > 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Signed request for the signin endpoints (same signing scheme as the
|
|
103
|
+
// membership probe in usage/minimax-code.js — signedAccountRequest builds the
|
|
104
|
+
// full URL + headers). signedAccountRequest picks the verb from `body`:
|
|
105
|
+
// undefined → GET, anything else → POST. The two endpoints differ and the
|
|
106
|
+
// wrong verb is a bare 404, not a signature error:
|
|
107
|
+
// signin/status → GET only (POST = 404 "Not Found")
|
|
108
|
+
// signin/claim → POST only (GET = 404 "Not Found")
|
|
109
|
+
function signinRequest(conn, path, body) {
|
|
110
|
+
const site = conn.provider === "minimax-code-global"
|
|
111
|
+
? { agent: "https://agent.minimax.io", lang: "en" }
|
|
112
|
+
: { agent: "https://agent.minimax.cn", lang: "zh" };
|
|
113
|
+
return signedAccountRequest(site, path, {
|
|
114
|
+
access: conn.accessToken,
|
|
115
|
+
userID: conn.providerSpecificData?.realUserID,
|
|
116
|
+
body,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Check in a single MiniMax connection (status → claim if pending).
|
|
122
|
+
* Status shape mirrors checkinOneQoder so the dashboard can render both the
|
|
123
|
+
* same way.
|
|
124
|
+
*/
|
|
125
|
+
export async function checkinOneMinimax(conn, deps = {}) {
|
|
126
|
+
const fetchFn = deps.fetch || fetch;
|
|
127
|
+
const token = conn.accessToken;
|
|
128
|
+
const base = {
|
|
129
|
+
connectionId: conn.id,
|
|
130
|
+
account: conn.name || conn.email || conn.id,
|
|
131
|
+
provider: conn.provider,
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
if (!token) {
|
|
135
|
+
return { ...base, status: "failed", error: "Token unavailable" };
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
try {
|
|
139
|
+
// 1. Status
|
|
140
|
+
const { url: statusUrl, init: statusInit } = signinRequest(conn, "/minimax-cloud/api/v1/signin/status");
|
|
141
|
+
const statusRes = await fetchFn(statusUrl, {
|
|
142
|
+
...statusInit,
|
|
143
|
+
signal: AbortSignal.timeout(15000),
|
|
144
|
+
});
|
|
145
|
+
if (statusRes.status === 401 || statusRes.status === 403) {
|
|
146
|
+
return { ...base, status: "failed", error: `Authentication failed (${statusRes.status})` };
|
|
147
|
+
}
|
|
148
|
+
if (!statusRes.ok) {
|
|
149
|
+
return { ...base, status: "failed", error: `Status check failed: HTTP ${statusRes.status}` };
|
|
150
|
+
}
|
|
151
|
+
const statusData = await statusRes.json().catch(() => null);
|
|
152
|
+
const br = statusData?.base_resp;
|
|
153
|
+
if (!statusData || (br && br.status_code !== 0)) {
|
|
154
|
+
return { ...base, status: "failed", error: `Status check error: ${br?.status_msg || "unknown"}` };
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const today = (statusData?.data?.days || []).find((d) => d.is_today);
|
|
158
|
+
// status: 3 = already claimed, 1 = pending
|
|
159
|
+
if (today && today.status === 3) {
|
|
160
|
+
return {
|
|
161
|
+
...base,
|
|
162
|
+
status: "already",
|
|
163
|
+
message: `今日第 ${today.day_no || 1} 天已签到(+${(today.points || 0) + (today.bonus_points || 0)} 积分)`,
|
|
164
|
+
claimedAmount: 0,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// 2. Claim
|
|
169
|
+
const { url: claimUrl, init: claimInit } = signinRequest(conn, "/minimax-cloud/api/v1/signin/claim", {});
|
|
170
|
+
const claimRes = await fetchFn(claimUrl, {
|
|
171
|
+
...claimInit,
|
|
172
|
+
signal: AbortSignal.timeout(15000),
|
|
173
|
+
});
|
|
174
|
+
if (claimRes.status === 401 || claimRes.status === 403) {
|
|
175
|
+
return { ...base, status: "failed", error: `Authentication failed (${claimRes.status})` };
|
|
176
|
+
}
|
|
177
|
+
if (!claimRes.ok) {
|
|
178
|
+
return { ...base, status: "failed", error: `Claim failed: HTTP ${claimRes.status}` };
|
|
179
|
+
}
|
|
180
|
+
const claimData = await claimRes.json().catch(() => null);
|
|
181
|
+
const cbr = claimData?.base_resp;
|
|
182
|
+
if (!claimData || (cbr && cbr.status_code !== 0)) {
|
|
183
|
+
return { ...base, status: "failed", error: `Claim error: ${cbr?.status_msg || "unknown"}` };
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const cdata = claimData.data || {};
|
|
187
|
+
// claim_result: 1 = newly claimed, 2 = duplicate (already claimed today)
|
|
188
|
+
const pts = Number(cdata.points) || ((today?.points || 0) + (today?.bonus_points || 0));
|
|
189
|
+
if (cdata.claim_result === 2) {
|
|
190
|
+
return {
|
|
191
|
+
...base,
|
|
192
|
+
status: "already",
|
|
193
|
+
message: `今日已领取(+${pts} 积分)`,
|
|
194
|
+
claimedAmount: 0,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
...base,
|
|
199
|
+
status: "checked-in",
|
|
200
|
+
message: `签到成功第 ${cdata.day_no || 1} 天(+${pts} 积分)`,
|
|
201
|
+
claimedAmount: pts,
|
|
202
|
+
};
|
|
203
|
+
} catch (err) {
|
|
204
|
+
return { ...base, status: "failed", error: err?.message || "Network error" };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Execute a check-in run across all eligible MiniMax connections.
|
|
210
|
+
*/
|
|
211
|
+
export async function runMinimaxCheckinTick(deps = {}) {
|
|
212
|
+
const { getProviderConnections } = await import("../../lib/localDb.js");
|
|
213
|
+
const conns = await getProviderConnections();
|
|
214
|
+
|
|
215
|
+
const eligible = conns.filter(
|
|
216
|
+
(c) => isEligibleMinimaxConnection(c) && (!deps.provider || c.provider === deps.provider)
|
|
217
|
+
);
|
|
218
|
+
if (eligible.length === 0) {
|
|
219
|
+
log.debug("MINIMAX_CHECKIN", "Tick: no eligible MiniMax connections");
|
|
220
|
+
return [];
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
log.debug("MINIMAX_CHECKIN", `领取轮次开始:${eligible.map((c) => accountLabel(c)).join("、")}`);
|
|
224
|
+
|
|
225
|
+
const memo = deps.doneMap || (await getDoneMap());
|
|
226
|
+
const today = dayKey(deps.nowMs);
|
|
227
|
+
const results = [];
|
|
228
|
+
|
|
229
|
+
for (const conn of eligible) {
|
|
230
|
+
try {
|
|
231
|
+
if (deps.skipIfCheckedToday && memo[conn.id] === today) {
|
|
232
|
+
log.debug("MINIMAX_CHECKIN", `${accountLabel(conn)}:今日已确认完成,跳过`);
|
|
233
|
+
results.push({ connectionId: conn.id, account: conn.name || conn.email || conn.id, provider: conn.provider, status: "already", memoized: true });
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const checkinFn = deps.checkinConnection || checkinOneMinimax;
|
|
238
|
+
const outcome = await checkinFn(conn, { ...deps, doneMap: memo });
|
|
239
|
+
results.push(outcome);
|
|
240
|
+
|
|
241
|
+
if (outcome.status === "checked-in") {
|
|
242
|
+
memo[conn.id] = today;
|
|
243
|
+
log.info("MINIMAX_CHECKIN", `${accountLabel(conn)} 签到成功 +${outcome.claimedAmount} 积分`);
|
|
244
|
+
} else if (outcome.status === "already") {
|
|
245
|
+
memo[conn.id] = today;
|
|
246
|
+
log.debug("MINIMAX_CHECKIN", `${accountLabel(conn)}:${outcome.message || "今日已签"}`);
|
|
247
|
+
} else {
|
|
248
|
+
log.warn("MINIMAX_CHECKIN", `${accountLabel(conn)} 签到失败:${outcome.error || outcome.status}`);
|
|
249
|
+
}
|
|
250
|
+
} catch (err) {
|
|
251
|
+
results.push({
|
|
252
|
+
connectionId: conn.id,
|
|
253
|
+
account: conn.name || conn.id,
|
|
254
|
+
provider: conn.provider,
|
|
255
|
+
status: "failed",
|
|
256
|
+
error: err?.message || String(err),
|
|
257
|
+
});
|
|
258
|
+
log.warn("MINIMAX_CHECKIN", `${accountLabel(conn)} 签到异常:${err?.message || err}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
const claimed = results.filter((r) => r.status === "checked-in");
|
|
263
|
+
const failed = results.filter((r) => r.status === "failed");
|
|
264
|
+
const already = results.length - claimed.length - failed.length;
|
|
265
|
+
const totalPoints = claimed.reduce((a, r) => a + (r.claimedAmount || 0), 0);
|
|
266
|
+
const summary = `签到汇总:成功 ${claimed.length}(+${totalPoints} 积分)、已签 ${already}、失败 ${failed.length}`;
|
|
267
|
+
if (claimed.length > 0 || failed.length > 0) {
|
|
268
|
+
log.info("MINIMAX_CHECKIN", summary);
|
|
269
|
+
} else {
|
|
270
|
+
log.debug("MINIMAX_CHECKIN", summary);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
await persistDoneMap();
|
|
274
|
+
return results;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
async function safeTick(how) {
|
|
278
|
+
try {
|
|
279
|
+
const settings = await loadSettingsSafe();
|
|
280
|
+
if (settings.minimaxCheckin !== true) {
|
|
281
|
+
log.debug("MINIMAX_CHECKIN", `Scheduled ${how}: setting off, skipping`);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const done = await getDoneMap();
|
|
285
|
+
await runMinimaxCheckinTick({ skipIfCheckedToday: true, doneMap: done });
|
|
286
|
+
await persistDoneMap();
|
|
287
|
+
} catch (err) {
|
|
288
|
+
log.warn("MINIMAX_CHECKIN", `定时签到(${how})失败:${err?.message ?? String(err)}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function clearTimer() {
|
|
293
|
+
if (timerHandle) {
|
|
294
|
+
clearTimeout(timerHandle);
|
|
295
|
+
timerHandle = null;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
function scheduleNext() {
|
|
300
|
+
if (!started) return 0;
|
|
301
|
+
const delayMs = msUntilNextTick();
|
|
302
|
+
clearTimer();
|
|
303
|
+
timerHandle = setTimeout(() => {
|
|
304
|
+
safeTick("tick").finally(() => scheduleNext());
|
|
305
|
+
}, delayMs);
|
|
306
|
+
if (timerHandle && typeof timerHandle.unref === "function") {
|
|
307
|
+
timerHandle.unref();
|
|
308
|
+
}
|
|
309
|
+
log.debug("MINIMAX_CHECKIN", `下次签到约 ${fmtDuration(delayMs)} 后`);
|
|
310
|
+
return delayMs;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Start the scheduler. Runs an immediate boot pass then ticks every ~2h.
|
|
315
|
+
* @param {{ skipBoot?: boolean }} [opts]
|
|
316
|
+
* @returns {boolean} true if started this call
|
|
317
|
+
*/
|
|
318
|
+
export function startMinimaxCheckin(opts = {}) {
|
|
319
|
+
if (started) return false;
|
|
320
|
+
if (isNonServerRuntime()) {
|
|
321
|
+
log.debug("MINIMAX_CHECKIN", "Skip start outside long-running server runtime");
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
started = true;
|
|
325
|
+
|
|
326
|
+
if (opts.skipBoot !== true) {
|
|
327
|
+
safeTick("boot");
|
|
328
|
+
}
|
|
329
|
+
const delayMs = scheduleNext();
|
|
330
|
+
log.info("MINIMAX_CHECKIN", `每日签到调度已启动(全天轮询)— 下次约 ${fmtDuration(delayMs)} 后`);
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export function stopMinimaxCheckin() {
|
|
335
|
+
clearTimer();
|
|
336
|
+
if (started) {
|
|
337
|
+
started = false;
|
|
338
|
+
log.info("MINIMAX_CHECKIN", "Scheduler stopped");
|
|
339
|
+
}
|
|
340
|
+
}
|
package/package.json
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@techysy/10router",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "10Router CLI - Start and manage 10Router server",
|
|
5
|
-
"publishConfig": {
|
|
6
|
-
"access": "public"
|
|
7
|
-
},
|
|
8
|
-
"bin": {
|
|
9
|
-
"10router": "./cli.js"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"cli.js",
|
|
13
|
-
"src",
|
|
14
|
-
"hooks",
|
|
15
|
-
"app",
|
|
16
|
-
"README.md",
|
|
17
|
-
"LICENSE"
|
|
18
|
-
],
|
|
19
|
-
"scripts": {
|
|
20
|
-
"dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js",
|
|
21
|
-
"build": "node scripts/build-cli.js",
|
|
22
|
-
"pack:cli": "npm run build && npm pack --pack-destination ..",
|
|
23
|
-
"publish:cli": "npm run build && npm publish --registry https://registry.npmjs.org",
|
|
24
|
-
"postinstall": "node hooks/postinstall.js || exit 0",
|
|
25
|
-
"prepublishOnly": "npm run build"
|
|
26
|
-
},
|
|
27
|
-
"dependencies": {
|
|
28
|
-
"enquirer": "^2.4.1",
|
|
29
|
-
"node-forge": "^1.3.3",
|
|
30
|
-
"node-machine-id": "^1.1.12",
|
|
31
|
-
"react": "19.2.1",
|
|
32
|
-
"react-dom": "19.2.1"
|
|
33
|
-
},
|
|
34
|
-
"comment_postinstall": "`|| exit 0` is deliberate: this hook only warms ~/.10router/runtime, and cli.js re-runs the same ensureSqliteRuntime/ensureTrayRuntime on every start, so a failure here costs nothing. Without it npm aborts the whole install — e.g. running Windows npm against a WSL path, where cmd.exe cannot cd to a UNC directory, falls back to C:\\Windows and node then cannot find hooks/postinstall.js at all, so the script's own try/catch never gets to run.",
|
|
35
|
-
"comment_sqlite": "sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.10router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir. Both runtime deps are installed WITH save (never --no-save): the runtime dir is a single shared npm project, so a package found in node_modules but missing from runtime/package.json is pruned as extraneous by the other hook's next install, and the two hooks would otherwise uninstall each other in a ping-pong.",
|
|
36
|
-
"comment_systray": "systray2 is NOT bundled here. It is lazy-installed into ~/.10router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.",
|
|
37
|
-
"engines": {
|
|
38
|
-
"node": ">=18.0.0"
|
|
39
|
-
},
|
|
40
|
-
"keywords": [
|
|
41
|
-
"10router",
|
|
42
|
-
"cli",
|
|
43
|
-
"proxy",
|
|
44
|
-
"ai",
|
|
45
|
-
"api"
|
|
46
|
-
],
|
|
47
|
-
"license": "MIT",
|
|
48
|
-
"repository": {
|
|
49
|
-
"type": "git",
|
|
50
|
-
"url": "git+https://github.com/techysy/10router.git",
|
|
51
|
-
"directory": "cli"
|
|
52
|
-
},
|
|
53
|
-
"homepage": "https://github.com/techysy/10router#readme",
|
|
54
|
-
"bugs": {
|
|
55
|
-
"url": "https://github.com/techysy/10router/issues"
|
|
56
|
-
},
|
|
57
|
-
"devDependencies": {
|
|
58
|
-
"esbuild": "^0.25.12",
|
|
59
|
-
"nodemon": "^3.1.14"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@techysy/10router",
|
|
3
|
+
"version": "1.6.2",
|
|
4
|
+
"description": "10Router CLI - Start and manage 10Router server",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"bin": {
|
|
9
|
+
"10router": "./cli.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"cli.js",
|
|
13
|
+
"src",
|
|
14
|
+
"hooks",
|
|
15
|
+
"app",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js",
|
|
21
|
+
"build": "node scripts/build-cli.js",
|
|
22
|
+
"pack:cli": "npm run build && npm pack --pack-destination ..",
|
|
23
|
+
"publish:cli": "npm run build && npm publish --registry https://registry.npmjs.org",
|
|
24
|
+
"postinstall": "node hooks/postinstall.js || exit 0",
|
|
25
|
+
"prepublishOnly": "npm run build"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"enquirer": "^2.4.1",
|
|
29
|
+
"node-forge": "^1.3.3",
|
|
30
|
+
"node-machine-id": "^1.1.12",
|
|
31
|
+
"react": "19.2.1",
|
|
32
|
+
"react-dom": "19.2.1"
|
|
33
|
+
},
|
|
34
|
+
"comment_postinstall": "`|| exit 0` is deliberate: this hook only warms ~/.10router/runtime, and cli.js re-runs the same ensureSqliteRuntime/ensureTrayRuntime on every start, so a failure here costs nothing. Without it npm aborts the whole install — e.g. running Windows npm against a WSL path, where cmd.exe cannot cd to a UNC directory, falls back to C:\\Windows and node then cannot find hooks/postinstall.js at all, so the script's own try/catch never gets to run.",
|
|
35
|
+
"comment_sqlite": "sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.10router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir. Both runtime deps are installed WITH save (never --no-save): the runtime dir is a single shared npm project, so a package found in node_modules but missing from runtime/package.json is pruned as extraneous by the other hook's next install, and the two hooks would otherwise uninstall each other in a ping-pong.",
|
|
36
|
+
"comment_systray": "systray2 is NOT bundled here. It is lazy-installed into ~/.10router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.",
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=18.0.0"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"10router",
|
|
42
|
+
"cli",
|
|
43
|
+
"proxy",
|
|
44
|
+
"ai",
|
|
45
|
+
"api"
|
|
46
|
+
],
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "git+https://github.com/techysy/10router.git",
|
|
51
|
+
"directory": "cli"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/techysy/10router#readme",
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/techysy/10router/issues"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"esbuild": "^0.25.12",
|
|
59
|
+
"nodemon": "^3.1.14"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2112,exports.ids=[2112,4755,8775],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},20669:(a,b,c)=>{c.d(b,{g:()=>w,s:()=>x});var d=c(79029),e=c(89718),f=c(38775),g=c(43659),h=c(41004),i=c(8590),j=c(26070);let k=Number(process.env.VIDEO_FETCH_TIMEOUT_MS||12e4),l=new Set(["generations","edits","extensions"]);function m(a){return j.B$[a]?.videoConfig||null}function n(a,b=null){if(!a)return a;let c=String(a).replace(/Bearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]");for(let a of["accessToken","refreshToken","apiKey"]){let d=b?.[a];"string"==typeof d&&d.length>=8&&(c=c.split(d).join("[redacted]"))}return c}async function o({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:j,signal:p,timeoutMs:q=k,log:r,onCredentialsRefreshed:s,onCredentialsRefreshFailed:t}){let u,v,w,x=m(a);if(!x)return(0,g.A1)(h.gx.BAD_REQUEST,`Provider '${a}' does not support video generation`);if(!c&&!l.has(b))return(0,g.A1)(h.gx.BAD_REQUEST,`Unknown video action: ${b}`);let y=c?"GET":"POST",z=(v=x.baseUrl.replace(/\/$/,""),c?`${v}/${encodeURIComponent(c)}`:`${v}/${b}`),A=(w="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(q):null,p&&w&&"function"==typeof AbortSignal.any?AbortSignal.any([p,w]):p||w||void 0),B=a=>fetch(z,{method:y,headers:function({token:a,contentType:b,idempotencyKey:c}){let d={Accept:"application/json"};return a&&(d.Authorization=`Bearer ${a}`),b&&(d["Content-Type"]=b),c&&(d["Idempotency-Key"]=c),d}({token:a,contentType:"POST"===y?e:null,idempotencyKey:"POST"===y?f:null}),body:"POST"===y?d:void 0,signal:A});try{u=await B(j?.accessToken||j?.apiKey)}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,g.A1)(h.gx.REQUEST_TIMEOUT,`[${a}] video ${y} aborted: ${b.message}`);return(0,g.A1)(h.gx.BAD_GATEWAY,n(`[${a}] video upstream fetch failed: ${b.message}`,j))}if((u.status===h.gx.UNAUTHORIZED||u.status===h.gx.FORBIDDEN)&&j?.refreshToken){let b=null;try{b=await (0,i.$B)(a,j,r)}catch(b){r?.warn?.("TOKEN",`${a} | video refresh error: ${n(b.message,j)}`)}if(b?.accessToken){r?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${y}`),Object.assign(j,b),s&&await s(b);try{await u.body?.cancel?.()}catch{}try{u=await B(j.accessToken||j.apiKey)}catch(b){return(0,g.A1)(h.gx.BAD_GATEWAY,n(`[${a}] video retry after refresh failed: ${b.message}`,j))}}else r?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`),await (0,i.Vf)(b,t,r)}let C=await u.text().catch(()=>"");if(!u.ok){let b=n(C||`HTTP ${u.status}`,j);return(0,g.A1)(u.status,`[${a}] ${b.slice(0,2e3)}`)}return{success:!0,response:new Response(C,{status:u.status,headers:{"Content-Type":u.headers.get("content-type")||"application/json","Access-Control-Allow-Origin":"*"}})}}var p=c(67828),q=c(7803);let r=new Set([h.gx.UNAUTHORIZED,h.gx.FORBIDDEN,h.gx.RATE_LIMITED]);async function s(a){let b=(0,d.Tr)(a);if((await (0,e.getSettings)()).requireApiKey){if(!b)return(0,g.yj)(h.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(b))return(0,g.yj)(h.gx.UNAUTHORIZED,"Invalid API key")}let c=await (0,d.uO)(b,{request:a});return c||null}async function t(a){let b=a.headers.get("content-type")||"";if(b.includes("application/json")){let c,d=await a.text();try{c=JSON.parse(d)}catch{return{error:(0,g.yj)(h.gx.BAD_REQUEST,"Invalid JSON body")}}return{raw:d,parsed:c,contentType:b}}return{raw:Buffer.from(await a.arrayBuffer()),parsed:null,contentType:b}}async function u(a){if(!a?.model)return{provider:"xai",model:null};let b=String(a.model),c=await (0,f.mA)(b);return c.provider?m(c.provider)?{provider:c.provider,model:c.model}:b.includes("/")?{error:(0,g.yj)(h.gx.BAD_REQUEST,`Provider '${c.provider}' does not support video generation`)}:{provider:"xai",model:b}:{error:(0,g.yj)(h.gx.BAD_REQUEST,"Combos are not supported for video generation")}}function v(a,b){if(!b)return a;let c=new Headers(a.headers);return c.set("x-10router-connection-id",String(b)),new Response(a.body,{status:a.status,headers:c})}async function w(a,b){let c=await s(a);if(c)return c;let e=await t(a);if(e.error)return e.error;let f=await u(e.parsed);if(f.error)return f.error;let{provider:i,model:j}=f,k=e.raw;e.parsed&&j&&e.parsed.model!==j&&(k=JSON.stringify({...e.parsed,model:j}));let l=a.headers.get("x-connection-id")||null,m=a.headers.get("idempotency-key")||null,w=new Set,x=null,y=null;for(;;){let c=await (0,d.c1)(i,w,j,{preferredConnectionId:l});if(!c||c.allRateLimited){if(c?.allRateLimited){let a=x||c.lastError||"Unavailable",b=y||Number(c.lastErrorCode)||h.gx.SERVICE_UNAVAILABLE;return(0,g.wO)(b,`[${i}/${j||"video"}] ${a}`,c.retryAfter,c.retryAfterHuman)}if(0===w.size)return(0,g.yj)(h.gx.BAD_REQUEST,`No credentials for provider: ${i}`);return(0,g.yj)(y||h.gx.SERVICE_UNAVAILABLE,x||"All accounts unavailable")}let f=await (0,p.checkAndRefreshToken)(i,c),s=await o({provider:i,action:b,rawBody:k,contentType:e.contentType||null,idempotencyKey:m,credentials:f,signal:a.signal,log:q,onCredentialsRefreshed:async a=>{await (0,p.Xg)(c.connectionId,a,{providerSpecificData:c.providerSpecificData,provider:i,log:q})},onCredentialsRefreshFailed:async a=>{await (0,p.Ug)(c.connectionId,{provider:i,reason:a,log:q})}});if(s.success)return await (0,d.Pt)(c.connectionId,c,j),q.info("VIDEO",`${i.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),v(s.response,c.connectionId);let{shouldFallback:t}=await (0,d.vk)(c.connectionId,s.status,n(s.error,f),i,j);if(t&&r.has(s.status)){w.add(c.connectionId),x=s.error,y=s.status;continue}return s.response}}async function x(a,b){let c=await s(a);if(c)return c;if(!b)return(0,g.yj)(h.gx.BAD_REQUEST,"Missing video request id");let e=a.headers.get("x-connection-id")||null,f=await (0,d.c1)("xai",null,null,{preferredConnectionId:e});if(!f||f.allRateLimited)return(0,g.yj)(h.gx.BAD_REQUEST,"No credentials for provider: xai");let i=await (0,p.checkAndRefreshToken)("xai",f),j=await o({provider:"xai",requestId:b,credentials:i,signal:a.signal,log:q,onCredentialsRefreshed:async a=>{await (0,p.Xg)(f.connectionId,a,{providerSpecificData:f.providerSpecificData,provider:"xai",log:q})},onCredentialsRefreshFailed:async a=>{await (0,p.Ug)(f.connectionId,{provider:"xai",reason:a,log:q})}});return j.success?(await (0,d.Pt)(f.connectionId,f,null),v(j.response,f.connectionId)):(await (0,d.vk)(f.connectionId,j.status,n(j.error,i),"xai",null),j.response)}},38775:(a,b,c)=>{c.d(b,{getComboModels:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(23599);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a,{inferFallback:b=!0}={}){let c,f=(c=(0,e.Xh)(a),c?.providerAlias&&g[c.providerAlias]?{...c,provider:g[c.providerAlias]}:c);if(!f.isAlias){if(!h.has(f.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===f.providerAlias);if(a)return{provider:a.id,model:f.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===f.providerAlias);if(b)return{provider:b.id,model:f.model};let c=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===f.providerAlias);if(c)return{provider:c.id,model:f.model}}return{provider:f.provider,model:f.model}}if(await (0,d.Dj)(f.model))return{provider:null,model:f.model};let j=await (0,e.XO)(a,d.OM);return j||((0,e.hb)(f.model)?{provider:"codex",model:f.model}:b?(0,e.js)(a,d.OM):{provider:null,model:f.model})}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40669:(a,b,c)=>{c.d(b,{XO:()=>i,Xh:()=>g,hb:()=>l,js:()=>j});var d=c(23599);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function h(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}async function i(a,b){let c=g(a);if(!c.isAlias)return null;let d="function"==typeof b?await b():b;return h(c.model,d)||h(c.model,f)||null}async function j(a,b){let c=g(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d=await i(a,b);return d||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return m.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let k=[/^gpt-[56]\./,/^gpt-6-/,/^gpt-daybreak-/,/^gpt-reserve/];function l(a){if(!a)return!1;let b=a.toLowerCase();return k.some(a=>a.test(b))}let m=[...k.map(a=>[a,"codex"]),[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|