9router 0.2.88 â 0.2.90
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/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +33 -32
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/routes-manifest.json +18 -12
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +4 -4
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -0
- package/app/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -0
- package/app/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/tunnel/status/route.js +1 -0
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
- package/app/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stream/route.js +6 -2
- package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +2 -2
- package/app/.next/server/app/callback.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +4 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +4 -4
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +4 -4
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +4 -4
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +4 -4
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +4 -4
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +4 -4
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +4 -4
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +2 -2
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +2 -2
- package/app/.next/server/app/landing.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +3 -3
- package/app/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/page.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +33 -32
- package/app/.next/server/chunks/3990.js +2 -2
- package/app/.next/server/chunks/412.js +1 -1
- package/app/.next/server/chunks/6084.js +1 -0
- package/app/.next/server/chunks/6943.js +1 -1
- package/app/.next/server/chunks/{5330.js â 7189.js} +3 -3
- package/app/.next/server/chunks/7533.js +1 -0
- package/app/.next/server/chunks/8954.js +1 -1
- package/app/.next/server/chunks/9489.js +2 -2
- package/app/.next/server/chunks/9718.js +1 -1
- package/app/.next/server/chunks/9862.js +2 -2
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/server/webpack-runtime.js +1 -1
- package/app/.next/static/1U2f_RPUnC3Jq3sZbG62b/_buildManifest.js +1 -0
- package/app/.next/static/chunks/1393-1761cc0c24573e2e.js +3 -0
- package/app/.next/static/chunks/5497-bcf7a079d4e9c4a5.js +7 -0
- package/app/.next/static/chunks/{8729-44b4c78e001b2e25.js â 8729-a2b22a201dd986cf.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-f1a3de0e067ff7c4.js +15 -0
- package/app/.next/static/chunks/app/_global-error/page-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/disable/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/enable/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/status/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/chart/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/providers/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-details/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stream/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/app/page-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/c6123951-7611e4563265b257.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-6fc4c655a6c0cae7.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6fc4c655a6c0cae7.js +1 -0
- package/app/package.json +1 -1
- package/cli.js +4 -4
- package/package.json +1 -1
- package/src/cli/api/client.js +33 -0
- package/src/cli/menus/settings.js +38 -27
- package/src/cli/terminalUI.js +8 -10
- package/src/cli/utils/endpoint.js +10 -12
- package/app/.next/server/app/api/sync/cloud/route.js +0 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +0 -1
- package/app/.next/server/app/api/sync/initialize/route.js +0 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +0 -1
- package/app/.next/server/chunks/1638.js +0 -1
- package/app/.next/server/chunks/8647.js +0 -1
- package/app/.next/static/FqoiygD1k3dP5k-yy9CDd/_buildManifest.js +0 -1
- package/app/.next/static/chunks/1393-5b60aa357f848139.js +0 -3
- package/app/.next/static/chunks/5497-825dd88e0a663cfe.js +0 -7
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-d5e2be111394971e.js +0 -15
- package/app/.next/static/chunks/app/_global-error/page-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/sync/cloud/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/sync/initialize/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/app/page-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/c6123951-59125299ca0d7b46.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-d1d78f0818dfa7f5.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d1d78f0818dfa7f5.js +0 -1
- /package/app/.next/server/app/api/{sync/cloud â tunnel/disable}/route.js.nft.json +0 -0
- /package/app/.next/server/app/api/{sync/initialize â tunnel/enable}/route.js.nft.json +0 -0
- /package/app/.next/static/{FqoiygD1k3dP5k-yy9CDd â 1U2f_RPUnC3Jq3sZbG62b}/_ssgManifest.js +0 -0
|
@@ -12,11 +12,8 @@ const COLORS = {
|
|
|
12
12
|
dim: "\x1b[2m"
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
// Cloud URL (same as frontend)
|
|
16
|
-
const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL || "https://9router.com";
|
|
17
|
-
|
|
18
15
|
/**
|
|
19
|
-
* Show settings menu (
|
|
16
|
+
* Show settings menu (tunnel controls)
|
|
20
17
|
* @param {Array<string>} breadcrumb - Breadcrumb path
|
|
21
18
|
*/
|
|
22
19
|
async function showSettingsMenu(breadcrumb = []) {
|
|
@@ -24,41 +21,36 @@ async function showSettingsMenu(breadcrumb = []) {
|
|
|
24
21
|
title: "âī¸ Settings",
|
|
25
22
|
breadcrumb,
|
|
26
23
|
headerContent: async () => {
|
|
27
|
-
const result = await api.
|
|
28
|
-
if (!result.success) return " Failed to load
|
|
29
|
-
|
|
30
|
-
const settings = result.data || result;
|
|
31
|
-
const cloudEnabled = settings.cloudEnabled === true;
|
|
32
|
-
const port = settings.port || 20128;
|
|
24
|
+
const result = await api.getTunnelStatus();
|
|
25
|
+
if (!result.success) return " Failed to load tunnel status";
|
|
33
26
|
|
|
34
|
-
const
|
|
35
|
-
const cloudEndpoint = `${CLOUD_URL}/v1`;
|
|
27
|
+
const { enabled, tunnelUrl, shortId } = result.data || {};
|
|
36
28
|
|
|
37
|
-
if (
|
|
29
|
+
if (enabled && tunnelUrl) {
|
|
38
30
|
return [
|
|
39
|
-
` Endpoint: ${COLORS.green}${
|
|
40
|
-
`
|
|
31
|
+
` Endpoint: ${COLORS.green}${tunnelUrl}/v1${COLORS.reset}`,
|
|
32
|
+
` Tunnel: ${COLORS.green}ON${COLORS.reset} ${COLORS.dim}(${shortId})${COLORS.reset}`
|
|
41
33
|
].join("\n");
|
|
42
34
|
} else {
|
|
43
35
|
return [
|
|
44
|
-
` Endpoint:
|
|
45
|
-
`
|
|
36
|
+
` Endpoint: http://localhost:20128/v1`,
|
|
37
|
+
` Tunnel: ${COLORS.red}OFF${COLORS.reset} ${COLORS.dim}(local only)${COLORS.reset}`
|
|
46
38
|
].join("\n");
|
|
47
39
|
}
|
|
48
40
|
},
|
|
49
41
|
refresh: async () => ({}),
|
|
50
42
|
items: [
|
|
51
43
|
{
|
|
52
|
-
label: "
|
|
44
|
+
label: "Tunnel ON",
|
|
53
45
|
action: async () => {
|
|
54
|
-
await
|
|
46
|
+
await enableTunnel();
|
|
55
47
|
return true;
|
|
56
48
|
}
|
|
57
49
|
},
|
|
58
50
|
{
|
|
59
|
-
label: "
|
|
51
|
+
label: "Tunnel OFF",
|
|
60
52
|
action: async () => {
|
|
61
|
-
await
|
|
53
|
+
await disableTunnel();
|
|
62
54
|
return true;
|
|
63
55
|
}
|
|
64
56
|
}
|
|
@@ -67,15 +59,34 @@ async function showSettingsMenu(breadcrumb = []) {
|
|
|
67
59
|
}
|
|
68
60
|
|
|
69
61
|
/**
|
|
70
|
-
*
|
|
62
|
+
* Enable tunnel via API
|
|
71
63
|
*/
|
|
72
|
-
async function
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
64
|
+
async function enableTunnel() {
|
|
65
|
+
showStatus("Creating tunnel...", "info");
|
|
66
|
+
const result = await api.enableTunnel();
|
|
67
|
+
|
|
68
|
+
if (result.success) {
|
|
69
|
+
const { tunnelUrl, shortId, alreadyRunning } = result.data || {};
|
|
70
|
+
if (alreadyRunning) {
|
|
71
|
+
showStatus(`Tunnel already running: ${tunnelUrl}`, "success");
|
|
72
|
+
} else {
|
|
73
|
+
showStatus(`Tunnel enabled: ${tunnelUrl} (${shortId})`, "success");
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
showStatus(`Failed: ${result.error}`, "error");
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
await pause();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Disable tunnel via API
|
|
84
|
+
*/
|
|
85
|
+
async function disableTunnel() {
|
|
86
|
+
const result = await api.disableTunnel();
|
|
76
87
|
|
|
77
88
|
if (result.success) {
|
|
78
|
-
showStatus(
|
|
89
|
+
showStatus("Tunnel disabled", "success");
|
|
79
90
|
} else {
|
|
80
91
|
showStatus(`Failed: ${result.error}`, "error");
|
|
81
92
|
}
|
package/src/cli/terminalUI.js
CHANGED
|
@@ -6,8 +6,6 @@ const { showCombosMenu } = require("./menus/combos");
|
|
|
6
6
|
const { showSettingsMenu } = require("./menus/settings");
|
|
7
7
|
const { showCliToolsMenu } = require("./menus/cliTools");
|
|
8
8
|
|
|
9
|
-
const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL || "https://9router.com";
|
|
10
|
-
|
|
11
9
|
const COLORS = {
|
|
12
10
|
reset: "\x1b[0m",
|
|
13
11
|
green: "\x1b[32m",
|
|
@@ -22,23 +20,23 @@ const COLORS = {
|
|
|
22
20
|
* @returns {Promise<string>} Header content string
|
|
23
21
|
*/
|
|
24
22
|
async function buildHeaderContent(port) {
|
|
25
|
-
const [keysResult,
|
|
23
|
+
const [keysResult, tunnelResult] = await Promise.all([
|
|
26
24
|
api.getApiKeys(),
|
|
27
|
-
api.
|
|
25
|
+
api.getTunnelStatus()
|
|
28
26
|
]);
|
|
29
27
|
|
|
30
28
|
const keys = keysResult.success ? (keysResult.data.keys || []) : [];
|
|
31
|
-
const
|
|
32
|
-
const
|
|
29
|
+
const tunnel = tunnelResult.success ? (tunnelResult.data || {}) : {};
|
|
30
|
+
const tunnelEnabled = tunnel.enabled === true;
|
|
33
31
|
|
|
34
32
|
const lines = [];
|
|
35
33
|
|
|
36
|
-
if (
|
|
37
|
-
lines.push(`Endpoint: ${COLORS.green}${
|
|
38
|
-
lines.push(`
|
|
34
|
+
if (tunnelEnabled && tunnel.tunnelUrl) {
|
|
35
|
+
lines.push(`Endpoint: ${COLORS.green}${tunnel.tunnelUrl}/v1${COLORS.reset}`);
|
|
36
|
+
lines.push(`Tunnel: ${COLORS.green}ON${COLORS.reset} ${COLORS.dim}(${tunnel.shortId})${COLORS.reset}`);
|
|
39
37
|
} else {
|
|
40
38
|
lines.push(`Endpoint: http://localhost:${port}/v1`);
|
|
41
|
-
lines.push(`
|
|
39
|
+
lines.push(`Tunnel: ${COLORS.red}OFF${COLORS.reset} ${COLORS.dim}(local only)${COLORS.reset}`);
|
|
42
40
|
}
|
|
43
41
|
|
|
44
42
|
if (keys.length === 0) {
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
const api = require("../api/client");
|
|
2
2
|
|
|
3
|
-
const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL || "https://9router.com";
|
|
4
|
-
|
|
5
3
|
const COLORS = {
|
|
6
4
|
reset: "\x1b[0m",
|
|
7
5
|
green: "\x1b[32m"
|
|
8
6
|
};
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
|
-
* Get endpoint URL based on
|
|
9
|
+
* Get endpoint URL based on tunnel status
|
|
12
10
|
* @param {number} port - Local server port
|
|
13
|
-
* @returns {Promise<{endpoint: string,
|
|
11
|
+
* @returns {Promise<{endpoint: string, tunnelEnabled: boolean}>}
|
|
14
12
|
*/
|
|
15
13
|
async function getEndpoint(port) {
|
|
16
|
-
const result = await api.
|
|
17
|
-
const
|
|
18
|
-
const
|
|
14
|
+
const result = await api.getTunnelStatus();
|
|
15
|
+
const tunnelEnabled = result.success && result.data?.enabled === true;
|
|
16
|
+
const tunnelUrl = result.success ? result.data?.tunnelUrl : "";
|
|
19
17
|
|
|
20
|
-
const endpoint =
|
|
21
|
-
return { endpoint,
|
|
18
|
+
const endpoint = tunnelEnabled && tunnelUrl ? `${tunnelUrl}/v1` : `http://localhost:${port}/v1`;
|
|
19
|
+
return { endpoint, tunnelEnabled };
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
/**
|
|
@@ -27,8 +25,8 @@ async function getEndpoint(port) {
|
|
|
27
25
|
* @returns {Promise<string>} Colored endpoint string
|
|
28
26
|
*/
|
|
29
27
|
async function getEndpointColored(port) {
|
|
30
|
-
const { endpoint,
|
|
31
|
-
return
|
|
28
|
+
const { endpoint, tunnelEnabled } = await getEndpoint(port);
|
|
29
|
+
return tunnelEnabled ? `${COLORS.green}${endpoint}${COLORS.reset}` : endpoint;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
module.exports = { getEndpoint, getEndpointColored
|
|
32
|
+
module.exports = { getEndpoint, getEndpointColored };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{var a={};a.id=1625,a.ids=[1625],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2348:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527),u=c(99821);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sync/cloud/route",pathname:"/api/sync/cloud",filename:"route",bundlePath:"app/api/sync/cloud/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/Working/router4/app/src/app/api/sync/cloud/route.js",nextConfigOutput:"standalone",userland:u}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sync/cloud/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=f,H=(0,j.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.experimental.adapterPath)return await J();throw new s.NoFallbackError}}let K=null;!I||v.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===v.isDev||!I,M=I&&!L;G&&F&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,h.getTracer)(),P=O.getActiveScopeSpan(),Q={params:w,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,g.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,B)},sharedContext:{buildId:u}},R=new k.NodeNextRequest(a),S=new k.NodeNextResponse(b),T=l.NextRequestAdapter.fromNodeNextRequest(R,(0,l.signalFromNodeResponse)(b));try{let f=async a=>v.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),i=!!(0,g.getRequestMeta)(a,"minimalMode"),j=async g=>{var h,j;let k=async({previousCacheEntry:e})=>{try{if(!i&&C&&D&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await f(g);a.fetchMetrics=Q.renderOpts.fetchMetrics;let h=Q.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,o.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},l=await v.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:i});if(!I)return null;if((null==l||null==(h=l.value)?void 0:h.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return i&&I||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(m.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,n.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,o.I)(R,S,new Response(null,{status:500})),null}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{},99821:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>p,syncToCloud:()=>q});var d=c(45592),e=c(89718),f=c(54603),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k);let m=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);async function n(){return await (0,e.z9)()}async function o(a,b={},c=m){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}async function p(a){try{let{action:b}=await a.json(),c=await (0,f.Xj)();switch(b){case"enable":await (0,e.Xx)({cloudEnabled:!0});let g=await (0,e.getApiKeys)(),h=null;return 0===g.length&&(h=await (0,e.Iq)("Default Key",c)),r(c,h?.key,g);case"sync":{let a=await q(c);if(a.error)return d.NextResponse.json(a,{status:502});return d.NextResponse.json(a)}case"disable":return await (0,e.Xx)({cloudEnabled:!1}),s(c,a);case"check":return u();default:return d.NextResponse.json({error:"Invalid action"},{status:400})}}catch(a){return console.log("Cloud sync error:",a),d.NextResponse.json({error:a.message},{status:500})}}async function q(a,b=null){let c,d=await n();if(!d)return{error:"Cloud URL is not configured"};let f=await (0,e.getProviderConnections)(),g=await (0,e.OM)(),h=await (0,e.Uv)(),i=await (0,e.getApiKeys)();try{c=await o(`${d}/sync/${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:f,modelAliases:g,combos:h,apiKeys:i})})}catch(a){return{error:a?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!c.ok)return console.log("Cloud sync failed:",await c.text()),{error:"Cloud sync failed"};let j=await c.json();j.data&&j.data.providers&&await v(j.data.providers);let k={success:!0,message:"Synced successfully",changes:j.changes};return b&&(k.createdKey=b),k}async function r(a,b,c){let e=await q(a,b);if(e.error)return d.NextResponse.json(e,{status:502});let f=b||c[0]?.key;if(!f)return d.NextResponse.json({...e,verified:!1,verifyError:"No API key available"});try{let b=await n(),c=await o(`${b}/${a}/v1/verify`,{method:"GET",headers:{Authorization:`Bearer ${f}`,"Content-Type":"application/json"}});if(c.ok)return d.NextResponse.json({...e,verified:!0});return d.NextResponse.json({...e,verified:!1,verifyError:`Ping failed: ${c.status}`})}catch(a){return d.NextResponse.json({...e,verified:!1,verifyError:a.message})}}async function s(a,b){let c,e=await n();if(!e)return d.NextResponse.json({error:"Cloud URL is not configured"},{status:500});try{c=await o(`${e}/sync/${a}`,{method:"DELETE"})}catch(b){let a=b?.name==="AbortError";return d.NextResponse.json({error:a?"Cloud disable timeout":"Failed to reach cloud service"},{status:502})}if(!c.ok)return console.log("Cloud disable failed:",await c.text()),d.NextResponse.json({error:"Failed to disable cloud"},{status:502});let f=b.headers.get("host")||"localhost:20128";return await t(a,f,e),d.NextResponse.json({success:!0,message:"Cloud disabled"})}async function t(a,b,c){try{let d,e=j().join(l().homedir(),".claude","settings.json"),f=`${c}/${a}`,g=`http://${b}`;try{let a=await h().readFile(e,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return;throw a}let i=d.env?.ANTHROPIC_BASE_URL;if(!i||i!==f)return;d.env.ANTHROPIC_BASE_URL=g,await h().writeFile(e,JSON.stringify(d,null,2)),console.log(`Updated Claude CLI settings: ${f} â ${g}`)}catch(a){console.log("Failed to update Claude CLI settings:",a.message)}}async function u(){let a=await n();if(!a)return d.NextResponse.json({error:"Cloud URL is not configured"},{status:400});try{let b=await o(`${a}/health`,{method:"GET"},5e3);if(b.ok)return d.NextResponse.json({success:!0,message:"Worker is running"});return d.NextResponse.json({error:`Worker responded with ${b.status}`},{status:502})}catch(b){let a=b?.name==="AbortError";return d.NextResponse.json({error:a?"Worker request timeout":"Cannot reach worker"},{status:502})}}async function v(a){for(let b of(await (0,e.getProviderConnections)())){let c=a[b.id];if(c){if(new Date(c.updatedAt||0).getTime()>new Date(b.updatedAt||0).getTime()){let a={accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,providerSpecificData:c.providerSpecificData||b.providerSpecificData,testStatus:c.status||"active",lastError:c.lastError,lastErrorAt:c.lastErrorAt,errorCode:c.errorCode,rateLimitedUntil:c.rateLimitedUntil,updatedAt:c.updatedAt};await (0,e.rj)(b.id,a)}}}}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5270,9718],()=>b(b.s=2348));module.exports=c})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/cloud/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"4809":{"*":{"id":"87226","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16183":{"*":{"id":"90587","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"91809","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"38982":{"*":{"id":"31941","name":"*","chunks":[],"async":false}},"39378":{"*":{"id":"89890","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"76653","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"86209","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"55236","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"86739","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"14144","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"42196","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"43173","name":"*","chunks":[],"async":false}},"97162":{"*":{"id":"83380","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/Working/router4/app/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.js\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":35154,"name":"*","chunks":["8729","static/chunks/8729-44b4c78e001b2e25.js","7177","static/chunks/app/layout-a9ae8d014d5d7102.js"],"async":false},"/Users/Working/router4/app/src/app/globals.css":{"id":51743,"name":"*","chunks":["8729","static/chunks/8729-44b4c78e001b2e25.js","7177","static/chunks/app/layout-a9ae8d014d5d7102.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ThemeProvider.js":{"id":21110,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/app/dashboard/settings/pricing/page.js":{"id":87304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/callback/page.js":{"id":59884,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/landing/page.js":{"id":85941,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/login/page.js":{"id":83016,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/shared/components/Avatar.js":{"id":56319,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Badge.js":{"id":56061,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Button.js":{"id":92542,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Card.js":{"id":84588,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/CursorAuthModal.js":{"id":30815,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Footer.js":{"id":92173,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Header.js":{"id":74891,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Input.js":{"id":11910,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroAuthModal.js":{"id":61500,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/layouts/AuthLayout.js":{"id":91450,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/layouts/DashboardLayout.js":{"id":7648,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Loading.js":{"id":25086,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ManualConfigModal.js":{"id":28815,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Modal.js":{"id":81127,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ModelSelectModal.js":{"id":72908,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/OAuthModal.js":{"id":90882,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/RequestLogger.js":{"id":23615,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/SegmentedControl.js":{"id":28067,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Select.js":{"id":98,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Sidebar.js":{"id":92622,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ThemeToggle.js":{"id":38587,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Toggle.js":{"id":98542,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/UsageStats.js":{"id":4809,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js":{"id":95907,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js":{"id":39378,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/combos/page.js":{"id":47295,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/profile/page.js":{"id":64561,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/new/page.js":{"id":15615,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/[id]/page.js":{"id":97162,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/translator/page.js":{"id":69472,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/usage/page.js":{"id":38982,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/page.js":{"id":16183,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/Working/router4/app/src/":[],"/Users/Working/router4/app/src/app/layout":[{"inlined":false,"path":"static/css/6a76c1062906da03.css"}],"/Users/Working/router4/app/src/app/page":[],"/Users/Working/router4/app/src/app/(dashboard)/layout":[{"inlined":false,"path":"static/css/599369d853c61df7.css"}],"/Users/Working/router4/app/src/app/api/sync/cloud/route":[]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"4809":{"*":{"id":"2422","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16183":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"19083","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"38982":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"39378":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"38308","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"97162":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{var a={};a.id=2720,a.ids=[2720],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},40012:(a,b,c)=>{"use strict";c.d(b,{A:()=>k});var d=c(54603),e=c(89718);let f=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"http://localhost:20128";class g{constructor(a=null,b=15){this.machineId=a,this.intervalMinutes=b,this.intervalId=null}async initializeMachineId(){this.machineId||(this.machineId=await (0,d.Xj)())}async start(){this.intervalId||(await this.initializeMachineId(),setTimeout(()=>{this.syncWithRetry().catch(()=>{})},3e4),this.intervalId=setInterval(()=>{this.syncWithRetry().catch(()=>{})},60*this.intervalMinutes*1e3))}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}async syncWithRetry(a=1){for(let b=1;b<=a;b++)try{return await this.sync()}catch(d){if(b===a)return null;let c=Math.min(1e3*Math.pow(2,b),1e4);await new Promise(a=>setTimeout(a,c))}}async sync(){if(!await (0,e.Nx)())return null;await this.initializeMachineId();let a=await fetch(`${f}/api/sync/cloud`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:this.machineId,action:"sync"})});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Sync failed");return await a.json()}isRunning(){return null!==this.intervalId}}let h=null;async function i(a=null,b=15){return h||(h=new g(a,b)),h}async function j(){try{await (0,e.bI)();let a=await i(null,15);return await a.start(),a}catch(a){throw console.error("[CloudSync] Error initializing scheduler:",a),a}}a=c.hmd(a),c.c[c.s]===a&&j().catch(console.log);let k=j},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}},55089:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>z,POST:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(45592),w=c(40012);let x=!1;async function y(a){try{if(x)return v.NextResponse.json({message:"Cloud sync already initialized"});return await (0,w.A)(),x=!0,v.NextResponse.json({success:!0,message:"Cloud sync initialized successfully"})}catch(a){return console.log("Error initializing cloud sync:",a),v.NextResponse.json({error:"Failed to initialize cloud sync"},{status:500})}}async function z(a){return v.NextResponse.json({initialized:x,message:x?"Cloud sync is running":"Cloud sync not initialized"})}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/sync/initialize/route",pathname:"/api/sync/initialize",filename:"route",bundlePath:"app/api/sync/initialize/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/Working/router4/app/src/app/api/sync/initialize/route.js",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sync/initialize/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||A.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===A.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>A.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},l=await A.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5270,9718],()=>b(b.s=55089));module.exports=c})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/initialize/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"4809":{"*":{"id":"87226","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16183":{"*":{"id":"90587","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"91809","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"38982":{"*":{"id":"31941","name":"*","chunks":[],"async":false}},"39378":{"*":{"id":"89890","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"76653","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"86209","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"55236","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"86739","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"14144","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"42196","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"43173","name":"*","chunks":[],"async":false}},"97162":{"*":{"id":"83380","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/Working/router4/app/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.js\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":35154,"name":"*","chunks":["8729","static/chunks/8729-44b4c78e001b2e25.js","7177","static/chunks/app/layout-a9ae8d014d5d7102.js"],"async":false},"/Users/Working/router4/app/src/app/globals.css":{"id":51743,"name":"*","chunks":["8729","static/chunks/8729-44b4c78e001b2e25.js","7177","static/chunks/app/layout-a9ae8d014d5d7102.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ThemeProvider.js":{"id":21110,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/app/dashboard/settings/pricing/page.js":{"id":87304,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/callback/page.js":{"id":59884,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/landing/page.js":{"id":85941,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/login/page.js":{"id":83016,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/shared/components/Avatar.js":{"id":56319,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Badge.js":{"id":56061,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Button.js":{"id":92542,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Card.js":{"id":84588,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/CursorAuthModal.js":{"id":30815,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Footer.js":{"id":92173,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Header.js":{"id":74891,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Input.js":{"id":11910,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroAuthModal.js":{"id":61500,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/layouts/AuthLayout.js":{"id":91450,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/layouts/DashboardLayout.js":{"id":7648,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Loading.js":{"id":25086,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ManualConfigModal.js":{"id":28815,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Modal.js":{"id":81127,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ModelSelectModal.js":{"id":72908,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/OAuthModal.js":{"id":90882,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/RequestLogger.js":{"id":23615,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/SegmentedControl.js":{"id":28067,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Select.js":{"id":98,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Sidebar.js":{"id":92622,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/ThemeToggle.js":{"id":38587,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/Toggle.js":{"id":98542,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/shared/components/UsageStats.js":{"id":4809,"name":"*","chunks":["4335","static/chunks/c6123951-59125299ca0d7b46.js","600","static/chunks/600-3e3d52de0d15664e.js","1672","static/chunks/1672-4ed8fbaefe011b6e.js","8729","static/chunks/8729-44b4c78e001b2e25.js","5497","static/chunks/5497-825dd88e0a663cfe.js","9305","static/chunks/app/(dashboard)/layout-66d69a4ba6e79bd5.js"],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js":{"id":95907,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js":{"id":39378,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/combos/page.js":{"id":47295,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/profile/page.js":{"id":64561,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/new/page.js":{"id":15615,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/[id]/page.js":{"id":97162,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/translator/page.js":{"id":69472,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/usage/page.js":{"id":38982,"name":"*","chunks":[],"async":false},"/Users/Working/router4/app/src/app/(dashboard)/dashboard/providers/page.js":{"id":16183,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/Working/router4/app/src/":[],"/Users/Working/router4/app/src/app/layout":[{"inlined":false,"path":"static/css/6a76c1062906da03.css"}],"/Users/Working/router4/app/src/app/page":[],"/Users/Working/router4/app/src/app/(dashboard)/layout":[{"inlined":false,"path":"static/css/599369d853c61df7.css"}],"/Users/Working/router4/app/src/app/api/sync/initialize/route":[]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"4809":{"*":{"id":"2422","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16183":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"19083","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"38982":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"39378":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"38308","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"97162":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1638,exports.ids=[1638],exports.modules={2525:(a,b,c)=>{c.d(b,{d_:()=>i,mA:()=>h});var d=c(89718);let e={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",cursor:"cursor"};function f(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}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(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}(c.model,d);return g||{provider:"openai",model:c.model}}async function h(a){let b=f(a);if(!b.isAlias){if(b.provider===b.providerAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===b.providerAlias);if(a)return{provider:a.id,model:b.model};let c=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===b.providerAlias);if(c)return{provider:c.id,model:b.model}}return{provider:b.provider,model:b.model}}return g(a,d.OM)}async function i(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] đ [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] âšī¸ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] â [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] đĨ ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] đ [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},12557:(a,b,c)=>{c.d(b,{AO:()=>g,Qo:()=>j,UY:()=>i,hk:()=>f,vp:()=>h});var d=c(2255);function e(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function f(a,b,c=0){if(b){let a=("string"==typeof b?b:JSON.stringify(b)).toLowerCase();if(a.includes("no credentials"))return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:d.Bm.requestNotAllowed};if(a.includes("rate limit")||a.includes("too many requests")||a.includes("quota exceeded")||a.includes("capacity")||a.includes("overloaded")){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}}if(a===d.gx.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:d.Bm.unauthorized};if(a===d.gx.PAYMENT_REQUIRED||a===d.gx.FORBIDDEN)return{shouldFallback:!0,cooldownMs:d.Bm.paymentRequired};if(a===d.gx.NOT_FOUND)return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a===d.gx.RATE_LIMITED){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}return[d.gx.NOT_ACCEPTABLE,d.gx.REQUEST_TIMEOUT,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT].includes(a),{shouldFallback:!0,cooldownMs:d.Bm.transient}}function g(a){return!!a&&new Date(a).getTime()>Date.now()}function h(a){return new Date(Date.now()+a).toISOString()}function i(a){let b=null,c=Date.now();for(let d of a){if(!d.rateLimitedUntil)continue;let a=new Date(d.rateLimitedUntil).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function j(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},19225:(a,b,c)=>{a.exports=c(44870)},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(2255);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",e=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let g=("string"==typeof c?c:JSON.stringify(c))||d.O[a.status]||`Upstream error: ${a.status}`;return"antigravity"===b&&429===a.status&&(e=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(g)),{statusCode:a.status,message:g,retryAfterMs:e}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}},67828:(a,b,c)=>{c.d(b,{eU:()=>i,vN:()=>h});var d=c(7803),e=c(89718),f=c(8590);let g=f.oD;async function h(a,b){try{let c={};b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.expiresIn&&(c.expiresAt=new Date(Date.now()+1e3*b.expiresIn).toISOString(),c.expiresIn=b.expiresIn),b.providerSpecificData&&(c.providerSpecificData=b.providerSpecificData);let f=await (0,e.rj)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function i(a,b){let c={...b};if(c.expiresAt){let b=new Date(c.expiresAt).getTime(),e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c,(0,f.iD)(a,g,d));i&&i.accessToken&&(await h(c.connectionId,i),c={...c,accessToken:i.accessToken,refreshToken:i.refreshToken||c.refreshToken,expiresAt:i.expiresIn?new Date(Date.now()+1e3*i.expiresIn).toISOString():c.expiresAt})}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt,e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c.accessToken,(0,f.jR)(g,d));i&&(await h(c.connectionId,{providerSpecificData:{...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt}}),c.providerSpecificData={...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt})}}return c}},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(89718),e=c(12557),f=c(75681),g=c(7803);let h=Promise.resolve(),i=new Set(["antigravity"]),j=new Map;function k(a,b){if(!a||!b)return!1;let c=`${a}:${b}`,d=j.get(c);return!!d&&(d>Date.now()||(j.delete(c),!1))}async function l(a,b=null,c=null){let j,m=h;h=new Promise(a=>{j=a});try{let h;await m;let j=(0,f.rs)(a),l=await (0,d.getProviderConnections)({provider:j,isActive:!0});if(g.debug("AUTH",`${a} | total connections: ${l.length}, excludeId: ${b||"none"}, model: ${c||"any"}`),0===l.length){let b=await (0,d.getProviderConnections)({provider:j});if(g.debug("AUTH",`${a} | all connections (incl inactive): ${b.length}`),b.length>0){let c=(0,e.UY)(b);if(c)return g.warn("AUTH",`${a} | all ${b.length} accounts rate limited (${(0,e.Qo)(c)})`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,e.Qo)(c)};g.warn("AUTH",`${a} | ${b.length} accounts found but none active`),b.forEach(a=>{g.debug("AUTH",` â ${a.id?.slice(0,8)} | isActive=${a.isActive} | rateLimitedUntil=${a.rateLimitedUntil||"none"} | testStatus=${a.testStatus}`)})}return g.warn("AUTH",`No credentials for ${a}`),null}let n=i.has(a),o=l.filter(a=>!(b&&a.id===b||(0,e.AO)(a.rateLimitedUntil)||n&&c&&k(a.id,c)));if(g.debug("AUTH",`${a} | available: ${o.length}/${l.length}`),l.forEach(a=>{let d=b&&a.id===b,f=(0,e.AO)(a.rateLimitedUntil),h=n&&c&&k(a.id,c);(d||f||h)&&g.debug("AUTH",` â ${a.id?.slice(0,8)} | ${d?"excluded":""} ${f?`rateLimited until ${a.rateLimitedUntil}`:""} ${h?`modelLocked(${c})`:""}`)}),0===o.length){let b=(0,e.UY)(l);if(b){let c=l.filter(a=>a.rateLimitedUntil&&new Date(a.rateLimitedUntil).getTime()>Date.now()).sort((a,b)=>new Date(a.rateLimitedUntil)-new Date(b.rateLimitedUntil))[0];return g.warn("AUTH",`${a} | all ${l.length} active accounts rate limited (${(0,e.Qo)(b)}) | lastErrorCode=${c?.errorCode}, lastError=${c?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:b,retryAfterHuman:(0,e.Qo)(b),lastError:c?.lastError||null,lastErrorCode:c?.errorCode||null}}if(n&&c)return g.warn("AUTH",`${a} | all accounts model-locked for ${c}`),{allRateLimited:!0,retryAfter:new Date(Date.now()+6e4).toISOString(),retryAfterHuman:"reset after 1m",lastError:`All accounts rate limited for model ${c}`};return g.warn("AUTH",`${a} | all ${l.length} accounts unavailable`),null}let p=await (0,d.getSettings)(),q=p.fallbackStrategy||"fill-first";if("round-robin"===q){let a=p.stickyRoundRobinLimit||3,b=[...o].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],c=b?.consecutiveUseCount||0;b&&b.lastUsedAt&&c<a?(h=b,await (0,d.rj)(h.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(h.consecutiveUseCount||0)+1})):(h=[...o].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.rj)(h.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else h=o[0];return{apiKey:h.apiKey,accessToken:h.accessToken,refreshToken:h.refreshToken,projectId:h.projectId,copilotToken:h.providerSpecificData?.copilotToken,providerSpecificData:h.providerSpecificData,connectionId:h.id,testStatus:h.testStatus,lastError:h.lastError,rateLimitedUntil:h.rateLimitedUntil}}finally{j&&j()}}async function m(a,b,c,f=null,h=null){let k=(await (0,d.getProviderConnections)({provider:f})).find(b=>b.id===a),l=k?.backoffLevel||0,{shouldFallback:n,cooldownMs:o,newBackoffLevel:p}=(0,e.hk)(b,c,l);if(!n)return{shouldFallback:!1,cooldownMs:0};if(i.has(f)&&429===b&&h)return!function(a,b,c){if(!a||!b)return;let d=`${a}:${b}`;j.set(d,Date.now()+c),g.warn("AUTH",`Model lock: ${b} on ${a.slice(0,8)} for ${Math.round(c/1e3)}s`)}(a,h,o>0?o:3e5),{shouldFallback:!0,cooldownMs:0};let q=(0,e.vp)(o),r="string"==typeof c?c.slice(0,100):"Provider error";return await (0,d.rj)(a,{rateLimitedUntil:q,testStatus:"unavailable",lastError:r,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??l}),f&&b&&r&&console.error(`â ${f} [${b}]: ${r}`),{shouldFallback:!0,cooldownMs:o}}async function n(a,b){("unavailable"===b.testStatus||b.lastError||b.rateLimitedUntil)&&(await (0,d.rj)(a,{testStatus:"active",lastError:null,lastErrorAt:null,rateLimitedUntil:null,backoffLevel:0}),g.info("AUTH",`Account ${a.slice(0,8)} error cleared`))}function o(a){let b=a.headers.get("Authorization");return b?.startsWith("Bearer ")?b.slice(7):null}async function p(a){return!!a&&await (0,d.ek)(a)}},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()}}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=8647,exports.ids=[8647],exports.modules={54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}},66811:(a,b,c)=>{"use strict";c.d(b,{F:()=>m});var d=c(89718),e=c(54603),f=c(99821),g=c(75681),h=c(92990);let i={claude:{checkExpiry:!0},codex:{checkExpiry:!0,refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"9Router",Accept:"application/vnd.github+json"}},iflow:{url:"https://iflow.cn/api/oauth/getUserInfo",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},qwen:{url:"https://portal.qwen.ai/v1/models",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},kiro:{checkExpiry:!0,refreshable:!0}};async function j(a){let b=a.provider,c=a.refreshToken;if(!c)return null;try{if("gemini-cli"===b||"antigravity"===b){let a="gemini-cli"===b?h.LT:h.YT,d=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:a.clientId,client_secret:a.clientSecret,grant_type:"refresh_token",refresh_token:c})});if(!d.ok)return null;let e=await d.json();return{accessToken:e.access_token,expiresIn:e.expires_in,refreshToken:e.refresh_token||c}}if("codex"===b){let a=await fetch(h.DI.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:h.DI.clientId,refresh_token:c})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("kiro"===b){let{clientId:b,clientSecret:d,region:e}=a;if(b&&d){let a=`https://oidc.${e||"us-east-1"}.amazonaws.com/token`,f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:b,clientSecret:d,refreshToken:c,grantType:"refresh_token"})});if(!f.ok)return null;let g=await f.json();return{accessToken:g.accessToken,expiresIn:g.expiresIn||3600,refreshToken:g.refreshToken||c}}let f=await fetch(h.Tx.socialRefreshUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:c})});if(!f.ok)return null;let g=await f.json();return{accessToken:g.accessToken,expiresIn:g.expiresIn||3600,refreshToken:g.refreshToken||c}}return null}catch(a){return console.log(`Error refreshing ${b} token:`,a.message),null}}async function k(a){var b;let c=i[a.provider];if(!c)return{valid:!1,error:"Provider test not supported",refreshed:!1};if(!a.accessToken)return{valid:!1,error:"No access token",refreshed:!1};let d=a.accessToken,e=!1,f=null,g=!!(b=a).expiresAt&&new Date(b.expiresAt).getTime()<=Date.now()+3e5;if(c.refreshable&&g&&a.refreshToken){let b=await j(a);if(!b)return{valid:!1,error:"Token expired and refresh failed",refreshed:!1};d=b.accessToken,e=!0,f=b}if(c.checkExpiry)return e?{valid:!0,error:null,refreshed:e,newTokens:f}:g?{valid:!1,error:"Token expired",refreshed:!1}:{valid:!0,error:null,refreshed:!1,newTokens:null};try{let b={[c.authHeader]:`${c.authPrefix}${d}`,...c.extraHeaders},g=await fetch(c.url,{method:c.method,headers:b});if(g.ok)return{valid:!0,error:null,refreshed:e,newTokens:f};if(401===g.status&&c.refreshable&&!e&&a.refreshToken){let b=await j(a);if(b&&(await fetch(c.url,{method:c.method,headers:{[c.authHeader]:`${c.authPrefix}${b.accessToken}`,...c.extraHeaders}})).ok)return{valid:!0,error:null,refreshed:!0,newTokens:b};return{valid:!1,error:"Token invalid or revoked",refreshed:!1}}if(401===g.status)return{valid:!1,error:"Token invalid or revoked",refreshed:e};if(403===g.status)return{valid:!1,error:"Access denied",refreshed:e};return{valid:!1,error:`API returned ${g.status}`,refreshed:e}}catch(a){return{valid:!1,error:a.message,refreshed:e}}}async function l(a){if((0,g.mq)(a.provider)){let b=a.providerSpecificData?.baseUrl;if(!b)return{valid:!1,error:"Missing base URL"};try{let c=await fetch(`${b.replace(/\/$/,"")}/models`,{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:c.ok,error:c.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}if((0,g.gb)(a.provider)){let b=a.providerSpecificData?.baseUrl;if(!b)return{valid:!1,error:"Missing base URL"};try{(b=b.replace(/\/$/,"")).endsWith("/messages")&&(b=b.slice(0,-9));let c=await fetch(`${b}/models`,{headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${a.apiKey}`}});return{valid:c.ok,error:c.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}try{switch(a.provider){case"openai":{let b=await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"anthropic":{let b=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})}),c=401!==b.status;return{valid:c,error:c?null:"Invalid API key"}}case"gemini":{let b=await fetch(`https://generativelanguage.googleapis.com/v1/models?key=${a.apiKey}`);return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"openrouter":{let b=await fetch("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"glm":{let b=await fetch("https://api.z.ai/api/anthropic/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})}),c=401!==b.status&&403!==b.status;return{valid:c,error:c?null:"Invalid API key"}}case"glm-cn":{let b=await fetch("https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})}),c=401!==b.status&&403!==b.status;return{valid:c,error:c?null:"Invalid API key"}}case"minimax":case"minimax-cn":{let b=await fetch({minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages"}[a.provider],{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"minimax-m2",max_tokens:1,messages:[{role:"user",content:"test"}]})}),c=401!==b.status&&403!==b.status;return{valid:c,error:c?null:"Invalid API key"}}case"kimi":{let b=await fetch("https://api.kimi.com/coding/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"kimi-latest",max_tokens:1,messages:[{role:"user",content:"test"}]})}),c=401!==b.status&&403!==b.status;return{valid:c,error:c?null:"Invalid API key"}}case"deepseek":{let b=await fetch("https://api.deepseek.com/models",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"groq":{let b=await fetch("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"mistral":{let b=await fetch("https://api.mistral.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"xai":{let b=await fetch("https://api.x.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}default:return{valid:!1,error:"Provider test not supported"}}}catch(a){return{valid:!1,error:a.message}}}async function m(a){let b,c=await (0,d.Mc)(a);if(!c)return{valid:!1,error:"Connection not found",latencyMs:0,testedAt:new Date().toISOString()};let g=Date.now();b="apikey"===c.authType?await l(c):await k(c);let h=Date.now()-g,i={testStatus:b.valid?"active":"error",lastError:b.valid?null:b.error,lastErrorAt:b.valid?null:new Date().toISOString()};if(b.refreshed&&b.newTokens&&(i.accessToken=b.newTokens.accessToken,b.newTokens.refreshToken&&(i.refreshToken=b.newTokens.refreshToken),b.newTokens.expiresIn&&(i.expiresAt=new Date(Date.now()+1e3*b.newTokens.expiresIn).toISOString())),await (0,d.rj)(a,i),b.refreshed)try{if(await (0,d.Nx)()){let a=await (0,e.Xj)();await (0,f.syncToCloud)(a)}}catch(a){console.log("Error syncing to cloud after token refresh:",a)}return{valid:b.valid,error:b.error,latencyMs:h,testedAt:new Date().toISOString()}}},75681:(a,b,c)=>{"use strict";c.d(b,{DI:()=>h,IS:()=>d,JH:()=>g,Q2:()=>k,fg:()=>f,gb:()=>j,mq:()=>i,rs:()=>m,zN:()=>e,zt:()=>l});let d={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},e={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"}},f={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"}},g="openai-compatible-",h="anthropic-compatible-";function i(a){return"string"==typeof a&&a.startsWith(g)}function j(a){return"string"==typeof a&&a.startsWith(h)}let k={...d,...e,...f};function l(a){for(let b of Object.values(k))if(b.alias===a||b.id===a)return b;return null}function m(a){let b=l(a);return b?.id||a}Object.values(k).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(k).reduce((a,b)=>(a[b.id]=b.alias,a),{})},78335:()=>{},92990:(a,b,c)=>{"use strict";c.d(b,{DI:()=>g,Hp:()=>i,LT:()=>h,MZ:()=>q,Nu:()=>m,OV:()=>f,Tx:()=>n,WN:()=>o,YT:()=>k,ZL:()=>j,cD:()=>l,lB:()=>r,t:()=>p});var d=c(21820);function e(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let f={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://console.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},g={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},h={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},i={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},j={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},k={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:e(),pluginType:2})};function l(){return{ideType:9,platform:e(),pluginType:2}}let m={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},n={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},o={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"0.48.6",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},p={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},q={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},r={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},96487:()=>{},99821:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>p,syncToCloud:()=>q});var d=c(45592),e=c(89718),f=c(54603),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k);let m=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);async function n(){return await (0,e.z9)()}async function o(a,b={},c=m){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}async function p(a){try{let{action:b}=await a.json(),c=await (0,f.Xj)();switch(b){case"enable":await (0,e.Xx)({cloudEnabled:!0});let g=await (0,e.getApiKeys)(),h=null;return 0===g.length&&(h=await (0,e.Iq)("Default Key",c)),r(c,h?.key,g);case"sync":{let a=await q(c);if(a.error)return d.NextResponse.json(a,{status:502});return d.NextResponse.json(a)}case"disable":return await (0,e.Xx)({cloudEnabled:!1}),s(c,a);case"check":return u();default:return d.NextResponse.json({error:"Invalid action"},{status:400})}}catch(a){return console.log("Cloud sync error:",a),d.NextResponse.json({error:a.message},{status:500})}}async function q(a,b=null){let c,d=await n();if(!d)return{error:"Cloud URL is not configured"};let f=await (0,e.getProviderConnections)(),g=await (0,e.OM)(),h=await (0,e.Uv)(),i=await (0,e.getApiKeys)();try{c=await o(`${d}/sync/${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:f,modelAliases:g,combos:h,apiKeys:i})})}catch(a){return{error:a?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!c.ok)return console.log("Cloud sync failed:",await c.text()),{error:"Cloud sync failed"};let j=await c.json();j.data&&j.data.providers&&await v(j.data.providers);let k={success:!0,message:"Synced successfully",changes:j.changes};return b&&(k.createdKey=b),k}async function r(a,b,c){let e=await q(a,b);if(e.error)return d.NextResponse.json(e,{status:502});let f=b||c[0]?.key;if(!f)return d.NextResponse.json({...e,verified:!1,verifyError:"No API key available"});try{let b=await n(),c=await o(`${b}/${a}/v1/verify`,{method:"GET",headers:{Authorization:`Bearer ${f}`,"Content-Type":"application/json"}});if(c.ok)return d.NextResponse.json({...e,verified:!0});return d.NextResponse.json({...e,verified:!1,verifyError:`Ping failed: ${c.status}`})}catch(a){return d.NextResponse.json({...e,verified:!1,verifyError:a.message})}}async function s(a,b){let c,e=await n();if(!e)return d.NextResponse.json({error:"Cloud URL is not configured"},{status:500});try{c=await o(`${e}/sync/${a}`,{method:"DELETE"})}catch(b){let a=b?.name==="AbortError";return d.NextResponse.json({error:a?"Cloud disable timeout":"Failed to reach cloud service"},{status:502})}if(!c.ok)return console.log("Cloud disable failed:",await c.text()),d.NextResponse.json({error:"Failed to disable cloud"},{status:502});let f=b.headers.get("host")||"localhost:20128";return await t(a,f,e),d.NextResponse.json({success:!0,message:"Cloud disabled"})}async function t(a,b,c){try{let d,e=j().join(l().homedir(),".claude","settings.json"),f=`${c}/${a}`,g=`http://${b}`;try{let a=await h().readFile(e,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return;throw a}let i=d.env?.ANTHROPIC_BASE_URL;if(!i||i!==f)return;d.env.ANTHROPIC_BASE_URL=g,await h().writeFile(e,JSON.stringify(d,null,2)),console.log(`Updated Claude CLI settings: ${f} â ${g}`)}catch(a){console.log("Failed to update Claude CLI settings:",a.message)}}async function u(){let a=await n();if(!a)return d.NextResponse.json({error:"Cloud URL is not configured"},{status:400});try{let b=await o(`${a}/health`,{method:"GET"},5e3);if(b.ok)return d.NextResponse.json({success:!0,message:"Worker is running"});return d.NextResponse.json({error:`Worker responded with ${b.status}`},{status:502})}catch(b){let a=b?.name==="AbortError";return d.NextResponse.json({error:a?"Worker request timeout":"Cannot reach worker"},{status:502})}}async function v(a){for(let b of(await (0,e.getProviderConnections)())){let c=a[b.id];if(c){if(new Date(c.updatedAt||0).getTime()>new Date(b.updatedAt||0).getTime()){let a={accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,providerSpecificData:c.providerSpecificData||b.providerSpecificData,testStatus:c.status||"active",lastError:c.lastError,lastErrorAt:c.lastErrorAt,errorCode:c.errorCode,rateLimitedUntil:c.rateLimitedUntil,updatedAt:c.updatedAt};await (0,e.rj)(b.id,a)}}}}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,s,t,a,r,i,n){return{__rewrites:{afterFiles:[{has:t,source:"/v1/v1/:path*",destination:a},{has:t,source:"/v1/v1",destination:r},{has:t,source:"/codex/:path*",destination:"/api/v1/responses"},{has:t,source:"/v1/:path*",destination:a},{has:t,source:"/v1",destination:r}],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:73,errorRate:1e-4,numBits:1400,numHashes:14,bitArray:[0,0,1,1,0,0,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,1,0,0,1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,0,1,1,1,0,1,0,1,0,0,1,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,0,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0,0,1,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,0,0,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,1,0,0,0,1,1,0,1,0,0,1,1,0,1,0,1,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,1,0,1,1,1,0,0,1,1,1,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,1,0,1,1,1,1,0,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,1,0,0,1,0,1,1,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,1,1,1,0,1,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,0,1,0,1,0,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,1,1,0,1,1,1,1,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,1,1,0,1,0,0,1,0,1,0,1,0,0,1,1,1,1,0,1,0,1,0,0,1,1,1,0,1,0,0,0,1,1,1,0,1,1,0,1,1,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,0,0,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,0,0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,0,0,1,1,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,1,1,1,0,1,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,1,1,0,0,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,0,0,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,0,1,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,1,0,0]},__routerFilterDynamic:{numItems:8,errorRate:1e-4,numBits:154,numHashes:14,bitArray:[1,1,1,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,1,1,1,1,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1,0,1]},sortedPages:["/_app"]}}(0,0,void 0,"/api/v1/:path*","/api/v1",0,0),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|