ktrouter 1.2.3 → 1.2.5
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 +7 -7
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.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_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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +3 -3
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- 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/cli-tools/all-statuses/route.js +4 -4
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/opencode-settings/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/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/sync-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/video/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- 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 +3 -3
- package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -3
- 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/basic-chat.html +1 -1
- package/app/.next/server/app/dashboard/basic-chat.rsc +5 -5
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.rsc +5 -5
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +5 -5
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +5 -5
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +6 -6
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +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 +3 -3
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- 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/skills.html +1 -1
- package/app/.next/server/app/dashboard/skills.rsc +5 -5
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
- 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 +3 -3
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- 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 +3 -3
- package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -3
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +4 -4
- package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +3 -3
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +7 -7
- package/app/.next/server/chunks/2029.js +1 -1
- package/app/.next/server/chunks/4746.js +1 -1
- package/app/.next/server/chunks/4820.js +1 -1
- package/app/.next/server/chunks/5718.js +6 -6
- package/app/.next/server/chunks/6750.js +1 -1
- package/app/.next/server/chunks/7482.js +2 -2
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{1321-b8b0579bc5ef5306.js → 1321-3eebd6a4eea851e4.js} +1 -1
- package/app/.next-cli-build/static/chunks/{1321-b8b0579bc5ef5306.js → 1321-3eebd6a4eea851e4.js} +1 -1
- package/app/node_modules/@swc/helpers/LICENSE +201 -0
- package/app/node_modules/@swc/helpers/_/_apply_decorated_descriptor/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_apply_decs_2203_r/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_array_like_to_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_array_with_holes/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_array_without_holes/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_assert_this_initialized/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_async_generator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_async_generator_delegate/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_async_iterator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_async_to_generator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_await_async_generator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_await_value/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_call_super/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_check_private_redeclaration/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_destructure/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_set/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_apply_descriptor_update/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_call_check/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_check_private_static_access/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_check_private_static_field_descriptor/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_extract_field_descriptor/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_name_tdz_error/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_destructure/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_init/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_set/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_field_update/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_init/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_private_method_set/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_destructure/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_spec_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_spec_set/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_field_update/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_class_static_private_method_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_construct/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_create_class/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_create_for_of_iterator_helper_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_create_super/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_decorate/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_defaults/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_define_enumerable_properties/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_define_property/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_dispose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_export_star/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_extends/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_get/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_get_prototype_of/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_identity/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_inherits/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_inherits_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_initializer_define_property/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_initializer_warning_helper/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_instanceof/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_is_native_function/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_is_native_reflect_construct/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array_limit/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_iterable_to_array_limit_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_jsx/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_new_arrow_check/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_non_iterable_rest/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_non_iterable_spread/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_object_destructuring_empty/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_object_spread/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_object_spread_props/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_object_without_properties/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_object_without_properties_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_possible_constructor_return/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_read_only_error/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_set/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_set_prototype_of/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_skip_first_generator_next/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_sliced_to_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_sliced_to_array_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_super_prop_base/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_tagged_template_literal/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_tagged_template_literal_loose/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_throw/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_to_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_to_consumable_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_to_primitive/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_to_property_key/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_add_disposable_resource/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_decorate/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_dispose_resources/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_generator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_metadata/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_param/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_ts_values/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_type_of/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_unsupported_iterable_to_array/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_update/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_using/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_using_ctx/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_wrap_async_generator/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_wrap_native_super/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/_write_only_error/package.json +4 -0
- package/app/node_modules/@swc/helpers/_/index/package.json +4 -0
- package/app/node_modules/@swc/helpers/cjs/_apply_decorated_descriptor.cjs +35 -0
- package/app/node_modules/@swc/helpers/cjs/_apply_decs_2203_r.cjs +550 -0
- package/app/node_modules/@swc/helpers/cjs/_array_like_to_array.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_array_with_holes.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_array_without_holes.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_assert_this_initialized.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_async_generator.cjs +78 -0
- package/app/node_modules/@swc/helpers/cjs/_async_generator_delegate.cjs +49 -0
- package/app/node_modules/@swc/helpers/cjs/_async_iterator.cjs +46 -0
- package/app/node_modules/@swc/helpers/cjs/_async_to_generator.cjs +33 -0
- package/app/node_modules/@swc/helpers/cjs/_await_async_generator.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_await_value.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_call_super.cjs +19 -0
- package/app/node_modules/@swc/helpers/cjs/_check_private_redeclaration.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_destructure.cjs +25 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_get.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_set.cjs +15 -0
- package/app/node_modules/@swc/helpers/cjs/_class_apply_descriptor_update.cjs +30 -0
- package/app/node_modules/@swc/helpers/cjs/_class_call_check.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_class_check_private_static_access.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_class_check_private_static_field_descriptor.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_extract_field_descriptor.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_name_tdz_error.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_destructure.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_get.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_init.cjs +9 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_set.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_field_update.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_get.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_init.cjs +9 -0
- package/app/node_modules/@swc/helpers/cjs/_class_private_method_set.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_destructure.cjs +13 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_get.cjs +13 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_set.cjs +14 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_field_update.cjs +13 -0
- package/app/node_modules/@swc/helpers/cjs/_class_static_private_method_get.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_construct.cjs +22 -0
- package/app/node_modules/@swc/helpers/cjs/_create_class.cjs +20 -0
- package/app/node_modules/@swc/helpers/cjs/_create_for_of_iterator_helper_loose.cjs +24 -0
- package/app/node_modules/@swc/helpers/cjs/_create_super.cjs +23 -0
- package/app/node_modules/@swc/helpers/cjs/_decorate.cjs +270 -0
- package/app/node_modules/@swc/helpers/cjs/_defaults.cjs +15 -0
- package/app/node_modules/@swc/helpers/cjs/_define_enumerable_properties.cjs +26 -0
- package/app/node_modules/@swc/helpers/cjs/_define_property.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_dispose.cjs +43 -0
- package/app/node_modules/@swc/helpers/cjs/_export_star.cjs +17 -0
- package/app/node_modules/@swc/helpers/cjs/_extends.cjs +15 -0
- package/app/node_modules/@swc/helpers/cjs/_get.cjs +23 -0
- package/app/node_modules/@swc/helpers/cjs/_get_prototype_of.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_identity.cjs +7 -0
- package/app/node_modules/@swc/helpers/cjs/_inherits.cjs +14 -0
- package/app/node_modules/@swc/helpers/cjs/_inherits_loose.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_initializer_define_property.cjs +13 -0
- package/app/node_modules/@swc/helpers/cjs/_initializer_warning_helper.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_instanceof.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_is_native_function.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_is_native_reflect_construct.cjs +18 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array_limit.cjs +31 -0
- package/app/node_modules/@swc/helpers/cjs/_iterable_to_array_limit_loose.cjs +17 -0
- package/app/node_modules/@swc/helpers/cjs/_jsx.cjs +28 -0
- package/app/node_modules/@swc/helpers/cjs/_new_arrow_check.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_non_iterable_rest.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_non_iterable_spread.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_object_destructuring_empty.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_object_spread.cjs +25 -0
- package/app/node_modules/@swc/helpers/cjs/_object_spread_props.cjs +30 -0
- package/app/node_modules/@swc/helpers/cjs/_object_without_properties.cjs +23 -0
- package/app/node_modules/@swc/helpers/cjs/_object_without_properties_loose.cjs +18 -0
- package/app/node_modules/@swc/helpers/cjs/_possible_constructor_return.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_read_only_error.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_set.cjs +44 -0
- package/app/node_modules/@swc/helpers/cjs/_set_prototype_of.cjs +12 -0
- package/app/node_modules/@swc/helpers/cjs/_skip_first_generator_next.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_sliced_to_array.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_sliced_to_array_loose.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_super_prop_base.cjs +13 -0
- package/app/node_modules/@swc/helpers/cjs/_tagged_template_literal.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_throw.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/_to_array.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_to_consumable_array.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_to_primitive.cjs +18 -0
- package/app/node_modules/@swc/helpers/cjs/_to_property_key.cjs +11 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_add_disposable_resource.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_decorate.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_dispose_resources.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_generator.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_metadata.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_param.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_ts_values.cjs +3 -0
- package/app/node_modules/@swc/helpers/cjs/_type_of.cjs +8 -0
- package/app/node_modules/@swc/helpers/cjs/_unsupported_iterable_to_array.cjs +15 -0
- package/app/node_modules/@swc/helpers/cjs/_update.cjs +16 -0
- package/app/node_modules/@swc/helpers/cjs/_using.cjs +24 -0
- package/app/node_modules/@swc/helpers/cjs/_using_ctx.cjs +75 -0
- package/app/node_modules/@swc/helpers/cjs/_wrap_async_generator.cjs +10 -0
- package/app/node_modules/@swc/helpers/cjs/_wrap_native_super.cjs +28 -0
- package/app/node_modules/@swc/helpers/cjs/_write_only_error.cjs +6 -0
- package/app/node_modules/@swc/helpers/cjs/index.cjs +423 -0
- package/app/node_modules/@swc/helpers/esm/_apply_decorated_descriptor.js +33 -0
- package/app/node_modules/@swc/helpers/esm/_apply_decs_2203_r.js +548 -0
- package/app/node_modules/@swc/helpers/esm/_array_like_to_array.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_array_with_holes.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_array_without_holes.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_assert_this_initialized.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_async_generator.js +76 -0
- package/app/node_modules/@swc/helpers/esm/_async_generator_delegate.js +47 -0
- package/app/node_modules/@swc/helpers/esm/_async_iterator.js +44 -0
- package/app/node_modules/@swc/helpers/esm/_async_to_generator.js +31 -0
- package/app/node_modules/@swc/helpers/esm/_await_async_generator.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_await_value.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_call_super.js +17 -0
- package/app/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_destructure.js +23 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js +13 -0
- package/app/node_modules/@swc/helpers/esm/_class_apply_descriptor_update.js +28 -0
- package/app/node_modules/@swc/helpers/esm/_class_call_check.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_class_check_private_static_access.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_class_check_private_static_field_descriptor.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_name_tdz_error.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_destructure.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_get.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_init.js +7 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_loose_base.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_loose_key.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_set.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_field_update.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_get.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_init.js +7 -0
- package/app/node_modules/@swc/helpers/esm/_class_private_method_set.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_destructure.js +11 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_spec_get.js +11 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_spec_set.js +12 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_field_update.js +11 -0
- package/app/node_modules/@swc/helpers/esm/_class_static_private_method_get.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_construct.js +20 -0
- package/app/node_modules/@swc/helpers/esm/_create_class.js +18 -0
- package/app/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js +22 -0
- package/app/node_modules/@swc/helpers/esm/_create_super.js +21 -0
- package/app/node_modules/@swc/helpers/esm/_decorate.js +268 -0
- package/app/node_modules/@swc/helpers/esm/_defaults.js +13 -0
- package/app/node_modules/@swc/helpers/esm/_define_enumerable_properties.js +24 -0
- package/app/node_modules/@swc/helpers/esm/_define_property.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_dispose.js +41 -0
- package/app/node_modules/@swc/helpers/esm/_export_star.js +15 -0
- package/app/node_modules/@swc/helpers/esm/_extends.js +13 -0
- package/app/node_modules/@swc/helpers/esm/_get.js +21 -0
- package/app/node_modules/@swc/helpers/esm/_get_prototype_of.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_identity.js +5 -0
- package/app/node_modules/@swc/helpers/esm/_inherits.js +12 -0
- package/app/node_modules/@swc/helpers/esm/_inherits_loose.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_initializer_define_property.js +11 -0
- package/app/node_modules/@swc/helpers/esm/_initializer_warning_helper.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_instanceof.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/app/node_modules/@swc/helpers/esm/_is_native_function.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_is_native_reflect_construct.js +16 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array_limit.js +29 -0
- package/app/node_modules/@swc/helpers/esm/_iterable_to_array_limit_loose.js +15 -0
- package/app/node_modules/@swc/helpers/esm/_jsx.js +26 -0
- package/app/node_modules/@swc/helpers/esm/_new_arrow_check.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_non_iterable_rest.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_non_iterable_spread.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_object_destructuring_empty.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_object_spread.js +23 -0
- package/app/node_modules/@swc/helpers/esm/_object_spread_props.js +28 -0
- package/app/node_modules/@swc/helpers/esm/_object_without_properties.js +21 -0
- package/app/node_modules/@swc/helpers/esm/_object_without_properties_loose.js +16 -0
- package/app/node_modules/@swc/helpers/esm/_possible_constructor_return.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_read_only_error.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_set.js +42 -0
- package/app/node_modules/@swc/helpers/esm/_set_prototype_of.js +10 -0
- package/app/node_modules/@swc/helpers/esm/_skip_first_generator_next.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_sliced_to_array.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_sliced_to_array_loose.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_super_prop_base.js +11 -0
- package/app/node_modules/@swc/helpers/esm/_tagged_template_literal.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_throw.js +4 -0
- package/app/node_modules/@swc/helpers/esm/_to_array.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_to_consumable_array.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_to_primitive.js +16 -0
- package/app/node_modules/@swc/helpers/esm/_to_property_key.js +9 -0
- package/app/node_modules/@swc/helpers/esm/_ts_add_disposable_resource.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_decorate.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_dispose_resources.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_generator.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_metadata.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_param.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_ts_values.js +1 -0
- package/app/node_modules/@swc/helpers/esm/_type_of.js +6 -0
- package/app/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js +13 -0
- package/app/node_modules/@swc/helpers/esm/_update.js +14 -0
- package/app/node_modules/@swc/helpers/esm/_using.js +22 -0
- package/app/node_modules/@swc/helpers/esm/_using_ctx.js +73 -0
- package/app/node_modules/@swc/helpers/esm/_wrap_async_generator.js +8 -0
- package/app/node_modules/@swc/helpers/esm/_wrap_native_super.js +26 -0
- package/app/node_modules/@swc/helpers/esm/_write_only_error.js +4 -0
- package/app/node_modules/@swc/helpers/esm/index.js +106 -0
- package/app/node_modules/@swc/helpers/scripts/ast_grep.js +229 -0
- package/app/node_modules/@swc/helpers/scripts/build.js +121 -0
- package/app/node_modules/@swc/helpers/scripts/errors.js +1 -0
- package/app/node_modules/@swc/helpers/scripts/utils.js +3 -0
- package/app/node_modules/@swc/helpers/src/_apply_decorated_descriptor.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_apply_decs_2203_r.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_array_like_to_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_array_with_holes.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_array_without_holes.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_assert_this_initialized.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_async_generator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_async_generator_delegate.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_async_iterator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_async_to_generator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_await_async_generator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_await_value.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_call_super.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_check_private_redeclaration.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_destructure.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_set.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_apply_descriptor_update.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_call_check.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_check_private_static_access.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_check_private_static_field_descriptor.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_extract_field_descriptor.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_name_tdz_error.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_destructure.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_init.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_loose_base.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_loose_key.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_set.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_field_update.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_init.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_private_method_set.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_destructure.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_spec_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_spec_set.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_field_update.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_class_static_private_method_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_construct.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_create_class.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_create_for_of_iterator_helper_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_create_super.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_decorate.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_defaults.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_define_enumerable_properties.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_define_property.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_dispose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_export_star.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_extends.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_get.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_get_prototype_of.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_identity.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_inherits.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_inherits_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_initializer_define_property.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_initializer_warning_helper.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_instanceof.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_interop_require_default.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_interop_require_wildcard.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_is_native_function.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_is_native_reflect_construct.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array_limit.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_iterable_to_array_limit_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_jsx.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_new_arrow_check.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_non_iterable_rest.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_non_iterable_spread.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_object_destructuring_empty.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_object_spread.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_object_spread_props.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_object_without_properties.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_object_without_properties_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_possible_constructor_return.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_read_only_error.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_set.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_set_prototype_of.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_skip_first_generator_next.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_sliced_to_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_sliced_to_array_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_super_prop_base.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_tagged_template_literal.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_tagged_template_literal_loose.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_throw.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_to_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_to_consumable_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_to_primitive.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_to_property_key.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_add_disposable_resource.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_decorate.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_dispose_resources.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_generator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_metadata.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_param.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_ts_values.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_type_of.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_update.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_using.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_using_ctx.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_wrap_async_generator.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_wrap_native_super.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/_write_only_error.mjs +1 -0
- package/app/node_modules/@swc/helpers/src/index.mjs +1 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/node_modules/tls-client-node/bin/tls-client-windows-64-1.15.1.dll +0 -0
- /package/app/.next/static/{cnOXZvgBL0OIybR7tcBVQ → 7BTBL5GpW-v0RH8JGKfcn}/_buildManifest.js +0 -0
- /package/app/.next/static/{cnOXZvgBL0OIybR7tcBVQ → 7BTBL5GpW-v0RH8JGKfcn}/_ssgManifest.js +0 -0
- /package/app/.next-cli-build/static/{cnOXZvgBL0OIybR7tcBVQ → 7BTBL5GpW-v0RH8JGKfcn}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{cnOXZvgBL0OIybR7tcBVQ → 7BTBL5GpW-v0RH8JGKfcn}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4820,exports.ids=[4820],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>i,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>h,vQ:()=>g});var d=c(39006),e=c(75681),f=c(81329);let g={name:"KTRouter Proxy",description:"AI Infrastructure Management",version:d.rE},h={npmPackageName:"ktrouter",installCmd:"npm i -g ktrouter",installCmdLatest:"npm i -g ktrouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:3008},i={maxLines:200,pollIntervalMs:1e3},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},35024:(a,b,c)=>{c.d(b,{Ak:()=>i,xq:()=>h});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},f={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}(),"X-Stainless-Timeout":"600"},g="https://api.kimi.com/coding/v1/messages",h={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...f},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,d.platform)()}/${(0,d.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...e}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:g,format:"claude",headers:{...e}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...e}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...e}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"volcengine-ark":{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",format:"openai",headers:{}},byteplus:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",retry:{429:2},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},"kimi-coding":{baseUrl:g,format:"claude",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...e}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},commandcode:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",responsesUrl:"https://api.x.ai/v1/responses",format:"openai",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2"},opencode:{baseUrl:"https://opencode.ai",format:"openai",headers:{"x-opencode-client":"desktop"},noAuth:!0},"opencode-go":{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",format:"openai",headers:{}},"chatgpt-web":{baseUrl:"https://chatgpt.com/backend-api/f/conversation",format:"openai",authType:"cookie"},azure:{baseUrl:"",format:"openai",headers:{}},"cloudflare-ai":{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",format:"openai"},"xiaomi-mimo":{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",format:"openai"},"xiaomi-tokenplan":{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",format:"openai"},agentrouter:{baseUrl:"https://agentrouter.org/v1/messages",format:"claude",headers:{...f}},aimlapi:{baseUrl:"https://api.aimlapi.com/v1/chat/completions",format:"openai"},novita:{baseUrl:"https://api.novita.ai/v3/openai/chat/completions",format:"openai"},modal:{baseUrl:"https://api.modal.com/v1/chat/completions",format:"openai"},reka:{baseUrl:"https://api.reka.ai/v1/chat/completions",format:"openai"},nlpcloud:{baseUrl:"https://api.nlpcloud.io/v1/gpu/chatbot",format:"openai"},bazaarlink:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",format:"openai"},completions:{baseUrl:"https://completions.me/api/v1/chat/completions",format:"openai"},enally:{baseUrl:"https://ai.enally.in/v1/chat/completions",format:"openai",authHeader:"x-api-key"},freetheai:{baseUrl:"https://api.freetheai.xyz/v1/chat/completions",format:"openai"},llm7:{baseUrl:"https://api.llm7.io/v1/chat/completions",format:"openai"},lepton:{baseUrl:"https://api.lepton.ai/api/v1/chat/completions",format:"openai"},kluster:{baseUrl:"https://api.kluster.ai/v1/chat/completions",format:"openai"},ai21:{baseUrl:"https://api.ai21.com/studio/v1/chat/completions",format:"openai"},"inference-net":{baseUrl:"https://api.inference.net/v1/chat/completions",format:"openai"},predibase:{baseUrl:"https://serving.app.predibase.com/v1/chat/completions",format:"openai"},bytez:{baseUrl:"https://api.bytez.com/models/v2",format:"openai"},morph:{baseUrl:"https://api.morphllm.com/v1/chat/completions",format:"openai"},longcat:{baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",format:"openai"},puter:{baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",format:"openai"},uncloseai:{baseUrl:"https://hermes.ai.unturf.com/v1/chat/completions",format:"openai",noAuth:!0},scaleway:{baseUrl:"https://api.scaleway.ai/v1/chat/completions",format:"openai"},deepinfra:{baseUrl:"https://api.deepinfra.com/v1/openai/chat/completions",format:"openai"},sambanova:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",format:"openai"},nscale:{baseUrl:"https://inference.api.nscale.com/v1/chat/completions",format:"openai"},baseten:{baseUrl:"https://inference.baseten.co/v1/chat/completions",format:"openai"},publicai:{baseUrl:"https://api.publicai.co/v1/chat/completions",format:"openai"},"nous-research":{baseUrl:"https://inference-api.nousresearch.com/v1/chat/completions",format:"openai"},glhf:{baseUrl:"https://glhf.chat/api/openai/v1/chat/completions",format:"openai"},blackbox:{baseUrl:"https://api.blackbox.ai/chat/completions",format:"openai"}};function i(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}},39006:a=>{a.exports={rE:"1.2.3"}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
|
|
1
|
+
"use strict";exports.id=4820,exports.ids=[4820],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>i,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>h,vQ:()=>g});var d=c(39006),e=c(75681),f=c(81329);let g={name:"KTRouter Proxy",description:"AI Infrastructure Management",version:d.rE},h={npmPackageName:"ktrouter",installCmd:"npm i -g ktrouter",installCmdLatest:"npm i -g ktrouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:3008},i={maxLines:200,pollIntervalMs:1e3},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},35024:(a,b,c)=>{c.d(b,{Ak:()=>i,xq:()=>h});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},f={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}(),"X-Stainless-Timeout":"600"},g="https://api.kimi.com/coding/v1/messages",h={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...f},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,d.platform)()}/${(0,d.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...e}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:g,format:"claude",headers:{...e}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...e}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...e}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"volcengine-ark":{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",format:"openai",headers:{}},byteplus:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",retry:{429:2},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},"kimi-coding":{baseUrl:g,format:"claude",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...e}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},commandcode:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",responsesUrl:"https://api.x.ai/v1/responses",format:"openai",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2"},opencode:{baseUrl:"https://opencode.ai",format:"openai",headers:{"x-opencode-client":"desktop"},noAuth:!0},"opencode-go":{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",format:"openai",headers:{}},"chatgpt-web":{baseUrl:"https://chatgpt.com/backend-api/f/conversation",format:"openai",authType:"cookie"},azure:{baseUrl:"",format:"openai",headers:{}},"cloudflare-ai":{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",format:"openai"},"xiaomi-mimo":{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",format:"openai"},"xiaomi-tokenplan":{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",format:"openai"},agentrouter:{baseUrl:"https://agentrouter.org/v1/messages",format:"claude",headers:{...f}},aimlapi:{baseUrl:"https://api.aimlapi.com/v1/chat/completions",format:"openai"},novita:{baseUrl:"https://api.novita.ai/v3/openai/chat/completions",format:"openai"},modal:{baseUrl:"https://api.modal.com/v1/chat/completions",format:"openai"},reka:{baseUrl:"https://api.reka.ai/v1/chat/completions",format:"openai"},nlpcloud:{baseUrl:"https://api.nlpcloud.io/v1/gpu/chatbot",format:"openai"},bazaarlink:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",format:"openai"},completions:{baseUrl:"https://completions.me/api/v1/chat/completions",format:"openai"},enally:{baseUrl:"https://ai.enally.in/v1/chat/completions",format:"openai",authHeader:"x-api-key"},freetheai:{baseUrl:"https://api.freetheai.xyz/v1/chat/completions",format:"openai"},llm7:{baseUrl:"https://api.llm7.io/v1/chat/completions",format:"openai"},lepton:{baseUrl:"https://api.lepton.ai/api/v1/chat/completions",format:"openai"},kluster:{baseUrl:"https://api.kluster.ai/v1/chat/completions",format:"openai"},ai21:{baseUrl:"https://api.ai21.com/studio/v1/chat/completions",format:"openai"},"inference-net":{baseUrl:"https://api.inference.net/v1/chat/completions",format:"openai"},predibase:{baseUrl:"https://serving.app.predibase.com/v1/chat/completions",format:"openai"},bytez:{baseUrl:"https://api.bytez.com/models/v2",format:"openai"},morph:{baseUrl:"https://api.morphllm.com/v1/chat/completions",format:"openai"},longcat:{baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",format:"openai"},puter:{baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",format:"openai"},uncloseai:{baseUrl:"https://hermes.ai.unturf.com/v1/chat/completions",format:"openai",noAuth:!0},scaleway:{baseUrl:"https://api.scaleway.ai/v1/chat/completions",format:"openai"},deepinfra:{baseUrl:"https://api.deepinfra.com/v1/openai/chat/completions",format:"openai"},sambanova:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",format:"openai"},nscale:{baseUrl:"https://inference.api.nscale.com/v1/chat/completions",format:"openai"},baseten:{baseUrl:"https://inference.baseten.co/v1/chat/completions",format:"openai"},publicai:{baseUrl:"https://api.publicai.co/v1/chat/completions",format:"openai"},"nous-research":{baseUrl:"https://inference-api.nousresearch.com/v1/chat/completions",format:"openai"},glhf:{baseUrl:"https://glhf.chat/api/openai/v1/chat/completions",format:"openai"},blackbox:{baseUrl:"https://api.blackbox.ai/chat/completions",format:"openai"}};function i(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}},39006:a=>{a.exports={rE:"1.2.5"}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";exports.id=5718,exports.ids=[5718],exports.modules={8578:(a,b,c)=>{let d=c(33873),e=c(29021),f=c(15296),{MITM_DIR:g}=c(82193),h=d.join(g,"rootCA.key"),i=d.join(g,"rootCA.crt");function j(a){try{let b=f.pki.certificateFromPem(e.readFileSync(a,"utf8")),c=new Date(Date.now()+2592e6);return b.validity.notAfter<c}catch{return!0}}a.exports={generateRootCA:async function a(){let a=e.existsSync(h)&&e.existsSync(i);if(a&&!j(i))return console.log("✅ Root CA already exists"),{key:h,cert:i};if(a){console.log("\uD83D\uDD10 Root CA expired or expiring soon — regenerating...");try{e.unlinkSync(h)}catch{}try{e.unlinkSync(i)}catch{}}e.existsSync(g)||e.mkdirSync(g,{recursive:!0}),console.log("\uD83D\uDD10 Generating Root CA certificate...");let b=f.pki.rsa.generateKeyPair(2048),c=f.pki.createCertificate();c.publicKey=b.publicKey,c.serialNumber="01",c.validity.notBefore=new Date,c.validity.notAfter=new Date,c.validity.notAfter.setFullYear(c.validity.notBefore.getFullYear()+10);let d=[{name:"commonName",value:"KTRouter MITM Root CA"},{name:"organizationName",value:"KTRouter"},{name:"countryName",value:"US"}];c.setSubject(d),c.setIssuer(d),c.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),c.sign(b.privateKey,f.md.sha256.create());let k=f.pki.privateKeyToPem(b.privateKey),l=f.pki.certificateToPem(c);return e.writeFileSync(h,k),e.writeFileSync(i,l),console.log("✅ Root CA generated successfully"),{key:h,cert:i}},loadRootCA:function(){if(!e.existsSync(h)||!e.existsSync(i))throw Error("Root CA not found. Generate it first.");let a=e.readFileSync(h,"utf8"),b=e.readFileSync(i,"utf8");return{key:f.pki.privateKeyFromPem(a),cert:f.pki.certificateFromPem(b)}},generateLeafCert:function(a,b){let c=f.pki.rsa.generateKeyPair(2048),d=f.pki.createCertificate();return d.publicKey=c.publicKey,d.serialNumber=Math.floor(1e6*Math.random()).toString(),d.validity.notBefore=new Date,d.validity.notAfter=new Date,d.validity.notAfter.setFullYear(d.validity.notBefore.getFullYear()+1),d.setSubject([{name:"commonName",value:a}]),d.setIssuer(b.cert.subject.attributes),d.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:a},{type:2,value:`*.${a}`}]}]),d.sign(b.key,f.md.sha256.create()),{key:f.pki.privateKeyToPem(c.privateKey),cert:f.pki.certificateToPem(d)}},isCertExpired:j,ROOT_CA_CERT_PATH:i,ROOT_CA_KEY_PATH:h}},9631:(a,b,c)=>{let d=c(29021),e=c(55511),{exec:f}=c(79646),{execWithPassword:g,isSudoAvailable:h}=c(66936),{runElevatedPowerShell:i,quotePs:j,isAdmin:k}=c(64809),{log:l,err:m}=c(87777),n="win32"===process.platform,o="darwin"===process.platform,p=[{dir:"/usr/local/share/ca-certificates",cmd:"update-ca-certificates"},{dir:"/etc/ca-certificates/trust-source/anchors",cmd:"update-ca-trust"},{dir:"/etc/pki/ca-trust/source/anchors",cmd:"update-ca-trust"},{dir:"/etc/pki/trust/anchors",cmd:"update-ca-certificates"}];function
|
|
1
|
+
"use strict";exports.id=5718,exports.ids=[5718],exports.modules={8578:(a,b,c)=>{let d=c(33873),e=c(29021),f=c(15296),{MITM_DIR:g}=c(82193),h=d.join(g,"rootCA.key"),i=d.join(g,"rootCA.crt");function j(a){try{let b=f.pki.certificateFromPem(e.readFileSync(a,"utf8")),c=new Date(Date.now()+2592e6);return b.validity.notAfter<c}catch{return!0}}a.exports={generateRootCA:async function a(){let a=e.existsSync(h)&&e.existsSync(i);if(a&&!j(i))return console.log("✅ Root CA already exists"),{key:h,cert:i};if(a){console.log("\uD83D\uDD10 Root CA expired or expiring soon — regenerating...");try{e.unlinkSync(h)}catch{}try{e.unlinkSync(i)}catch{}}e.existsSync(g)||e.mkdirSync(g,{recursive:!0}),console.log("\uD83D\uDD10 Generating Root CA certificate...");let b=f.pki.rsa.generateKeyPair(2048),c=f.pki.createCertificate();c.publicKey=b.publicKey,c.serialNumber="01",c.validity.notBefore=new Date,c.validity.notAfter=new Date,c.validity.notAfter.setFullYear(c.validity.notBefore.getFullYear()+10);let d=[{name:"commonName",value:"KTRouter MITM Root CA"},{name:"organizationName",value:"KTRouter"},{name:"countryName",value:"US"}];c.setSubject(d),c.setIssuer(d),c.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),c.sign(b.privateKey,f.md.sha256.create());let k=f.pki.privateKeyToPem(b.privateKey),l=f.pki.certificateToPem(c);return e.writeFileSync(h,k),e.writeFileSync(i,l),console.log("✅ Root CA generated successfully"),{key:h,cert:i}},loadRootCA:function(){if(!e.existsSync(h)||!e.existsSync(i))throw Error("Root CA not found. Generate it first.");let a=e.readFileSync(h,"utf8"),b=e.readFileSync(i,"utf8");return{key:f.pki.privateKeyFromPem(a),cert:f.pki.certificateFromPem(b)}},generateLeafCert:function(a,b){let c=f.pki.rsa.generateKeyPair(2048),d=f.pki.createCertificate();return d.publicKey=c.publicKey,d.serialNumber=Math.floor(1e6*Math.random()).toString(),d.validity.notBefore=new Date,d.validity.notAfter=new Date,d.validity.notAfter.setFullYear(d.validity.notBefore.getFullYear()+1),d.setSubject([{name:"commonName",value:a}]),d.setIssuer(b.cert.subject.attributes),d.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:a},{type:2,value:`*.${a}`}]}]),d.sign(b.key,f.md.sha256.create()),{key:f.pki.privateKeyToPem(c.privateKey),cert:f.pki.certificateToPem(d)}},isCertExpired:j,ROOT_CA_CERT_PATH:i,ROOT_CA_KEY_PATH:h}},9631:(a,b,c)=>{let d=c(29021),e=c(55511),{exec:f}=c(79646),{execWithPassword:g,isSudoAvailable:h}=c(66936),{runElevatedPowerShell:i,quotePs:j,isAdmin:k}=c(64809),{log:l,err:m}=c(87777),n="win32"===process.platform,o="darwin"===process.platform,p="/Library/Keychains/System.keychain",q=[{dir:"/usr/local/share/ca-certificates",cmd:"update-ca-certificates"},{dir:"/etc/ca-certificates/trust-source/anchors",cmd:"update-ca-trust"},{dir:"/etc/pki/ca-trust/source/anchors",cmd:"update-ca-trust"},{dir:"/etc/pki/trust/anchors",cmd:"update-ca-certificates"}];function r(){for(let a of q)if(d.existsSync(a.dir))return a;return q[0]}let s="KTRouter MITM Root CA";function t(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}function u(a){let b=d.readFileSync(a,"utf-8"),c=Buffer.from(b.replace(/-----[^-]+-----/g,"").replace(/\s/g,""),"base64");return e.createHash("sha1").update(c).digest("hex").toUpperCase().match(/.{2}/g).join(":")}async function v(a){var b;let c,e;return n?(b=a,new Promise(a=>{let c;try{c=u(b).replace(/:/g,"")}catch{return a(!1)}f(`certutil -store Root ${c}`,{windowsHide:!0},b=>{if(!b)return a(!0);f(`certutil -user -store Root ${c}`,{windowsHide:!0},b=>{a(!b)})})})):o?w(a):(c=r(),e=`${c.dir}/ktrouter-root-ca.crt`,Promise.resolve(d.existsSync(e)))}function w(a){return new Promise(b=>{try{let c=t(a),d=t(p);f(`security verify-cert -c ${c} -p ssl -k ${d} 2>/dev/null`,{windowsHide:!0},a=>{b(!a)})}catch{b(!1)}})}async function x(a,b){let c=t(s),d=t(b),e=t(p),f=`while security delete-certificate -c ${c} ${e} >/dev/null 2>&1; do :; done`,h=`security add-trusted-cert -d -r trustRoot -p ssl -k ${e} ${d}`;try{if(await g(`${f}; ${h}`,a),!await w(b))throw Error("certificate was added but could not be verified in System keychain");l("\uD83D\uDD10 Cert: ✅ installed to macOS System keychain")}catch(b){let a=b.message?.includes("canceled")?"User canceled authorization":"Certificate install failed";throw Error(`${a}: ${b.message}`)}}async function y(a){let b=k()?"":"-user ",c=`
|
|
2
2
|
for ($i = 0; $i -lt 10; $i++) {
|
|
3
|
-
& certutil ${b}-delstore Root ${j(
|
|
3
|
+
& certutil ${b}-delstore Root ${j(s)} 2>$null | Out-Null
|
|
4
4
|
if ($LASTEXITCODE -ne 0) { break }
|
|
5
5
|
}
|
|
6
6
|
$exit = & certutil ${b}-addstore Root ${j(a)} 2>&1
|
|
7
7
|
if ($LASTEXITCODE -ne 0) { throw "certutil exit $LASTEXITCODE" }
|
|
8
|
-
`;try{await i(c),l("\uD83D\uDD10 Cert: ✅ installed to Windows Root store")}catch(a){throw Error(`Failed to install certificate: ${a.message}`)}}async function
|
|
8
|
+
`;try{await i(c),l("\uD83D\uDD10 Cert: ✅ installed to Windows Root store")}catch(a){throw Error(`Failed to install certificate: ${a.message}`)}}async function z(a,b){let c=u(b).replace(/:/g,""),d=`security delete-certificate -Z ${t(c)} ${t(p)}`;try{await g(d,a),l("\uD83D\uDD10 Cert: ✅ uninstalled from macOS System keychain")}catch(a){throw Error("Failed to uninstall certificate")}}async function A(){let a=`certutil -delstore Root ${j(s)}`;try{await i(a),l("\uD83D\uDD10 Cert: ✅ uninstalled from Windows Root store")}catch(a){throw Error(`Failed to uninstall certificate: ${a.message}`)}}async function B(a,b="add"){let c="KTRouter MITM Root CA",d=`
|
|
9
9
|
if ! command -v certutil &> /dev/null; then
|
|
10
10
|
exit 0
|
|
11
11
|
fi
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
fi
|
|
40
40
|
fi
|
|
41
41
|
done
|
|
42
|
-
`;return new Promise(a=>{f(d,{shell:"/bin/bash"},()=>a())})}async function
|
|
42
|
+
`;return new Promise(a=>{f(d,{shell:"/bin/bash"},()=>a())})}async function C(a,b){if(!h()){l(`🔐 Cert: cannot install to system store without sudo - trust this file on clients: ${b}`),await B(b,"add");return}let c=r(),d=`${c.dir}/ktrouter-root-ca.crt`,e=`cp "${b}" "${d}" && (${c.cmd} 2>/dev/null || true)`;try{await g(e,a),await B(b,"add"),l(`🔐 Cert: ✅ installed to Linux trust store (${c.dir}) and user browser databases`)}catch(a){throw Error(`Certificate install failed: ${a.message}`)}}async function D(a){if(await B(null,"delete"),!h())return;let b=r(),c=`${b.dir}/ktrouter-root-ca.crt`,d=`rm -f "${c}" && (${b.cmd} 2>/dev/null || true)`;try{await g(d,a),l("\uD83D\uDD10 Cert: ✅ uninstalled from Linux trust store and user browser databases")}catch(a){throw Error("Failed to uninstall certificate")}}a.exports={installCert:async function a(a,b){if(!d.existsSync(b))throw Error(`Certificate file not found: ${b}`);await v(b)?l("\uD83D\uDD10 Cert: already trusted ✅"):n?await y(b):o?await x(a,b):await C(a,b)},uninstallCert:async function a(a,b){await v(b)?n?await A():o?await z(a,b):await D(a):l("\uD83D\uDD10 Cert: not found in system store")},checkCertInstalled:v}},17511:a=>{a.exports={TARGET_HOSTS:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],URL_PATTERNS:{antigravity:[":generateContent",":streamGenerateContent"],copilot:["/chat/completions","/v1/messages","/responses"],kiro:["/generateAssistantResponse"],cursor:["/BidiAppend","/RunSSE","/RunPoll","/Run"]},MODEL_SYNONYMS:{antigravity:{"gemini-default":"gemini-3.5-flash-high","gemini-3-flash-agent":"gemini-3.5-flash-high","gemini-3-flash":"gemini-3.5-flash-medium","gemini-3.0-flash":"gemini-3.5-flash-medium","gemini-3-pro":"gemini-pro-agent","gemini-3.1-pro":"gemini-pro-agent","gemini-3.5-flash":"gemini-3.5-flash-high","gemini-3.5-flash-low":"gemini-3.5-flash-low","gemini-pro-agent":"gemini-pro-agent","claude-sonnet-4-6":"claude-sonnet-4-6-thinking","claude-opus-4-6":"claude-opus-4-6-thinking","gpt-oss-120b":"gpt-oss-120b-medium"}},MODEL_PATTERNS:{antigravity:[{match:/flash.*high|high.*flash/i,alias:"gemini-3.5-flash-high"},{match:/flash.*medium|medium.*flash/i,alias:"gemini-3.5-flash-medium"},{match:/flash.*low|low.*flash/i,alias:"gemini-3.5-flash-low"},{match:/flash/i,alias:"gemini-3.5-flash-medium"},{match:/gemini.*pro|pro.*gemini/i,alias:"gemini-pro-agent"},{match:/opus/i,alias:"claude-opus-4-6-thinking"},{match:/sonnet|claude/i,alias:"claude-sonnet-4-6-thinking"},{match:/gpt.*oss|oss/i,alias:"gpt-oss-120b-medium"}]},LOG_BLACKLIST_URL_PARTS:["recordCodeAssistMetrics","recordTrajectoryAnalytics","fetchAdminControls","listExperiments"],getToolForHost:function(a){let b=(a||"").split(":")[0];return"api.individual.githubcopilot.com"===b?"copilot":"daily-cloudcode-pa.googleapis.com"===b||"cloudcode-pa.googleapis.com"===b?"antigravity":"q.us-east-1.amazonaws.com"===b||"codewhisperer.us-east-1.amazonaws.com"===b?"kiro":"api2.cursor.sh"===b?"cursor":null}}},26033:(a,b,c)=>{c(33873),c(29021);let{MITM_DIR:d}=c(82193),{generateRootCA:e,loadRootCA:f,generateLeafCert:g}=c(8578);a.exports={generateCert:async function a(){return await e()},getCertForDomain:function(a){try{let b=f(),c=g(a,b);return{key:c.key,cert:c.cert}}catch(b){return console.error(`Failed to generate cert for ${a}:`,b.message),null}}}},64809:(a,b,c)=>{let{exec:d,execSync:e}=c(79646),f="win32"===process.platform;function g(){if(f)try{return e("net session >nul 2>&1",{windowsHide:!0,stdio:"ignore"}),!0}catch{return!1}return"function"==typeof process.getuid&&0===process.getuid()}function h(a){return`'${String(a).replace(/'/g,"''")}'`}a.exports={isAdmin:g,runElevatedPowerShell:function(a){if(!f)return Promise.reject(Error("Windows-only"));let b=Buffer.from(a,"utf16le").toString("base64");if(g())return new Promise((a,c)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand ${b}`,{windowsHide:!0},(b,d,e)=>{b?c(Error(e||b.message)):a(d)})});let c=`
|
|
43
43
|
$proc = Start-Process powershell -ArgumentList @(
|
|
44
44
|
'-NoProfile','-NonInteractive','-ExecutionPolicy','Bypass',
|
|
45
45
|
'-WindowStyle','Hidden','-EncodedCommand','${b}'
|
|
@@ -55,7 +55,7 @@ HEADERS: ${JSON.stringify(q(e),null,2)}
|
|
|
55
55
|
---BODY---
|
|
56
56
|
${c}`;d.writeFileSync(h,g)}catch{}},file:h}},isFileLoggingEnabled:function(){return k}}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},96182:(a,b,c)=>{let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(66936),{isAdmin:u}=c(64809),v="win32"===process.platform,w="darwin"===process.platform,x="linux"===process.platform,{generateCert:y}=c(26033),{installCert:z,uninstallCert:A}=c(9631),{isCertExpired:B}=c(8578),{DATA_DIR:C,MITM_DIR:D}=c(82193),{log:E,err:F}=c(87777),G="http://localhost:3008";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!af)return G;try{let a=await af(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(D,".mitm.pid"),K=[5e3,1e4,2e4,3e4,6e4],L="NODE_EXTRA_CA_CERTS",M=g.join(i.homedir(),".config","environment.d"),N=g.join(M,"ktrouter-mitm.conf"),O="KTRouter MITM NODE_EXTRA_CA_CERTS",P=0,Q=0,R=!1;function S(a){try{return f(`command -v ${a}`,{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function T(){if(!x)return[];let a=[g.join(i.homedir(),".local","share","applications"),"/usr/local/share/applications","/usr/share/applications","/var/lib/flatpak/exports/share/applications",g.join(i.homedir(),".local","share","flatpak","exports","share","applications")],b=[];for(let c of a)try{if(!h.existsSync(c))continue;for(let a of h.readdirSync(c)){if(!a.toLowerCase().endsWith(".desktop"))continue;let d=g.join(c,a),e="";try{e=h.readFileSync(d,"utf8")}catch{continue}(/antigravity/i.test(a)||/antigravity/i.test(e))&&b.push(d)}}catch{}return[...new Set(b)]}function U(a){!function(a){if(!v||!a||!h.existsSync(a))return;let b=g.resolve(a);process.env[L]=b;try{let a=f(`reg query HKCU\\Environment /v ${L}`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]});if(a&&a.includes(b))return}catch{}try{f(`setx ${L} "${b}"`,{windowsHide:!0,stdio:"ignore"}),E(`Cert: set ${L} for Windows user env`)}catch(a){E(`Cert: could not set ${L}: ${a.message}`)}}(a),x&&a&&h.existsSync(a)&&(!function(a){if(!x||!a)return;let b=g.resolve(a);process.env[L]=b;try{h.mkdirSync(M,{recursive:!0}),h.writeFileSync(N,`# ${O}
|
|
57
57
|
${L}=${b}
|
|
58
|
-
`,"utf8")}catch(a){E(`Cert: could not write Linux environment.d: ${a.message}`)}try{S("systemctl")&&f(`systemctl --user set-environment ${L}=${H(b)}`,{stdio:"ignore",windowsHide:!0})}catch{}try{S("dbus-update-activation-environment")&&f(`dbus-update-activation-environment --systemd ${L}`,{stdio:"ignore",windowsHide:!0,env:{...process.env,[L]:b}})}catch{}}(a),function(a){if(!x||!a||!h.existsSync(a))return;let b=g.join(i.homedir(),".local","share","applications");try{h.mkdirSync(b,{recursive:!0})}catch{}let c=0;for(let d of T())try{let e=d.startsWith(b+g.sep)?d:g.join(b,g.basename(d));d===e||h.existsSync(e)||h.copyFileSync(d,e);let f=h.readFileSync(e,"utf8"),i=f.split(/\r?\n/).map(b=>b.startsWith("Exec=")?function(a,b){let c=a.slice(5).trim();if(!c||c.includes(O))return a;let d=`${L}="${String(b).replace(/(["\\])/g,"\\$1")}"`,e=c.replace(RegExp(`(^|\\s)${L}=(?:"[^"]*"|'[^']*'|\\S+)`,"g"),"$1").replace(/\s+/g," ").trim();return/^(?:\/usr\/bin\/)?env(?:\s|$)/.test(e)?`Exec=${e.replace(/^(?:\/usr\/bin\/)?env/,a=>`${a} ${d}`)}`:`Exec=env ${d} ${e}`}(b,g.resolve(a)):b).join("\n");if(i!==f){let a=`${e}.ktrouter-bak`;h.existsSync(a)||h.writeFileSync(a,f,"utf8"),h.writeFileSync(e,i,"utf8"),c++}}catch(a){E(`Cert: could not patch Antigravity desktop entry: ${a.message}`)}c>0&&E(`Cert: patched ${c} Antigravity desktop launcher(s) for ${L}`)}(a),E(`Cert: set ${L} for Linux user env`))}function V(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function W(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(C,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{E(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let X=W(V()),Y="aes-256-gcm",Z="ktrouter-mitm-pwd",$=null,_=null;function aa(){return globalThis.__mitmSudoPassword||null}function ab(a){globalThis.__mitmSudoPassword=a}function ac(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function ad(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function ae(){try{let{machineIdSync:a}=c(19713),b=a();return l.createHash("sha256").update(b+Z).digest()}catch{return l.createHash("sha256").update(Z).digest()}}let af=null,ag=null;async function ah(a,b){if(ag)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=ae(),d=l.randomBytes(12),e=l.createCipheriv(Y,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await ag(h)}catch(a){F(`Failed to save settings: ${a.message}`)}}async function ai(){if(ag)try{await ag({mitmSudoEncrypted:null})}catch(a){F(`Failed to clear encrypted password: ${a.message}`)}}async function aj(){if(!af)return null;try{let a=await af();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=ae(),f=l.createDecipheriv(Y,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ak(a,b){if(ag&&af)try{let c={...(await af()).dnsToolEnabled||{},[a]:b};await ag({dnsToolEnabled:c})}catch(a){F(`Failed to save DNS state: ${a.message}`)}}async function al(){if(!af)return{};try{return(await af()).dnsToolEnabled||{}}catch{return{}}}async function am(a){if(af&&ag&&a)try{let b={...(await af()).dnsToolEnabled||{}},c=!1;for(let d of Object.keys(r)){let e=!0===a[d];b[d]!==e&&(b[d]=e,c=!0)}c&&await ag({dnsToolEnabled:b})}catch(a){F(`Failed to sync DNS state: ${a.message}`)}}async function an(a){let b=await al(),c=a||aa()||await aj();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){F(`DNS ${a}: restore failed — ${b.message}`)}}async function ao(){return v?u():!(!u()&&t())||!!(aa()||await aj())}function ap(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d("lsof -nP -iTCP:443 -sTCP:LISTEN -t",{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function aq(a){if($&&!$.killed){try{$.kill("SIGKILL")}catch{}$=null,_=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&ac(b)&&(ad(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&X)try{let b=X.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function ar(){let a=null!==$&&!$.killed,b=_;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&ac(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q();await am(d);let e=g.join(D,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function as(a){if(R)return;if(Date.now()-Q>=6e4&&(P=0),P>=5)return void F("Max restart attempts reached. Giving up.");let b=K[Math.min(P,K.length-1)];P++,R=!0,E(`Restarting in ${b/1e3}s... (${P}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=af?await af():null;if(b&&!b.mitmEnabled){E("MITM disabled, skipping restart"),R=!1;return}let c=aa()||await aj();if(!c&&!v){F("No cached password, cannot auto-restart"),R=!1;return}await au(a,c),E("\uD83D\uDD04 Restarted successfully"),P=0,R=!1}catch(b){if(String(b.message||"").includes("MITM server is already running")){E("MITM already running, restart not needed"),P=0,R=!1;return}F(`Restart attempt ${P}/5 failed: ${b.message}`),R=!1,as(a)}}async function at(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function au(a,b,d=!1){if(!$||$.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&ac(a))return _=a,E(`♻️ Reusing existing process (PID: ${a})`),U(g.join(D,"rootCA.crt")),await ah(!0,b),b&&ab(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if($&&!$.killed)throw Error("MITM server is already running");if(await aq(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ap(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(d)E(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await at(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let l=g.join(D,"rootCA.crt"),m=g.join(D,"rootCA.key"),n=h.existsSync(l)&&h.existsSync(m);if(!n||B(l)){if(n){E("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||aa()||await aj();try{await A(a,l)}catch{}}E("\uD83D\uDD10 Generating Root CA..."),await y()}let{checkCertInstalled:o}=c(9631),p=await o(l),r=!v&&!w&&!s();if(p)E("\uD83D\uDD10 Cert: already trusted ✅");else{E("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||aa()||await aj();if(r)E(`🔐 Cert: skipping system trust (no sudo). Install ${l} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await z(a,l),E("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}U(l);let u=X;if((!u||!h.existsSync(u))&&(E(`[MITM] server.js missing at ${u} → recopying`),!(u=W(V()))||!h.existsSync(u)))throw Error(`MITM server.js not found at ${u}. Reinstall ktrouter.`);let x=await I();if(E(`🚀 Starting server... (router: ${x})`),v){let c=await ap(b);if(c)if(d)E(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await at(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}$=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,DATA_DIR:g.resolve(process.env.DATA_DIR||C),ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:x}}),ag&&await ag({mitmCertInstalled:!0}).catch(()=>{})}else s()?(($=e("sudo",["-S","-E","sh","-c",[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(x)}`,"NODE_ENV=production",H(process.execPath),H(u)].join(" ")],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
|
|
58
|
+
`,"utf8")}catch(a){E(`Cert: could not write Linux environment.d: ${a.message}`)}try{S("systemctl")&&f(`systemctl --user set-environment ${L}=${H(b)}`,{stdio:"ignore",windowsHide:!0})}catch{}try{S("dbus-update-activation-environment")&&f(`dbus-update-activation-environment --systemd ${L}`,{stdio:"ignore",windowsHide:!0,env:{...process.env,[L]:b}})}catch{}}(a),function(a){if(!x||!a||!h.existsSync(a))return;let b=g.join(i.homedir(),".local","share","applications");try{h.mkdirSync(b,{recursive:!0})}catch{}let c=0;for(let d of T())try{let e=d.startsWith(b+g.sep)?d:g.join(b,g.basename(d));d===e||h.existsSync(e)||h.copyFileSync(d,e);let f=h.readFileSync(e,"utf8"),i=f.split(/\r?\n/).map(b=>b.startsWith("Exec=")?function(a,b){let c=a.slice(5).trim();if(!c||c.includes(O))return a;let d=`${L}="${String(b).replace(/(["\\])/g,"\\$1")}"`,e=c.replace(RegExp(`(^|\\s)${L}=(?:"[^"]*"|'[^']*'|\\S+)`,"g"),"$1").replace(/\s+/g," ").trim();return/^(?:\/usr\/bin\/)?env(?:\s|$)/.test(e)?`Exec=${e.replace(/^(?:\/usr\/bin\/)?env/,a=>`${a} ${d}`)}`:`Exec=env ${d} ${e}`}(b,g.resolve(a)):b).join("\n");if(i!==f){let a=`${e}.ktrouter-bak`;h.existsSync(a)||h.writeFileSync(a,f,"utf8"),h.writeFileSync(e,i,"utf8"),c++}}catch(a){E(`Cert: could not patch Antigravity desktop entry: ${a.message}`)}c>0&&E(`Cert: patched ${c} Antigravity desktop launcher(s) for ${L}`)}(a),E(`Cert: set ${L} for Linux user env`)),function(a){if(!w||!a||!h.existsSync(a))return;let b=g.resolve(a);process.env[L]=b;try{if(f(`launchctl getenv ${L}`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim()===b)return}catch{}try{f(`launchctl setenv ${L} ${H(b)}`,{windowsHide:!0,stdio:"ignore"}),E(`Cert: set ${L} for macOS user launchd env`)}catch(a){E(`Cert: could not set ${L} for macOS: ${a.message}`)}}(a)}function V(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function W(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(C,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{E(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let X=W(V()),Y="aes-256-gcm",Z="ktrouter-mitm-pwd",$=null,_=null;function aa(){return globalThis.__mitmSudoPassword||null}function ab(a){globalThis.__mitmSudoPassword=a}function ac(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function ad(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function ae(){try{let{machineIdSync:a}=c(19713),b=a();return l.createHash("sha256").update(b+Z).digest()}catch{return l.createHash("sha256").update(Z).digest()}}let af=null,ag=null;async function ah(a,b){if(ag)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=ae(),d=l.randomBytes(12),e=l.createCipheriv(Y,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await ag(h)}catch(a){F(`Failed to save settings: ${a.message}`)}}async function ai(){if(ag)try{await ag({mitmSudoEncrypted:null})}catch(a){F(`Failed to clear encrypted password: ${a.message}`)}}async function aj(){if(!af)return null;try{let a=await af();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=ae(),f=l.createDecipheriv(Y,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ak(a,b){if(ag&&af)try{let c={...(await af()).dnsToolEnabled||{},[a]:b};await ag({dnsToolEnabled:c})}catch(a){F(`Failed to save DNS state: ${a.message}`)}}async function al(){if(!af)return{};try{return(await af()).dnsToolEnabled||{}}catch{return{}}}async function am(a){if(af&&ag&&a)try{let b={...(await af()).dnsToolEnabled||{}},c=!1;for(let d of Object.keys(r)){let e=!0===a[d];b[d]!==e&&(b[d]=e,c=!0)}c&&await ag({dnsToolEnabled:b})}catch(a){F(`Failed to sync DNS state: ${a.message}`)}}async function an(a){let b=await al(),c=a||aa()||await aj();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){F(`DNS ${a}: restore failed — ${b.message}`)}}async function ao(){return v?u():!(!u()&&t())||!!(aa()||await aj())}function ap(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d("lsof -nP -iTCP:443 -sTCP:LISTEN -t",{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function aq(a){if($&&!$.killed){try{$.kill("SIGKILL")}catch{}$=null,_=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&ac(b)&&(ad(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&X)try{let b=X.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function ar(){let a=null!==$&&!$.killed,b=_;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&ac(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q();await am(d);let e=g.join(D,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function as(a){if(R)return;if(Date.now()-Q>=6e4&&(P=0),P>=5)return void F("Max restart attempts reached. Giving up.");let b=K[Math.min(P,K.length-1)];P++,R=!0,E(`Restarting in ${b/1e3}s... (${P}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=af?await af():null;if(b&&!b.mitmEnabled){E("MITM disabled, skipping restart"),R=!1;return}let c=aa()||await aj();if(!c&&!v){F("No cached password, cannot auto-restart"),R=!1;return}await au(a,c),E("\uD83D\uDD04 Restarted successfully"),P=0,R=!1}catch(b){if(String(b.message||"").includes("MITM server is already running")){E("MITM already running, restart not needed"),P=0,R=!1;return}F(`Restart attempt ${P}/5 failed: ${b.message}`),R=!1,as(a)}}async function at(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function au(a,b,d=!1){if(!$||$.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&ac(a))return _=a,E(`♻️ Reusing existing process (PID: ${a})`),U(g.join(D,"rootCA.crt")),await ah(!0,b),b&&ab(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if($&&!$.killed)throw Error("MITM server is already running");if(await aq(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ap(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(d)E(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await at(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let l=g.join(D,"rootCA.crt"),m=g.join(D,"rootCA.key"),n=h.existsSync(l)&&h.existsSync(m);if(!n||B(l)){if(n){E("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||aa()||await aj();try{await A(a,l)}catch{}}E("\uD83D\uDD10 Generating Root CA..."),await y()}let{checkCertInstalled:o}=c(9631),p=await o(l),r=!v&&!w&&!s();if(p)E("\uD83D\uDD10 Cert: already trusted ✅");else{E("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||aa()||await aj();if(r)E(`🔐 Cert: skipping system trust (no sudo). Install ${l} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await z(a,l),E("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}U(l);let u=X;if((!u||!h.existsSync(u))&&(E(`[MITM] server.js missing at ${u} → recopying`),!(u=W(V()))||!h.existsSync(u)))throw Error(`MITM server.js not found at ${u}. Reinstall ktrouter.`);let x=await I();if(E(`🚀 Starting server... (router: ${x})`),v){let c=await ap(b);if(c)if(d)E(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await at(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}$=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,DATA_DIR:g.resolve(process.env.DATA_DIR||C),ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:x}}),ag&&await ag({mitmCertInstalled:!0}).catch(()=>{})}else s()?(($=e("sudo",["-S","-E","sh","-c",[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(x)}`,"NODE_ENV=production",H(process.execPath),H(u)].join(" ")],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
|
|
59
59
|
`),$.stdin.end()):$=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,DATA_DIR:g.resolve(process.env.DATA_DIR||C),ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:x}});$&&(_=$.pid,h.writeFileSync(J,String(_)),Q=Date.now());let G=null;$&&($.stdout.on("data",a=>{process.stdout.write(a)}),$.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(F(b),G=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(ab(null),ai(),R=!0)}),$.on("exit",b=>{E(`Server exited (code: ${b})`),$=null,_=null;try{h.unlinkSync(J)}catch{}0===b||R||as(a)}));let K=await function(a=443){return new Promise(b=>{let c=Date.now()+8e3,d=()=>{let e=k.request({hostname:"127.0.0.1",port:a,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1},a=>{let c="";a.on("data",a=>{c+=a}),a.on("end",()=>{try{let a=JSON.parse(c);b(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{b(null)}})});e.on("error",()=>{Date.now()<c?setTimeout(d,500):b(null)}),e.end()};d()})}(443);if(!K){if($&&!$.killed){try{$.kill()}catch{}$=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f("lsof -i :443",{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=G||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}for(let[a,b]of(ag&&await ag({mitmCertInstalled:!0}).catch(()=>{}),E(`✅ Server healthy (PID: ${_||K.pid})`),Object.entries(q())))E(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);return await ah(!0,b),b&&ab(b),{running:!0,pid:_}}async function av(a){var b;R=!0,P=0,E("⏹ Stopping server...");let d=$,e=d&&!d.killed?d.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&ac(e)&&(E(`Killing server (PID: ${e})...`),ad(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),ac(e)&&ad(e,!0,a)),$=null,_=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(64809);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}E("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
|
|
60
60
|
$hosts = @(${c})
|
|
61
61
|
$lines = Get-Content -LiteralPath ${f(a)}
|
|
@@ -65,4 +65,4 @@ ${L}=${b}
|
|
|
65
65
|
}
|
|
66
66
|
Set-Content -LiteralPath ${f(a)} -Value $filtered
|
|
67
67
|
ipconfig /flushdns | Out-Null
|
|
68
|
-
`;await e(d)}}catch(a){F(`Failed to clean hosts: ${a.message}`)}}else await o(a);try{h.unlinkSync(J)}catch{}return!function(a){if(!v||!a)return;let b=g.resolve(a).toLowerCase();String(process.env[L]||"").toLowerCase()===b&&delete process.env[L];try{if(!f(`reg query HKCU\\Environment /v ${L}`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).toLowerCase().includes(b))return}catch{return}try{f(`reg delete HKCU\\Environment /v ${L} /f`,{windowsHide:!0,stdio:"ignore"}),E(`Cert: removed ${L} from Windows user env`)}catch(a){E(`Cert: could not remove ${L}: ${a.message}`)}}(b=g.join(D,"rootCA.crt")),!function(a){if(!x)return;let b=a?g.resolve(a):"";b&&process.env[L]!==b||delete process.env[L];try{if(h.existsSync(N)){let a=h.readFileSync(N,"utf8");(!b||a.includes(b)||a.includes(O))&&h.unlinkSync(N)}}catch(a){E(`Cert: could not remove Linux environment.d: ${a.message}`)}try{S("systemctl")&&f(`systemctl --user unset-environment ${L}`,{stdio:"ignore",windowsHide:!0})}catch{}}(b),function(a){if(!x)return;let b=a?g.resolve(a):"";for(let a of T())try{let c=`${a}.ktrouter-bak`;if(!h.existsSync(c))continue;let d=h.readFileSync(a,"utf8");if(!d.includes(L)||b&&!d.includes(b))continue;h.copyFileSync(c,a),h.unlinkSync(c),E(`Cert: restored Antigravity desktop launcher ${g.basename(a)}`)}catch(a){E(`Cert: could not restore Antigravity desktop entry: ${a.message}`)}}(b),await ah(!1,null),R=!1,{running:!1,pid:null}}async function aw(a,b){if(!(await ar()).running)throw Error("MITM server is not running. Start the server first.");let c=b||aa()||await aj();return await m(a,c),await ak(a,!0),{success:!0}}a.exports={getMitmStatus:ar,startServer:au,stopServer:av,enableToolDNS:aw,disableToolDNS:async function a(a,b){let c=b||aa()||await aj();return await n(a,c),await ak(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(D,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(9631);if(!v&&!w&&!s()){E(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`),U(b);return}let e=a||aa()||await aj();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),U(b),e&&ab(e)},startMitm:au,stopMitm:av,getCachedPassword:aa,setCachedPassword:ab,loadEncryptedPassword:aj,clearEncryptedPassword:ai,isSudoPasswordRequired:t,initDbHooks:function(a,b){af=a,ag=b},restoreToolDNS:an,hasDnsPrivilege:ao,removeAllDNSEntriesSync:p}}};
|
|
68
|
+
`;await e(d)}}catch(a){F(`Failed to clean hosts: ${a.message}`)}}else await o(a);try{h.unlinkSync(J)}catch{}return!function(a){if(!v||!a)return;let b=g.resolve(a).toLowerCase();String(process.env[L]||"").toLowerCase()===b&&delete process.env[L];try{if(!f(`reg query HKCU\\Environment /v ${L}`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).toLowerCase().includes(b))return}catch{return}try{f(`reg delete HKCU\\Environment /v ${L} /f`,{windowsHide:!0,stdio:"ignore"}),E(`Cert: removed ${L} from Windows user env`)}catch(a){E(`Cert: could not remove ${L}: ${a.message}`)}}(b=g.join(D,"rootCA.crt")),!function(a){if(!x)return;let b=a?g.resolve(a):"";b&&process.env[L]!==b||delete process.env[L];try{if(h.existsSync(N)){let a=h.readFileSync(N,"utf8");(!b||a.includes(b)||a.includes(O))&&h.unlinkSync(N)}}catch(a){E(`Cert: could not remove Linux environment.d: ${a.message}`)}try{S("systemctl")&&f(`systemctl --user unset-environment ${L}`,{stdio:"ignore",windowsHide:!0})}catch{}}(b),function(a){if(!x)return;let b=a?g.resolve(a):"";for(let a of T())try{let c=`${a}.ktrouter-bak`;if(!h.existsSync(c))continue;let d=h.readFileSync(a,"utf8");if(!d.includes(L)||b&&!d.includes(b))continue;h.copyFileSync(c,a),h.unlinkSync(c),E(`Cert: restored Antigravity desktop launcher ${g.basename(a)}`)}catch(a){E(`Cert: could not restore Antigravity desktop entry: ${a.message}`)}}(b),function(a){if(!w||!a)return;let b=g.resolve(a);process.env[L]===b&&delete process.env[L];try{if(f(`launchctl getenv ${L}`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim()!==b)return}catch{return}try{f(`launchctl unsetenv ${L}`,{windowsHide:!0,stdio:"ignore"}),E(`Cert: removed ${L} from macOS user launchd env`)}catch(a){E(`Cert: could not remove ${L} for macOS: ${a.message}`)}}(b),await ah(!1,null),R=!1,{running:!1,pid:null}}async function aw(a,b){if(!(await ar()).running)throw Error("MITM server is not running. Start the server first.");let c=b||aa()||await aj();return await m(a,c),await ak(a,!0),{success:!0}}a.exports={getMitmStatus:ar,startServer:au,stopServer:av,enableToolDNS:aw,disableToolDNS:async function a(a,b){let c=b||aa()||await aj();return await n(a,c),await ak(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(D,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(9631);if(!v&&!w&&!s()){E(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`),U(b);return}let e=a||aa()||await aj();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),U(b),e&&ab(e)},startMitm:au,stopMitm:av,getCachedPassword:aa,setCachedPassword:ab,loadEncryptedPassword:aj,clearEncryptedPassword:ai,isSudoPasswordRequired:t,initDbHooks:function(a,b){af=a,ag=b},restoreToolDNS:an,hasDnsPrivilege:ao,removeAllDNSEntriesSync:p}}};
|