9router 0.3.78 → 0.3.79
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 +5 -5
- 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/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/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.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.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/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/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +3 -3
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-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 +2 -2
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next/server/app/api/usage/providers/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next/server/app/api/version/route.js +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/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/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 +5 -5
- package/app/.next/server/chunks/1021.js +1 -1
- package/app/.next/server/chunks/1574.js +1 -1
- package/app/.next/server/chunks/2049.js +1 -1
- package/app/.next/server/chunks/242.js +1 -1
- package/app/.next/server/chunks/3159.js +1 -1
- package/app/.next/server/chunks/3437.js +1 -1
- package/app/.next/server/chunks/450.js +3 -3
- package/app/.next/server/chunks/4891.js +1 -1
- package/app/.next/server/chunks/6502.js +1 -1
- package/app/.next/server/chunks/8202.js +3 -3
- package/app/.next/server/chunks/9489.js +1 -1
- 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/{4156-c11e4e9ee78bdc08.js → 4156-95873d034d9be208.js} +3 -3
- package/app/.next/static/chunks/505-5dea9cf33d2883b7.js +1 -0
- package/app/.next/static/chunks/7400-944f5945f4b469ce.js +15 -0
- package/app/.next/static/chunks/{8035-20ab85a50b665aaf.js → 8035-d85b135ff3c41e36.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-d099eadbb0522614.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-09e7d6bd4d08202c.js +1 -0
- package/app/package.json +1 -1
- package/app/src/mitm/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/static/chunks/505-bf5b93001afee5fa.js +0 -1
- package/app/.next/static/chunks/7400-a5c928f6fdd4565c.js +0 -15
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-48b389fbdc1f0080.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-9d13181d51f5e656.js +0 -1
- /package/app/.next/static/{g3sBL9w--jtxKwkIevL-d → _1cT7G6qqsI_sqV4bRUa6}/_buildManifest.js +0 -0
- /package/app/.next/static/{g3sBL9w--jtxKwkIevL-d → _1cT7G6qqsI_sqV4bRUa6}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8460],{43007:(e,t,s)=>{Promise.resolve().then(s.bind(s,69692))},69692:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var r=s(73365),a=s(1521),l=s(86447),i=s.n(l),n=s(74156),o=s(68266),d=s(43202),c=s(82495),p=s(99568),m=s.n(p),x=s(14793);let u={available:{icon:"check_circle",color:"#22c55e",label:"Available"},cooldown:{icon:"schedule",color:"#f59e0b",label:"Cooldown"},unavailable:{icon:"error",color:"#ef4444",label:"Unavailable"},unknown:{icon:"help",color:"#6b7280",label:"Unknown"}};function h(){let[e,t]=(0,a.useState)(null),[s,l]=(0,a.useState)(!0),[i,o]=(0,a.useState)(!1),[d,c]=(0,a.useState)(null),p=(0,a.useRef)(null),m=(0,x.i)(),h=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/models/availability");if(e.ok){let s=await e.json();t(s)}}catch{}finally{l(!1)}},[]);(0,a.useEffect)(()=>{h();let e=setInterval(h,3e4);return()=>clearInterval(e)},[h]),(0,a.useEffect)(()=>{let e=e=>{p.current&&!p.current.contains(e.target)&&o(!1)};return i&&document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[i]);let f=async(e,t)=>{c(`${e}:${t}`);try{(await fetch("/api/models/availability",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clearCooldown",provider:e,model:t})})).ok?(m.success(`Cooldown cleared for ${t}`),await h()):m.error("Failed to clear cooldown")}catch{m.error("Failed to clear cooldown")}finally{c(null)}};if(s)return null;let b=e?.models||[],v=0===(e?.unavailableCount||b.filter(e=>"available"!==e.status).length),g={};return b.forEach(e=>{if("available"===e.status)return;let t=e.provider||"unknown";g[t]||(g[t]=[]),g[t].push(e)}),(0,r.jsx)("div",{className:"relative",ref:p,children:i&&(0,r.jsxs)("div",{className:"absolute top-full right-0 mt-2 w-80 bg-surface border border-border rounded-xl shadow-2xl z-50 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-bg",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[16px]",style:{color:v?"#22c55e":"#f59e0b"},children:v?"verified":"warning"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-text-main",children:"Model Status"})]}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded-lg hover:bg-surface text-text-muted hover:text-text-main transition-colors",title:"Refresh",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"refresh"})})]}),(0,r.jsx)("div",{className:"px-4 py-3 max-h-60 overflow-y-auto",children:v?(0,r.jsx)("p",{className:"text-sm text-text-muted text-center py-2",children:"All models are responding normally."}):(0,r.jsx)("div",{className:"flex flex-col gap-2.5",children:Object.entries(g).map(([e,t])=>(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs font-semibold text-text-main mb-1.5 capitalize",children:e}),(0,r.jsx)("div",{className:"flex flex-col gap-1",children:t.map(e=>{let t=u[e.status]||u.unknown,s=d===`${e.provider}:${e.model}`;return(0,r.jsxs)("div",{className:"flex items-center justify-between px-2.5 py-1.5 rounded-lg bg-surface/30",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px] shrink-0",style:{color:t.color},children:t.icon}),(0,r.jsx)("span",{className:"font-mono text-xs text-text-main truncate",children:e.model})]}),"cooldown"===e.status&&(0,r.jsx)(n.$n,{size:"sm",variant:"ghost",onClick:()=>f(e.provider,e.model),disabled:s,className:"text-[10px] px-1.5! py-0.5! ml-2",children:s?"...":"Clear"})]},`${e.provider}-${e.model}`)})})]},e))})})]})})}function f(e,t,s){let a=[];if(e>0&&a.push((0,r.jsxs)(n.Ex,{variant:"success",size:"sm",dot:!0,children:[e," Connected"]},"connected")),t>0){let e=s?`${t} Error (${s})`:`${t} Error`;a.push((0,r.jsx)(n.Ex,{variant:"error",size:"sm",dot:!0,children:e},"error"))}return 0===a.length?(0,r.jsx)("span",{className:"text-text-muted",children:"No connections"}):a}function b(){let[e,t]=(0,a.useState)([]),[s,l]=(0,a.useState)([]),[i,o]=(0,a.useState)(!0),[p,m]=(0,a.useState)(!1),[u,f]=(0,a.useState)(!1),[b,C]=(0,a.useState)(null),[k,T]=(0,a.useState)(null),w=(0,x.i)();(0,a.useEffect)(()=>{(async()=>{try{let[e,s]=await Promise.all([fetch("/api/providers"),fetch("/api/provider-nodes")]),r=await e.json(),a=await s.json();e.ok&&t(r.connections||[]),s.ok&&l(a.nodes||[])}catch(e){console.log("Error fetching data:",e)}finally{o(!1)}})()},[]);let A=(t,s)=>{let r=e.filter(e=>e.provider===t&&e.authType===s),a=e=>{let t=Object.entries(e).some(([e,t])=>e.startsWith("modelLock_")&&t&&new Date(t).getTime()>Date.now());return"unavailable"!==e.testStatus||t?e.testStatus:"active"},l=r.filter(e=>{let t=a(e);return"active"===t||"success"===t}).length,i=r.filter(e=>{let t=a(e);return"error"===t||"expired"===t||"unavailable"===t}),n=i.length,o=r.length,d=o>0&&r.every(e=>!1===e.isActive),c=i.sort((e,t)=>new Date(t.lastErrorAt||0)-new Date(e.lastErrorAt||0))[0];return{connected:l,error:n,total:o,errorCode:c?function(e){if(!e)return null;let t=e.lastErrorType;if("runtime_error"===t)return"RUNTIME";if("upstream_auth_error"===t||"auth_missing"===t||"token_refresh_failed"===t||"token_expired"===t)return"AUTH";if("upstream_rate_limited"===t)return"429";if("upstream_unavailable"===t)return"5XX";if("network_error"===t)return"NET";let s=Number(e.errorCode);if(Number.isFinite(s)&&s>=400)return String(s);let r=function(e){if(!e)return null;let t=e.match(/\b([45]\d{2})\b/);return t?t[1]:"ERR"}(e.lastError);if("401"===r||"403"===r)return"AUTH";if(r&&"ERR"!==r)return r;let a=(e.lastError||"").toLowerCase();return a.includes("runtime")||a.includes("not runnable")||a.includes("not installed")?"RUNTIME":a.includes("invalid api key")||a.includes("token invalid")||a.includes("revoked")||a.includes("unauthorized")?"AUTH":"ERR"}(c):null,errorTime:c?.lastErrorAt?function(e){if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let s=Math.floor(t/60);if(s<24)return`${s}h ago`;let r=Math.floor(s/24);return`${r}d ago`}(c.lastErrorAt):null,allDisabled:d}},I=async(s,r,a)=>{let l=e.filter(e=>e.provider===s&&e.authType===r);t(e=>e.map(e=>e.provider===s&&e.authType===r?{...e,isActive:a}:e)),await Promise.allSettled(l.map(e=>fetch(`/api/providers/${e.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:a})})))},E=async(e,t=null)=>{if(!b){C("provider"===e?t:e),T(null);try{let s=await fetch("/api/providers/test-batch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e,providerId:t})}),r=await s.json();if(T(r),r.summary){let{passed:e,failed:t,total:s}=r.summary;0===t?w.success(`All ${s} tests passed`):w.warning(`${e}/${s} passed, ${t} failed`)}}catch(e){T({error:"Test request failed"}),w.error("Provider test failed")}finally{C(null)}}},$=s.filter(e=>"openai-compatible"===e.type).map(e=>({id:e.id,name:e.name||"OpenAI Compatible",color:"#10A37F",textIcon:"OC",apiType:e.apiType})),R=s.filter(e=>"anthropic-compatible"===e.type).map(e=>({id:e.id,name:e.name||"Anthropic Compatible",color:"#D97757",textIcon:"AC"}));return i?(0,r.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,r.jsx)(n.Qv,{}),(0,r.jsx)(n.Qv,{})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-xl font-semibold flex items-center gap-2",children:"OAuth Providers"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(h,{}),(0,r.jsxs)("button",{onClick:()=>E("oauth"),disabled:!!b,className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium border transition-colors ${"oauth"===b?"bg-primary/20 border-primary/40 text-primary animate-pulse":"bg-bg border-border text-text-muted hover:text-text-main hover:border-primary/40"}`,title:"Test all OAuth connections","aria-label":"Test all OAuth connections",children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[14px]${"oauth"===b?" animate-spin":""}`,children:"oauth"===b?"sync":"play_arrow"}),"oauth"===b?"Testing...":"Test All"]})]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:Object.entries(d.zN).map(([e,t])=>(0,r.jsx)(v,{providerId:e,provider:t,stats:A(e,"oauth"),authType:"oauth",onToggle:t=>I(e,"oauth",t)},e))})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-xl font-semibold flex items-center gap-2",children:"Free & Free Tier Providers"}),(0,r.jsxs)("button",{onClick:()=>E("free"),disabled:!!b,className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium border transition-colors ${"free"===b?"bg-primary/20 border-primary/40 text-primary animate-pulse":"bg-bg border-border text-text-muted hover:text-text-main hover:border-primary/40"}`,title:"Test all Free connections","aria-label":"Test all Free provider connections",children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[14px]${"free"===b?" animate-spin":""}`,children:"free"===b?"sync":"play_arrow"}),"free"===b?"Testing...":"Test All"]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:[Object.entries(c.IS).map(([e,t])=>(0,r.jsx)(v,{providerId:e,provider:t,stats:A(e,"oauth"),authType:"free",onToggle:t=>I(e,"oauth",t)},e)),Object.entries(c.nJ).map(([e,t])=>(0,r.jsx)(g,{providerId:e,provider:t,stats:A(e,"apikey"),authType:"apikey",onToggle:t=>I(e,"apikey",t)},e))]})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("h2",{className:"text-xl font-semibold flex items-center gap-2",children:["API Key Providers"," "]}),(0,r.jsxs)("button",{onClick:()=>E("apikey"),disabled:!!b,className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium border transition-colors ${"apikey"===b?"bg-primary/20 border-primary/40 text-primary animate-pulse":"bg-bg border-border text-text-muted hover:text-text-main hover:border-primary/40"}`,title:"Test all API Key connections","aria-label":"Test all API Key connections",children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[14px]${"apikey"===b?" animate-spin":""}`,children:"apikey"===b?"sync":"play_arrow"}),"apikey"===b?"Testing...":"Test All"]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:Object.entries(d.fg).filter(([,e])=>(e.serviceKinds??["llm"]).includes("llm")).map(([e,t])=>(0,r.jsx)(g,{providerId:e,provider:t,stats:A(e,"apikey"),authType:"apikey",onToggle:t=>I(e,"apikey",t)},e))})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("h2",{className:"text-xl font-semibold flex items-center gap-2",children:["API Key Compatible Providers"," "]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(n.$n,{size:"sm",icon:"add",onClick:()=>f(!0),children:"Add Anthropic Compatible"}),(0,r.jsx)(n.$n,{size:"sm",variant:"secondary",icon:"add",onClick:()=>m(!0),className:"!bg-white !text-black hover:!bg-gray-100",children:"Add OpenAI Compatible"})]})]}),0===$.length&&0===R.length?(0,r.jsxs)("div",{className:"text-center py-8 border border-dashed border-border rounded-xl",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[32px] text-text-muted mb-2",children:"extension"}),(0,r.jsx)("p",{className:"text-text-muted text-sm",children:"No compatible providers added yet"}),(0,r.jsx)("p",{className:"text-text-muted text-xs mt-1",children:"Use the buttons above to add OpenAI or Anthropic compatible endpoints"})]}):(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:[...$,...R].map(e=>(0,r.jsx)(g,{providerId:e.id,provider:e,stats:A(e.id,"apikey"),authType:"compatible",onToggle:t=>I(e.id,"apikey",t)},e.id))})]}),(0,r.jsx)(y,{isOpen:p,onClose:()=>m(!1),onCreated:e=>{l(t=>[...t,e]),m(!1)}}),(0,r.jsx)(j,{isOpen:u,onClose:()=>f(!1),onCreated:e=>{l(t=>[...t,e]),f(!1)}}),k&&(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[10vh]",onClick:()=>T(null),children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm"}),(0,r.jsxs)("div",{className:"relative bg-surface border border-border rounded-xl w-full max-w-[600px] max-h-[80vh] overflow-y-auto shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"sticky top-0 z-10 flex items-center justify-between px-5 py-3 border-b border-border bg-surface/95 backdrop-blur-sm rounded-t-xl",children:[(0,r.jsx)("h3",{className:"font-semibold",children:"Test Results"}),(0,r.jsx)("button",{onClick:()=>T(null),className:"p-1 rounded-lg hover:bg-bg text-text-muted hover:text-text-main transition-colors","aria-label":"Close test results",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-lg",children:"close"})})]}),(0,r.jsx)("div",{className:"p-5",children:(0,r.jsx)(N,{results:k})})]})]})]})}function v({providerId:e,provider:t,stats:s,authType:a,onToggle:l}){let{connected:i,error:d,errorCode:c,errorTime:p,allDisabled:x}=s,u=!!t.noAuth;return(0,r.jsx)(m(),{href:`/dashboard/providers/${e}`,className:"group",children:(0,r.jsx)(n.Zp,{padding:"xs",className:`h-full hover:bg-black/[0.01] dark:hover:bg-white/[0.01] transition-colors cursor-pointer ${x?"opacity-50":""}`,children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"size-8 rounded-lg flex items-center justify-center",style:{backgroundColor:`${t.color?.length>7?t.color:t.color+"15"}`},children:(0,r.jsx)(o.A,{src:`/providers/${t.id}.png`,alt:t.name,size:30,className:"object-contain rounded-lg max-w-[32px] max-h-[32px]",fallbackText:t.textIcon||t.id.slice(0,2).toUpperCase(),fallbackColor:t.color})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-semibold",children:t.name}),(0,r.jsx)("div",{className:"flex items-center gap-2 text-xs flex-wrap",children:x?(0,r.jsx)(n.Ex,{variant:"default",size:"sm",children:(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"pause_circle"}),"Disabled"]})}):u?(0,r.jsx)(n.Ex,{variant:"success",size:"sm",dot:!0,children:"Ready"}):(0,r.jsxs)(r.Fragment,{children:[f(i,d,c),p&&(0,r.jsx)("span",{className:"text-text-muted",children:p})]})})]})]}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:s.total>0&&(0,r.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:e=>{e.preventDefault(),e.stopPropagation(),l(!!x)},children:(0,r.jsx)(n.lM,{size:"sm",checked:!x,onChange:()=>{},title:x?"Enable provider":"Disable provider"})})})]})})})}function g({providerId:e,provider:t,stats:s,authType:a,onToggle:l}){let{connected:i,error:d,errorCode:p,errorTime:x,allDisabled:u}=s,h=e.startsWith(c.JH),b=e.startsWith(c.DI);return(0,r.jsx)(m(),{href:`/dashboard/providers/${e}`,className:"group",children:(0,r.jsx)(n.Zp,{padding:"xs",className:`h-full hover:bg-black/[0.01] dark:hover:bg-white/[0.01] transition-colors cursor-pointer ${u?"opacity-50":""}`,children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"size-8 rounded-lg flex items-center justify-center",style:{backgroundColor:`${t.color?.length>7?t.color:t.color+"15"}`},children:(0,r.jsx)(o.A,{src:h?"responses"===t.apiType?"/providers/oai-r.png":"/providers/oai-cc.png":b?"/providers/anthropic-m.png":`/providers/${t.id}.png`,alt:t.name,size:30,className:"object-contain rounded-lg max-w-[30px] max-h-[30px]",fallbackText:t.textIcon||t.id.slice(0,2).toUpperCase(),fallbackColor:t.color})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-semibold",children:t.name}),(0,r.jsx)("div",{className:"flex items-center gap-2 text-xs flex-wrap",children:u?(0,r.jsx)(n.Ex,{variant:"default",size:"sm",children:(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"pause_circle"}),"Disabled"]})}):(0,r.jsxs)(r.Fragment,{children:[f(i,d,p),h&&(0,r.jsx)(n.Ex,{variant:"default",size:"sm",children:"responses"===t.apiType?"Responses":"Chat"}),b&&(0,r.jsx)(n.Ex,{variant:"default",size:"sm",children:"Messages"}),x&&(0,r.jsx)("span",{className:"text-text-muted",children:x})]})})]})]}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:s.total>0&&(0,r.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:e=>{e.preventDefault(),e.stopPropagation(),l(!!u)},children:(0,r.jsx)(n.lM,{size:"sm",checked:!u,onChange:()=>{},title:u?"Enable provider":"Disable provider"})})})]})})})}function y({isOpen:e,onClose:t,onCreated:s}){let[l,i]=(0,a.useState)({name:"",prefix:"",apiType:"chat",baseUrl:"https://api.openai.com/v1"}),[o,d]=(0,a.useState)(!1),[c,p]=(0,a.useState)(""),[m,x]=(0,a.useState)(""),[u,h]=(0,a.useState)(!1),[f,b]=(0,a.useState)(null);(0,a.useEffect)(()=>{i(e=>({...e,baseUrl:"https://api.openai.com/v1"}))},[l.apiType]);let v=async()=>{if(l.name.trim()&&l.prefix.trim()&&l.baseUrl.trim()){d(!0);try{let e=await fetch("/api/provider-nodes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:l.name,prefix:l.prefix,apiType:l.apiType,baseUrl:l.baseUrl,type:"openai-compatible"})}),t=await e.json();e.ok&&(s(t.node),i({name:"",prefix:"",apiType:"chat",baseUrl:"https://api.openai.com/v1"}),p(""),b(null))}catch(e){console.log("Error creating OpenAI Compatible node:",e)}finally{d(!1)}}},g=async()=>{h(!0);try{let e=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:l.baseUrl,apiKey:c,type:"openai-compatible",modelId:m.trim()||void 0})}),t=await e.json();b(t)}catch{b({valid:!1,error:"Network error"})}finally{h(!1)}};return(0,r.jsx)(n.aF,{isOpen:e,title:"Add OpenAI Compatible",onClose:t,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(n.pd,{label:"Name",value:l.name,onChange:e=>i({...l,name:e.target.value}),placeholder:"OpenAI Compatible (Prod)",hint:"Required. A friendly label for this node."}),(0,r.jsx)(n.pd,{label:"Prefix",value:l.prefix,onChange:e=>i({...l,prefix:e.target.value}),placeholder:"oc-prod",hint:"Required. Used as the provider prefix for model IDs."}),(0,r.jsx)(n.l6,{label:"API Type",options:[{value:"chat",label:"Chat Completions"},{value:"responses",label:"Responses API"}],value:l.apiType,onChange:e=>i({...l,apiType:e.target.value})}),(0,r.jsx)(n.pd,{label:"Base URL",value:l.baseUrl,onChange:e=>i({...l,baseUrl:e.target.value}),placeholder:"https://api.openai.com/v1",hint:"Use the base URL (ending in /v1) for your OpenAI-compatible API."}),(0,r.jsx)(n.pd,{label:"API Key (for Check)",type:"password",value:c,onChange:e=>p(e.target.value)}),(0,r.jsx)(n.pd,{label:"Model ID (optional)",value:m,onChange:e=>x(e.target.value),placeholder:"e.g. gpt-4, claude-3-opus",hint:"If provider lacks /models endpoint, enter a model ID to validate via chat/completions instead."}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(n.$n,{onClick:g,disabled:!c||u||!l.baseUrl.trim(),variant:"secondary",children:u?"Checking...":"Check"}),(()=>{if(!f)return null;let{valid:e,error:t,method:s}=f;return e?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.Ex,{variant:"success",children:"Valid"}),"chat"===s&&(0,r.jsx)("span",{className:"text-sm text-text-muted",children:"(via inference test)"})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(n.Ex,{variant:"error",children:"Invalid"}),t&&(0,r.jsx)("span",{className:"text-sm text-red-500",children:t})]})})()]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(n.$n,{onClick:v,fullWidth:!0,disabled:!l.name.trim()||!l.prefix.trim()||!l.baseUrl.trim()||o,children:o?"Creating...":"Create"}),(0,r.jsx)(n.$n,{onClick:t,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}function j({isOpen:e,onClose:t,onCreated:s}){let[l,i]=(0,a.useState)({name:"",prefix:"",baseUrl:"https://api.anthropic.com/v1"}),[o,d]=(0,a.useState)(!1),[c,p]=(0,a.useState)(""),[m,x]=(0,a.useState)(""),[u,h]=(0,a.useState)(!1),[f,b]=(0,a.useState)(null);(0,a.useEffect)(()=>{e&&(b(null),p(""),x(""))},[e]);let v=async()=>{if(l.name.trim()&&l.prefix.trim()&&l.baseUrl.trim()){d(!0);try{let e=await fetch("/api/provider-nodes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:l.name,prefix:l.prefix,baseUrl:l.baseUrl,type:"anthropic-compatible"})}),t=await e.json();e.ok&&(s(t.node),i({name:"",prefix:"",baseUrl:"https://api.anthropic.com/v1"}),p(""),b(null))}catch(e){console.log("Error creating Anthropic Compatible node:",e)}finally{d(!1)}}},g=async()=>{h(!0);try{let e=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:l.baseUrl,apiKey:c,type:"anthropic-compatible",modelId:m.trim()||void 0})}),t=await e.json();b(t)}catch{b({valid:!1,error:"Network error"})}finally{h(!1)}};return(0,r.jsx)(n.aF,{isOpen:e,title:"Add Anthropic Compatible",onClose:t,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(n.pd,{label:"Name",value:l.name,onChange:e=>i({...l,name:e.target.value}),placeholder:"Anthropic Compatible (Prod)",hint:"Required. A friendly label for this node."}),(0,r.jsx)(n.pd,{label:"Prefix",value:l.prefix,onChange:e=>i({...l,prefix:e.target.value}),placeholder:"ac-prod",hint:"Required. Used as the provider prefix for model IDs."}),(0,r.jsx)(n.pd,{label:"Base URL",value:l.baseUrl,onChange:e=>i({...l,baseUrl:e.target.value}),placeholder:"https://api.anthropic.com/v1",hint:"Use the base URL (ending in /v1) for your Anthropic-compatible API. The system will append /messages."}),(0,r.jsx)(n.pd,{label:"API Key (for Check)",type:"password",value:c,onChange:e=>p(e.target.value)}),(0,r.jsx)(n.pd,{label:"Model ID (optional)",value:m,onChange:e=>x(e.target.value),placeholder:"e.g. claude-3-opus",hint:"If provider lacks /models endpoint, enter a model ID to validate via chat/completions instead."}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(n.$n,{onClick:g,disabled:!c||u||!l.baseUrl.trim(),variant:"secondary",children:u?"Checking...":"Check"}),(()=>{if(!f)return null;let{valid:e,error:t,method:s}=f;return e?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.Ex,{variant:"success",children:"Valid"}),"chat"===s&&(0,r.jsx)("span",{className:"text-sm text-text-muted",children:"(via inference test)"})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(n.Ex,{variant:"error",children:"Invalid"}),t&&(0,r.jsx)("span",{className:"text-sm text-red-500",children:t})]})})()]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(n.$n,{onClick:v,fullWidth:!0,disabled:!l.name.trim()||!l.prefix.trim()||!l.baseUrl.trim()||o,children:o?"Creating...":"Create"}),(0,r.jsx)(n.$n,{onClick:t,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}function N({results:e}){if(e.error&&!e.results)return(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-red-500 text-[32px] mb-2 block",children:"error"}),(0,r.jsx)("p",{className:"text-sm text-red-400",children:e.error})]});let{summary:t,mode:s}=e,a=e.results||[];return(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[t&&(0,r.jsxs)("div",{className:"flex items-center gap-3 text-xs mb-1",children:[(0,r.jsxs)("span",{className:"text-text-muted",children:[{oauth:"OAuth",free:"Free",apikey:"API Key",provider:"Provider",all:"All"}[s]||s," Test"]}),(0,r.jsxs)("span",{className:"px-2 py-0.5 rounded bg-emerald-500/15 text-emerald-400 font-medium",children:[t.passed," passed"]}),t.failed>0&&(0,r.jsxs)("span",{className:"px-2 py-0.5 rounded bg-red-500/15 text-red-400 font-medium",children:[t.failed," failed"]}),(0,r.jsxs)("span",{className:"text-text-muted ml-auto",children:[t.total," tested"]})]}),a.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs px-3 py-2 rounded-lg bg-black/[0.03] dark:bg-white/[0.03]",children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[16px] ${e.valid?"text-emerald-500":"text-red-500"}`,children:e.valid?"check_circle":"error"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"font-medium",children:e.connectionName}),(0,r.jsxs)("span",{className:"text-text-muted ml-1.5",children:["(",e.provider,")"]})]}),void 0!==e.latencyMs&&(0,r.jsxs)("span",{className:"text-text-muted font-mono tabular-nums",children:[e.latencyMs,"ms"]}),(0,r.jsx)("span",{className:`text-[10px] uppercase font-bold px-1.5 py-0.5 rounded ${e.valid?"bg-emerald-500/15 text-emerald-400":"bg-red-500/15 text-red-400"}`,children:e.valid?"OK":e.diagnosis?.type||"ERROR"})]},e.connectionId||t)),0===a.length&&(0,r.jsx)("div",{className:"text-center py-4 text-text-muted text-sm",children:"No active connections found for this group."})]})}v.propTypes={providerId:i().string.isRequired,provider:i().shape({id:i().string.isRequired,name:i().string.isRequired,color:i().string,textIcon:i().string}).isRequired,stats:i().shape({connected:i().number,error:i().number,errorCode:i().string,errorTime:i().string}).isRequired,authType:i().string,onToggle:i().func},g.propTypes={providerId:i().string.isRequired,provider:i().shape({id:i().string.isRequired,name:i().string.isRequired,color:i().string,textIcon:i().string,apiType:i().string}).isRequired,stats:i().shape({connected:i().number,error:i().number,errorCode:i().string,errorTime:i().string}).isRequired,authType:i().string,onToggle:i().func},y.propTypes={isOpen:i().bool.isRequired,onClose:i().func.isRequired,onCreated:i().func.isRequired},j.propTypes={isOpen:i().bool.isRequired,onClose:i().func.isRequired,onCreated:i().func.isRequired},N.propTypes={results:i().shape({mode:i().string,results:i().array,summary:i().shape({total:i().number,passed:i().number,failed:i().number}),error:i().string}).isRequired}}},e=>{e.O(0,[7848,4335,2599,505,4156,2347,5158,7358],()=>e(e.s=43007)),_N_E=e.O()}]);
|
package/app/package.json
CHANGED
package/app/src/mitm/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x281a38=a0_0x551a;(function(_0x40c012,_0x3fea8c){const _0x5b8089=a0_0x551a,_0x5cc0ec=_0x40c012();while(!![]){try{const _0x1d060f=-parseInt(_0x5b8089(0x15a))/0x1*(-parseInt(_0x5b8089(0x113))/0x2)+parseInt(_0x5b8089(0xca))/0x3*(-parseInt(_0x5b8089(0x83))/0x4)+-parseInt(_0x5b8089(0x116))/0x5*(parseInt(_0x5b8089(0x70))/0x6)+-parseInt(_0x5b8089(0x105))/0x7*(-parseInt(_0x5b8089(0x112))/0x8)+parseInt(_0x5b8089(0xd7))/0x9+parseInt(_0x5b8089(0x8b))/0xa+-parseInt(_0x5b8089(0x149))/0xb*(parseInt(_0x5b8089(0xad))/0xc);if(_0x1d060f===_0x3fea8c)break;else _0x5cc0ec['push'](_0x5cc0ec['shift']());}catch(_0x2c7275){_0x5cc0ec['push'](_0x5cc0ec['shift']());}}}(a0_0x2d79,0xd6dcc));var __getOwnPropNames=Object[a0_0x281a38(0x13d)],__commonJS=(_0x2fb22e,_0x6305ed)=>function _0x17b8de(){const _0x5267a9=a0_0x281a38;return _0x6305ed||(0x0,_0x2fb22e[__getOwnPropNames(_0x2fb22e)[0x0]])((_0x6305ed={'exports':{}})[_0x5267a9(0x6b)],_0x6305ed),_0x6305ed['exports'];},require_logger=__commonJS({'../app/src/mitm/logger.js'(_0x232d15,_0x50d28c){const _0x5c1ae3=a0_0x281a38;function _0x48fb43(){const _0x2fe61f=a0_0x551a;return new Date()[_0x2fe61f(0x8e)](_0x2fe61f(0x155),{'hour12':![]});}var _0x263d07=_0x130df3=>console['log']('['+_0x48fb43()+']\x20[MITM]\x20'+_0x130df3),_0x2c391b=_0x57badc=>console[_0x5c1ae3(0x10f)]('['+_0x48fb43()+_0x5c1ae3(0xe8)+_0x57badc);_0x50d28c[_0x5c1ae3(0x6b)]={'log':_0x263d07,'err':_0x2c391b};}}),require_config=__commonJS({'../app/src/mitm/config.js'(_0x3c89ee,_0x3a2c9e){const _0x7b8afb=a0_0x281a38;var _0xeb4583=['daily-cloudcode-pa.googleapis.com',_0x7b8afb(0x115),_0x7b8afb(0x11a),_0x7b8afb(0xe0),_0x7b8afb(0xb2)],_0x76431d={'antigravity':[_0x7b8afb(0xd2),':streamGenerateContent'],'copilot':[_0x7b8afb(0x98),_0x7b8afb(0x99),_0x7b8afb(0x13c)],'kiro':['/generateAssistantResponse'],'cursor':[_0x7b8afb(0x147),'/RunSSE',_0x7b8afb(0xb5),_0x7b8afb(0xee)]};function _0x811d1b(_0x5ef2f5){const _0x13e36c=_0x7b8afb,_0x539dcd=(_0x5ef2f5||'')[_0x13e36c(0x152)](':')[0x0];if(_0x539dcd==='api.individual.githubcopilot.com')return _0x13e36c(0x81);if(_0x539dcd===_0x13e36c(0xd6)||_0x539dcd===_0x13e36c(0x115))return _0x13e36c(0xae);if(_0x539dcd==='q.us-east-1.amazonaws.com')return _0x13e36c(0x12e);if(_0x539dcd===_0x13e36c(0xb2))return _0x13e36c(0x11d);return null;}_0x3a2c9e[_0x7b8afb(0x6b)]={'TARGET_HOSTS':_0xeb4583,'URL_PATTERNS':_0x76431d,'getToolForHost':_0x811d1b};}}),require_paths=__commonJS({'../app/src/mitm/paths.js'(_0x55b132,_0x37e414){const _0x1f00a3=a0_0x281a38;var _0x391a6e=require(_0x1f00a3(0x153)),_0x2609de=require('os');function _0x244f11(){const _0x5c4136=_0x1f00a3;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process['platform']==='win32')return _0x391a6e['join'](process.env.APPDATA||_0x391a6e[_0x5c4136(0x13a)](_0x2609de[_0x5c4136(0x142)](),_0x5c4136(0x110),_0x5c4136(0xa6)),_0x5c4136(0xba));return _0x391a6e[_0x5c4136(0x13a)](_0x2609de[_0x5c4136(0x142)](),'.9router');}var _0x90fda3=_0x244f11(),_0x3dd4c4=_0x391a6e[_0x1f00a3(0x13a)](_0x90fda3,_0x1f00a3(0xcf));_0x37e414[_0x1f00a3(0x6b)]={'DATA_DIR':_0x90fda3,'MITM_DIR':_0x3dd4c4};}}),require_rootCA=__commonJS({'../app/src/mitm/cert/rootCA.js'(_0x1868b2,_0x3392d4){const _0x109f12=a0_0x281a38;var _0x4086c6=require(_0x109f12(0x153)),_0x46d345=require('fs'),_0x27a3be=require(_0x109f12(0x154)),{MITM_DIR:_0x475804}=require_paths(),_0xce9394=_0x4086c6['join'](_0x475804,_0x109f12(0xd8)),_0x2bb6f2=_0x4086c6[_0x109f12(0x13a)](_0x475804,_0x109f12(0xe1));function _0x241405(_0x589262){const _0x2cb287=_0x109f12;try{const _0x12cfd7=_0x27a3be[_0x2cb287(0x10b)]['certificateFromPem'](_0x46d345['readFileSync'](_0x589262,_0x2cb287(0x96))),_0xa7252d=new Date(Date[_0x2cb287(0xfc)]()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x12cfd7[_0x2cb287(0x12b)][_0x2cb287(0xd1)]<_0xa7252d;}catch{return!![];}}async function _0x48ee60(){const _0x119a16=_0x109f12,_0xc5755a=_0x46d345[_0x119a16(0x8f)](_0xce9394)&&_0x46d345[_0x119a16(0x8f)](_0x2bb6f2);if(_0xc5755a&&!_0x241405(_0x2bb6f2))return console['log'](_0x119a16(0x122)),{'key':_0xce9394,'cert':_0x2bb6f2};if(_0xc5755a){console[_0x119a16(0x111)](_0x119a16(0x131));try{_0x46d345[_0x119a16(0xbe)](_0xce9394);}catch{}try{_0x46d345[_0x119a16(0xbe)](_0x2bb6f2);}catch{}}!_0x46d345[_0x119a16(0x8f)](_0x475804)&&_0x46d345[_0x119a16(0x136)](_0x475804,{'recursive':!![]});console[_0x119a16(0x111)](_0x119a16(0x9b));const _0x33111b=_0x27a3be[_0x119a16(0x10b)][_0x119a16(0xe5)][_0x119a16(0x14e)](0x800),_0x5ee0e3=_0x27a3be['pki'][_0x119a16(0x6e)]();_0x5ee0e3['publicKey']=_0x33111b[_0x119a16(0xb6)],_0x5ee0e3['serialNumber']='01',_0x5ee0e3[_0x119a16(0x12b)]['notBefore']=new Date(),_0x5ee0e3[_0x119a16(0x12b)][_0x119a16(0xd1)]=new Date(),_0x5ee0e3['validity'][_0x119a16(0xd1)][_0x119a16(0x141)](_0x5ee0e3['validity'][_0x119a16(0x121)][_0x119a16(0xc0)]()+0xa);const _0x37914c=[{'name':_0x119a16(0x7d),'value':_0x119a16(0xc5)},{'name':_0x119a16(0xdf),'value':_0x119a16(0xb4)},{'name':_0x119a16(0x6d),'value':'US'}];_0x5ee0e3['setSubject'](_0x37914c),_0x5ee0e3[_0x119a16(0x86)](_0x37914c),_0x5ee0e3[_0x119a16(0x97)]([{'name':_0x119a16(0x7e),'cA':!![],'critical':!![]},{'name':'keyUsage','keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':_0x119a16(0x9c)}]),_0x5ee0e3[_0x119a16(0x79)](_0x33111b['privateKey'],_0x27a3be['md'][_0x119a16(0x74)]['create']());const _0x1f3ead=_0x27a3be['pki'][_0x119a16(0x102)](_0x33111b[_0x119a16(0x146)]),_0x5b52c6=_0x27a3be['pki'][_0x119a16(0x143)](_0x5ee0e3);return _0x46d345[_0x119a16(0xd5)](_0xce9394,_0x1f3ead),_0x46d345[_0x119a16(0xd5)](_0x2bb6f2,_0x5b52c6),console[_0x119a16(0x111)](_0x119a16(0xbf)),{'key':_0xce9394,'cert':_0x2bb6f2};}function _0x37bca9(){const _0x20be78=_0x109f12;if(!_0x46d345[_0x20be78(0x8f)](_0xce9394)||!_0x46d345['existsSync'](_0x2bb6f2))throw new Error(_0x20be78(0xbc));const _0x57133b=_0x46d345[_0x20be78(0x145)](_0xce9394,'utf8'),_0x9a8e26=_0x46d345['readFileSync'](_0x2bb6f2,_0x20be78(0x96));return{'key':_0x27a3be['pki']['privateKeyFromPem'](_0x57133b),'cert':_0x27a3be[_0x20be78(0x10b)][_0x20be78(0x118)](_0x9a8e26)};}function _0x28de7b(_0x1dbe42,_0x412c30){const _0x22b060=_0x109f12,_0x4f5179=_0x27a3be['pki'][_0x22b060(0xe5)][_0x22b060(0x14e)](0x800),_0x2303e1=_0x27a3be['pki'][_0x22b060(0x6e)]();return _0x2303e1['publicKey']=_0x4f5179[_0x22b060(0xb6)],_0x2303e1[_0x22b060(0x144)]=Math['floor'](Math[_0x22b060(0x14f)]()*0xf4240)[_0x22b060(0x80)](),_0x2303e1['validity']['notBefore']=new Date(),_0x2303e1['validity'][_0x22b060(0xd1)]=new Date(),_0x2303e1[_0x22b060(0x12b)][_0x22b060(0xd1)][_0x22b060(0x141)](_0x2303e1['validity'][_0x22b060(0x121)]['getFullYear']()+0x1),_0x2303e1[_0x22b060(0x108)]([{'name':'commonName','value':_0x1dbe42}]),_0x2303e1[_0x22b060(0x86)](_0x412c30[_0x22b060(0x6a)]['subject'][_0x22b060(0x8d)]),_0x2303e1['setExtensions']([{'name':_0x22b060(0x7e),'cA':![]},{'name':_0x22b060(0xcd),'digitalSignature':!![],'keyEncipherment':!![]},{'name':_0x22b060(0xb0),'serverAuth':!![],'clientAuth':!![]},{'name':_0x22b060(0xe4),'altNames':[{'type':0x2,'value':_0x1dbe42},{'type':0x2,'value':'*.'+_0x1dbe42}]}]),_0x2303e1[_0x22b060(0x79)](_0x412c30[_0x22b060(0x104)],_0x27a3be['md']['sha256'][_0x22b060(0xaf)]()),{'key':_0x27a3be[_0x22b060(0x10b)][_0x22b060(0x102)](_0x4f5179['privateKey']),'cert':_0x27a3be['pki'][_0x22b060(0x143)](_0x2303e1)};}_0x3392d4['exports']={'generateRootCA':_0x48ee60,'loadRootCA':_0x37bca9,'generateLeafCert':_0x28de7b,'isCertExpired':_0x241405,'ROOT_CA_CERT_PATH':_0x2bb6f2,'ROOT_CA_KEY_PATH':_0xce9394};}}),require_generate=__commonJS({'../app/src/mitm/cert/generate.js'(_0x18cb14,_0xe74386){var _0x574c98=require('path'),_0x74b0d7=require('fs'),{MITM_DIR:_0x3cbfb2}=require_paths(),{generateRootCA:_0x173fdb,loadRootCA:_0x3fcef6,generateLeafCert:_0x12ced3}=require_rootCA();async function _0x2c62ae(){return await _0x173fdb();}function _0x98413(_0x23edd9){const _0x93bce4=a0_0x551a;try{const _0x49bcf3=_0x3fcef6(),_0x5adb26=_0x12ced3(_0x23edd9,_0x49bcf3);return{'key':_0x5adb26[_0x93bce4(0x104)],'cert':_0x5adb26[_0x93bce4(0x6a)]};}catch(_0x1ed134){return console[_0x93bce4(0x10f)]('Failed\x20to\x20generate\x20cert\x20for\x20'+_0x23edd9+':',_0x1ed134[_0x93bce4(0xbb)]),null;}}_0xe74386['exports']={'generateCert':_0x2c62ae,'getCertForDomain':_0x98413};}}),require_base=__commonJS({'../app/src/mitm/handlers/base.js'(_0x3a5414,_0x8fe524){const _0x521b3b=a0_0x281a38;var {log:_0x565c6b,err:_0x288e4c}=require_logger(),_0x2152f5='http://localhost:20128',_0x32a98b=String(process.env.MITM_ROUTER_BASE||_0x2152f5)[_0x521b3b(0xda)]()[_0x521b3b(0xde)](/\/+$/,'')||_0x2152f5,_0x34a2fd=process.env.ROUTER_API_KEY;async function _0x2a66ad(_0x47ef7,_0x399278=_0x521b3b(0x107)){const _0x420b6d=_0x521b3b,_0x598719=await fetch(''+_0x32a98b+_0x399278,{'method':_0x420b6d(0x12f),'headers':{'Content-Type':'application/json',..._0x34a2fd&&{'Authorization':'Bearer\x20'+_0x34a2fd}},'body':JSON[_0x420b6d(0x15d)](_0x47ef7)});if(!_0x598719['ok']){const _0x18eee7=await _0x598719[_0x420b6d(0xec)]()[_0x420b6d(0x14c)](()=>'');throw new Error('['+_0x598719[_0x420b6d(0xa1)]+_0x420b6d(0x12d)+_0x18eee7);}return _0x598719;}async function _0x5bfd4d(_0x178048,_0x499342){const _0xb62de9=_0x521b3b,_0x3f50a2=_0x178048['headers']['get'](_0xb62de9(0xf2))||'application/json',_0x1d6ba3={'Content-Type':_0x3f50a2,'Cache-Control':_0xb62de9(0x9f),'Connection':_0xb62de9(0xeb)};if(_0x3f50a2[_0xb62de9(0x88)](_0xb62de9(0x120)))_0x1d6ba3['X-Accel-Buffering']='no';_0x499342[_0xb62de9(0xac)](0xc8,_0x1d6ba3);if(!_0x178048['body']){_0x499342[_0xb62de9(0x125)](await _0x178048[_0xb62de9(0xec)]()['catch'](()=>''));return;}const _0x31f8f8=_0x178048[_0xb62de9(0x10c)][_0xb62de9(0xc3)](),_0x27726a=new TextDecoder();while(!![]){const {done:_0x365a13,value:_0xe9afd5}=await _0x31f8f8[_0xb62de9(0xa0)]();if(_0x365a13){_0x499342[_0xb62de9(0x125)]();break;}_0x499342[_0xb62de9(0x9e)](_0x27726a[_0xb62de9(0xf6)](_0xe9afd5,{'stream':!![]}));}}_0x8fe524[_0x521b3b(0x6b)]={'fetchRouter':_0x2a66ad,'pipeSSE':_0x5bfd4d};}}),require_antigravity=__commonJS({'../app/src/mitm/handlers/antigravity.js'(_0x913483,_0x39d484){const _0x2c5660=a0_0x281a38;var {err:_0xe7e2a3}=require_logger(),{fetchRouter:_0x371276,pipeSSE:_0x3f9ec5}=require_base();async function _0x953f60(_0x4cd95c,_0x5b7156,_0x653806,_0x546904){const _0x1a42ed=a0_0x551a;try{const _0x3f9184=JSON[_0x1a42ed(0x7a)](_0x653806[_0x1a42ed(0x80)]());_0x3f9184['model']=_0x546904;const _0x9d10e4=await _0x371276(_0x3f9184);await _0x3f9ec5(_0x9d10e4,_0x5b7156);}catch(_0x50733a){_0xe7e2a3(_0x1a42ed(0xf3)+_0x50733a[_0x1a42ed(0xbb)]);if(!_0x5b7156['headersSent'])_0x5b7156[_0x1a42ed(0xac)](0x1f4,{'Content-Type':_0x1a42ed(0x76)});_0x5b7156[_0x1a42ed(0x125)](JSON['stringify']({'error':{'message':_0x50733a['message'],'type':'mitm_error'}}));}}_0x39d484[_0x2c5660(0x6b)]={'intercept':_0x953f60};}}),require_copilot=__commonJS({'../app/src/mitm/handlers/copilot.js'(_0x180d5c,_0x67b2c5){const _0x130366=a0_0x281a38;var {err:_0x32309e}=require_logger(),{fetchRouter:_0x103d50,pipeSSE:_0x566424}=require_base(),_0x3929dc={'/chat/completions':_0x130366(0x107),'/v1/messages':'/v1/messages','/responses':_0x130366(0x10a)};function _0x47b386(_0x10012b){const _0x571849=_0x130366;for(const [_0x3367d3,_0x1d4fb4]of Object[_0x571849(0x128)](_0x3929dc)){if(_0x10012b['includes'](_0x3367d3))return _0x1d4fb4;}return'/v1/chat/completions';}async function _0x683a9a(_0x480efe,_0x14733d,_0x8c2077,_0x2f0a2b){const _0x37b18d=_0x130366;try{const _0x301d8b=JSON[_0x37b18d(0x7a)](_0x8c2077[_0x37b18d(0x80)]());_0x301d8b[_0x37b18d(0x135)]=_0x2f0a2b;const _0x777211=_0x47b386(_0x480efe[_0x37b18d(0x9a)]),_0x57cd3d=await _0x103d50(_0x301d8b,_0x777211);await _0x566424(_0x57cd3d,_0x14733d);}catch(_0x88847f){_0x32309e(_0x37b18d(0xf9)+_0x88847f[_0x37b18d(0xbb)]);if(!_0x14733d[_0x37b18d(0x6f)])_0x14733d[_0x37b18d(0xac)](0x1f4,{'Content-Type':_0x37b18d(0x76)});_0x14733d[_0x37b18d(0x125)](JSON[_0x37b18d(0x15d)]({'error':{'message':_0x88847f[_0x37b18d(0xbb)],'type':_0x37b18d(0x159)}}));}}_0x67b2c5[_0x130366(0x6b)]={'intercept':_0x683a9a};}}),require_kiro=__commonJS({'../app/src/mitm/dev/kiro.js'(_0x188c2e,_0x1d462f){var _0x103f5f=require('zlib'),{log:_0x5f0ccb,err:_0x10e79f}=require_logger(),{fetchRouter:_0xf7b18f}=require_base();function _0x304992(_0x2e55b7){const _0x2a5646=a0_0x551a;if(typeof _0x2e55b7!==_0x2a5646(0xfe))return![];return _0x2e55b7[_0x2a5646(0x88)]('<identity>')||_0x2e55b7[_0x2a5646(0x88)]('You\x20are\x20an\x20intent\x20classifier');}function _0x5e54a0(_0x5b7ebc,_0x24719b){const _0x3817d2=a0_0x551a,_0xd760c0=_0x5b7ebc[_0x3817d2(0x13f)]||{},_0x256072=_0xd760c0[_0x3817d2(0xa7)]||[],_0x3edd88=_0xd760c0[_0x3817d2(0xc7)]?.[_0x3817d2(0x11e)],_0x4f9a66=[];let _0x2e4986=![];for(const _0x24b9db of _0x256072){if(_0x24b9db[_0x3817d2(0x11e)]){const _0x252b6c=_0x24b9db[_0x3817d2(0x11e)],_0x38b99b=(_0x252b6c[_0x3817d2(0x12c)]||'')['trim'](),_0x944670=_0x252b6c[_0x3817d2(0x78)]?.[_0x3817d2(0x14b)];if(!_0x2e4986&&_0x304992(_0x38b99b)){_0x4f9a66[_0x3817d2(0x9d)]({'role':_0x3817d2(0x11b),'content':_0x38b99b}),_0x2e4986=!![];if(_0x944670?.[_0x3817d2(0x106)]>0x0)for(const _0x5c1371 of _0x944670){_0x4f9a66[_0x3817d2(0x9d)]({'role':'tool','tool_call_id':_0x5c1371[_0x3817d2(0x127)],'content':_0x5c1371['content']?.[_0x3817d2(0x84)](_0x212a48=>_0x212a48[_0x3817d2(0xec)])['join']('\x0a')||''});}continue;}if(_0x944670?.[_0x3817d2(0x106)]>0x0)for(const _0x350a9b of _0x944670){_0x4f9a66[_0x3817d2(0x9d)]({'role':_0x3817d2(0xa8),'tool_call_id':_0x350a9b[_0x3817d2(0x127)],'content':_0x350a9b['content']?.[_0x3817d2(0x84)](_0x3d92b3=>_0x3d92b3[_0x3817d2(0xec)])[_0x3817d2(0x13a)]('\x0a')||''});}if(_0x38b99b)_0x4f9a66['push']({'role':_0x3817d2(0x15b),'content':_0x38b99b});}else{if(_0x24b9db[_0x3817d2(0xd4)]){const _0x58b0c9=_0x24b9db['assistantResponseMessage'],_0x5be39e={'role':_0x3817d2(0xc2),'content':_0x58b0c9[_0x3817d2(0x12c)]||''};_0x58b0c9[_0x3817d2(0xff)]?.[_0x3817d2(0x106)]>0x0&&(_0x5be39e[_0x3817d2(0x109)]=_0x58b0c9[_0x3817d2(0xff)]['map'](_0xd7c321=>({'id':_0xd7c321[_0x3817d2(0x127)],'type':_0x3817d2(0xe2),'function':{'name':_0xd7c321[_0x3817d2(0x89)],'arguments':JSON['stringify'](_0xd7c321[_0x3817d2(0xf5)]||{})}}))),_0x4f9a66[_0x3817d2(0x9d)](_0x5be39e);}}}if(_0x3edd88){const _0x318663=_0x3edd88[_0x3817d2(0x78)]?.[_0x3817d2(0x14b)];if(_0x318663?.[_0x3817d2(0x106)]>0x0)for(const _0x1d0953 of _0x318663){_0x4f9a66[_0x3817d2(0x9d)]({'role':_0x3817d2(0xa8),'tool_call_id':_0x1d0953[_0x3817d2(0x127)],'content':_0x1d0953[_0x3817d2(0x12c)]?.[_0x3817d2(0x84)](_0x3e0d31=>_0x3e0d31[_0x3817d2(0xec)])[_0x3817d2(0x13a)]('\x0a')||''});}const _0x188a2e=(_0x3edd88['content']||'')['trim']();if(_0x188a2e)_0x4f9a66[_0x3817d2(0x9d)]({'role':_0x3817d2(0x15b),'content':_0x188a2e});}const _0x1ae60f={'model':_0x24719b,'messages':_0x4f9a66,'stream':!![],'stream_options':{'include_usage':!![]}},_0x3b59e2=_0x3edd88?.[_0x3817d2(0x78)]?.[_0x3817d2(0xab)];return _0x3b59e2?.[_0x3817d2(0x106)]>0x0&&(_0x1ae60f[_0x3817d2(0xab)]=_0x3b59e2[_0x3817d2(0x84)](_0x3da51a=>({'type':_0x3817d2(0xe2),'function':{'name':_0x3da51a[_0x3817d2(0x137)][_0x3817d2(0x89)],'description':_0x3da51a['toolSpecification']['description']||_0x3da51a['toolSpecification'][_0x3817d2(0x89)],'parameters':_0x3da51a['toolSpecification'][_0x3817d2(0xc1)]?.[_0x3817d2(0x7b)]||{'type':_0x3817d2(0xb1),'properties':{}}}}))),_0x1ae60f;}function _0x10ebb7(_0x1835b2,_0x461910){const _0x17c2b1=a0_0x551a,_0x914fb9=Buffer[_0x17c2b1(0xea)](JSON[_0x17c2b1(0x15d)](_0x461910),'utf8'),_0x2f3f5f=[[':event-type',_0x1835b2],[_0x17c2b1(0x77),_0x17c2b1(0x76)],[':message-type','event']],_0x128c2a=[];for(const [_0x19e66c,_0x3fb6b4]of _0x2f3f5f){const _0x558532=Buffer[_0x17c2b1(0xea)](_0x19e66c,_0x17c2b1(0x96)),_0x57a5e5=Buffer['from'](_0x3fb6b4,'utf8'),_0x23f166=Buffer['alloc'](0x1+_0x558532[_0x17c2b1(0x106)]+0x1+0x2+_0x57a5e5['length']);let _0xc2048a=0x0;_0x23f166[_0xc2048a++]=_0x558532[_0x17c2b1(0x106)],_0x558532[_0x17c2b1(0xaa)](_0x23f166,_0xc2048a),_0xc2048a+=_0x558532[_0x17c2b1(0x106)],_0x23f166[_0xc2048a++]=0x7,_0x23f166['writeUInt16BE'](_0x57a5e5['length'],_0xc2048a),_0xc2048a+=0x2,_0x57a5e5[_0x17c2b1(0xaa)](_0x23f166,_0xc2048a),_0x128c2a['push'](_0x23f166);}const _0x1fe6e5=Buffer[_0x17c2b1(0xb3)](_0x128c2a),_0x11639a=0x4+0x4+0x4+_0x1fe6e5[_0x17c2b1(0x106)]+_0x914fb9[_0x17c2b1(0x106)]+0x4,_0x4c962c=Buffer['alloc'](_0x11639a);let _0x1ec6d4=0x0;_0x4c962c[_0x17c2b1(0xfa)](_0x11639a,_0x1ec6d4),_0x1ec6d4+=0x4,_0x4c962c[_0x17c2b1(0xfa)](_0x1fe6e5[_0x17c2b1(0x106)],_0x1ec6d4),_0x1ec6d4+=0x4;const _0x1b5158=_0x103f5f[_0x17c2b1(0x129)](_0x4c962c[_0x17c2b1(0xb9)](0x0,0x8));_0x4c962c[_0x17c2b1(0xfa)](_0x1b5158,_0x1ec6d4),_0x1ec6d4+=0x4,_0x1fe6e5[_0x17c2b1(0xaa)](_0x4c962c,_0x1ec6d4),_0x1ec6d4+=_0x1fe6e5['length'],_0x914fb9[_0x17c2b1(0xaa)](_0x4c962c,_0x1ec6d4),_0x1ec6d4+=_0x914fb9[_0x17c2b1(0x106)];const _0x2e869d=_0x103f5f[_0x17c2b1(0x129)](_0x4c962c['slice'](0x0,_0x11639a-0x4));return _0x4c962c['writeUInt32BE'](_0x2e869d,_0x1ec6d4),_0x4c962c;}async function _0x5e647f(_0x1c6cad,_0x45f5fb,_0x44f0e3,_0x32c4b5,_0x286d26){const _0x10a15e=a0_0x551a;try{const _0x291ed2=JSON[_0x10a15e(0x7a)](_0x44f0e3[_0x10a15e(0x80)]()),_0xfdac46=_0x291ed2[_0x10a15e(0x13f)]?.[_0x10a15e(0xce)]||_0x10a15e(0x92);_0x5f0ccb('🔷\x20[KIRO]\x20intercept\x20|\x20conversationId='+_0xfdac46+'\x20|\x20model='+_0x32c4b5);const _0x265b4f=_0x5e54a0(_0x291ed2,_0x32c4b5);_0x5f0ccb(_0x10a15e(0x11c)+_0x265b4f['messages']['length']+_0x10a15e(0xd3)+(_0x265b4f[_0x10a15e(0xab)]?.['length']||0x0));_0x265b4f[_0x10a15e(0xab)]?.[_0x10a15e(0x106)]&&_0x5f0ccb(_0x10a15e(0xc9)+_0x265b4f['tools'][_0x10a15e(0x84)](_0xc56a64=>_0xc56a64[_0x10a15e(0xe2)]['name'])[_0x10a15e(0x13a)](',\x20'));if(!_0x265b4f[_0x10a15e(0xc6)][_0x10a15e(0x106)])return _0x10e79f(_0x10a15e(0x157)),_0x286d26(_0x1c6cad,_0x45f5fb,_0x44f0e3);const _0x51f469=await _0xf7b18f(_0x265b4f);_0x45f5fb['writeHead'](0xc8,{'Content-Type':'application/vnd.amazon.eventstream','Cache-Control':_0x10a15e(0x9f),'Connection':_0x10a15e(0xeb),'Transfer-Encoding':_0x10a15e(0x103),'x-amzn-RequestId':_0x1c6cad[_0x10a15e(0xb8)][_0x10a15e(0xa5)]||_0xfdac46,'x-amzn-codewhisperer-conversation-id':_0xfdac46,'X-XSS-Protection':_0x10a15e(0xa3),'X-Frame-Options':_0x10a15e(0xe3),'X-Content-Type-Options':'nosniff'});const _0x34bad0=_0x51f469[_0x10a15e(0x10c)][_0x10a15e(0xc3)](),_0x4adf67=new TextDecoder();let _0x38a586='',_0x527f89=![];const _0x16e11f={};let _0x16b3a1=null;while(!![]){const {done:_0x1851af,value:_0x3eb269}=await _0x34bad0[_0x10a15e(0xa0)]();if(_0x1851af)break;_0x38a586+=_0x4adf67[_0x10a15e(0xf6)](_0x3eb269,{'stream':!![]});const _0x3d794d=_0x38a586[_0x10a15e(0x152)]('\x0a');_0x38a586=_0x3d794d[_0x10a15e(0x134)]();for(const _0x3e0ec9 of _0x3d794d){if(!_0x3e0ec9[_0x10a15e(0x140)](_0x10a15e(0x15e)))continue;const _0x4f6516=_0x3e0ec9[_0x10a15e(0xb9)](0x6)[_0x10a15e(0xda)]();if(_0x4f6516==='[DONE]')continue;let _0x52ccf5;try{_0x52ccf5=JSON[_0x10a15e(0x7a)](_0x4f6516);}catch{continue;}if(_0x52ccf5['usage'])_0x16b3a1=_0x52ccf5[_0x10a15e(0xcb)];const _0x10bd87=_0x52ccf5[_0x10a15e(0xfd)]?.[0x0];if(!_0x10bd87)continue;const _0x40fa54=_0x10bd87['delta']||{},_0xf82799=_0x10bd87[_0x10a15e(0x13b)];_0x40fa54[_0x10a15e(0x12c)]&&_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7(_0x10a15e(0x6c),{'content':_0x40fa54[_0x10a15e(0x12c)],'modelId':_0x32c4b5}));if(_0x40fa54[_0x10a15e(0x109)]){_0x527f89=!![];for(const _0x129dc6 of _0x40fa54[_0x10a15e(0x109)]){const _0x46ba63=_0x129dc6[_0x10a15e(0x10d)]??0x0;if(!_0x16e11f[_0x46ba63])_0x16e11f[_0x46ba63]={'id':'','name':'','args':''};if(_0x129dc6['id'])_0x16e11f[_0x46ba63]['id']=_0x129dc6['id'];if(_0x129dc6[_0x10a15e(0xe2)]?.['name'])_0x16e11f[_0x46ba63][_0x10a15e(0x89)]=_0x129dc6['function'][_0x10a15e(0x89)];if(_0x129dc6[_0x10a15e(0xe2)]?.['arguments'])_0x16e11f[_0x46ba63][_0x10a15e(0x7f)]+=_0x129dc6[_0x10a15e(0xe2)][_0x10a15e(0x150)];}}if(_0xf82799){if(_0x527f89){for(const _0x3153c0 of Object[_0x10a15e(0x11f)](_0x16e11f)){_0x5f0ccb(_0x10a15e(0xed)+_0x3153c0['id']+_0x10a15e(0x138)+_0x3153c0[_0x10a15e(0x89)]),_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7('toolUseEvent',{'name':_0x3153c0[_0x10a15e(0x89)],'toolUseId':_0x3153c0['id']}));const _0x4bc664=_0x3153c0[_0x10a15e(0x7f)]||'{}',_0x52e449=0x20;for(let _0x5bdb82=0x0;_0x5bdb82<_0x4bc664[_0x10a15e(0x106)];_0x5bdb82+=_0x52e449){_0x45f5fb['write'](_0x10ebb7('toolUseEvent',{'input':_0x4bc664['slice'](_0x5bdb82,_0x5bdb82+_0x52e449),'name':_0x3153c0['name'],'toolUseId':_0x3153c0['id']}));}_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7(_0x10a15e(0xa2),{'name':_0x3153c0['name'],'stop':!![],'toolUseId':_0x3153c0['id']}));}_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7(_0x10a15e(0x6c),{'content':'','modelId':_0x32c4b5}));}const _0x12aa1d=_0x16b3a1?.[_0x10a15e(0x87)]||0x0,_0x43cfe7=_0x16b3a1?.[_0x10a15e(0xe7)]||0x0,_0x1603a1=_0x12aa1d>0x0?_0x12aa1d/0x30d40*0x64:1.5,_0x2bfd6b=_0x43cfe7>0x0?_0x43cfe7*0.000004:0.001;_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7(_0x10a15e(0xf1),{'contextUsagePercentage':_0x1603a1})),_0x45f5fb[_0x10a15e(0x9e)](_0x10ebb7('meteringEvent',{'unit':_0x10a15e(0x151),'unitPlural':'credits','usage':_0x2bfd6b})),_0x5f0ccb(_0x10a15e(0xdd)+_0xf82799+'\x20hasToolCalls='+_0x527f89);}}}_0x45f5fb[_0x10a15e(0x125)]();}catch(_0x2f04bd){_0x10e79f(_0x10a15e(0x126)+_0x2f04bd['message']);if(!_0x45f5fb[_0x10a15e(0x6f)])_0x45f5fb[_0x10a15e(0xac)](0x1f4,{'Content-Type':_0x10a15e(0x76)});_0x45f5fb[_0x10a15e(0x125)](JSON['stringify']({'error':{'message':_0x2f04bd[_0x10a15e(0xbb)],'type':_0x10a15e(0x159)}}));}}_0x1d462f['exports']={'intercept':_0x5e647f};}}),https=require(a0_0x281a38(0xd0)),fs=require('fs'),path=require('path'),dns=require(a0_0x281a38(0x75)),{promisify}=require(a0_0x281a38(0xe9)),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0x281a38(0x13a)](DATA_DIR,'db.json'),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path[a0_0x281a38(0x13a)](DATA_DIR,a0_0x281a38(0xc4),a0_0x281a38(0xcf)),INTERNAL_REQUEST_HEADER={'name':'x-request-source','value':'local'};if(ENABLE_FILE_LOG&&!fs[a0_0x281a38(0x8f)](LOG_DIR))fs[a0_0x281a38(0x136)](LOG_DIR,{'recursive':!![]});function a0_0x551a(_0x52c511,_0x1c5fc2){_0x52c511=_0x52c511-0x6a;const _0x2d79f4=a0_0x2d79();let _0x551aeb=_0x2d79f4[_0x52c511];if(a0_0x551a['SptctG']===undefined){var _0x38e519=function(_0xacbe4f){const _0x29fe31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fb22e='',_0x6305ed='';for(let _0x17b8de=0x0,_0x232d15,_0x50d28c,_0x48fb43=0x0;_0x50d28c=_0xacbe4f['charAt'](_0x48fb43++);~_0x50d28c&&(_0x232d15=_0x17b8de%0x4?_0x232d15*0x40+_0x50d28c:_0x50d28c,_0x17b8de++%0x4)?_0x2fb22e+=String['fromCharCode'](0xff&_0x232d15>>(-0x2*_0x17b8de&0x6)):0x0){_0x50d28c=_0x29fe31['indexOf'](_0x50d28c);}for(let _0x263d07=0x0,_0x2c391b=_0x2fb22e['length'];_0x263d07<_0x2c391b;_0x263d07++){_0x6305ed+='%'+('00'+_0x2fb22e['charCodeAt'](_0x263d07)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6305ed);};a0_0x551a['aCkRpA']=_0x38e519,a0_0x551a['XaFiHX']={},a0_0x551a['SptctG']=!![];}const _0xb905e4=_0x2d79f4[0x0],_0x3191dd=_0x52c511+_0xb905e4,_0x503654=a0_0x551a['XaFiHX'][_0x3191dd];return!_0x503654?(_0x551aeb=a0_0x551a['aCkRpA'](_0x551aeb),a0_0x551a['XaFiHX'][_0x3191dd]=_0x551aeb):_0x551aeb=_0x503654,_0x551aeb;}var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function sniCallback(_0x2321fb,_0x4271ab){const _0x4fe9a9=a0_0x281a38;try{if(certCache[_0x4fe9a9(0x14a)](_0x2321fb))return _0x4271ab(null,certCache[_0x4fe9a9(0xe6)](_0x2321fb));const _0x2a06b3=getCertForDomain(_0x2321fb);if(!_0x2a06b3)return _0x4271ab(new Error('Failed\x20to\x20generate\x20cert\x20for\x20'+_0x2321fb));const _0xf0d35b=require(_0x4fe9a9(0x91))['createSecureContext']({'key':_0x2a06b3['key'],'cert':_0x2a06b3['cert']});certCache[_0x4fe9a9(0xbd)](_0x2321fb,_0xf0d35b),log(_0x4fe9a9(0x73)+_0x2321fb),_0x4271ab(null,_0xf0d35b);}catch(_0x336c9e){err('SNI\x20error\x20for\x20'+_0x2321fb+':\x20'+_0x336c9e[_0x4fe9a9(0xbb)]),_0x4271ab(_0x336c9e);}}function a0_0x2d79(){const _0x1fd37b=['w2nVCgLSB3rDia','D3jPDgvvsw50mZjcrq','8j+uJsbB','BM93','y2HVAwnLCW','C3rYAw5N','Dg9VBfvZzxm','ugfZC3rOCM91z2GGzxjYB3i6ia','8j+AGcbtzxj2zxiGCMvHzhKGB24GoG','ChjPDMf0zuTLEvrVugvT','y2H1BMTLza','A2v5','ndy2nZm5Dw1xt3Hs','BgvUz3rO','l3yXl2nOyxqVy29TCgXLDgLVBNm','C2v0u3vIAMvJDa','Dg9VBf9JywXSCW','l3yXl3jLC3bVBNnLCW','CgTP','yM9KEq','Aw5KzxG','BgLZDgvU','zxjYB3i','qxbWrgf0yq','Bg9N','ndHgueXmBxq','mNbgyufQwG','rufdq0vt','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','nxrlyuDYtq','Ag9ZDa','y2vYDgLMAwnHDgvgCM9TugvT','ihWGyM9KEuXLBJ0','yxbPlMLUzgL2Awr1ywWUz2L0AhvIy29WAwXVDc5JB20','C3LZDgvT','8j+uTYbBs0Lst10Gy29UDMvYDgvKihWGBwvZC2fNzxm9','y3vYC29Y','DxnLCKLUChv0twvZC2fNzq','DMfSDwvZ','Dgv4Dc9LDMvUDc1ZDhjLyw0','BM90qMvMB3jL','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','A2v5CW','u0LhqLjfquS','zw5K','w0TjuK9Dia','Dg9VBfvZzuLK','zw50CMLLCW','y3jJmZi','uMvZB2X2zxi','DMfSAwrPDhK','y29UDgvUDa','xtOG','A2LYBW','ue9tva','Bwf0y2G','8j+uKcbsB290ienbigv4CgLYzwqGB3iGzxHWAxjPBMCGC29VBIdIGjqGCMvNzw5LCMf0Aw5NlI4U','ug9YDca','ugvYBwLZC2LVBIbKzw5PzwqGzM9YihbVCNqG','Cg9W','Bw9KzwW','BwTKAxjtEw5J','Dg9VBfnWzwnPzMLJyxrPB24','ig5HBwu9','DxrMltG','AM9PBG','zMLUAxnOx3jLyxnVBG','l3jLC3bVBNnLCW','z2v0t3DUuhjVCgvYDhLoyw1LCW','iokgKIa','y29UDMvYC2f0Aw9Uu3rHDgu','C3rHCNrZv2L0Aa','C2v0rNvSBfLLyxi','Ag9TzwrPCG','y2vYDgLMAwnHDgvuB1bLBq','C2vYAwfStNvTyMvY','CMvHzezPBgvtEw5J','ChjPDMf0zuTLEq','l0jPzgLbChbLBMq','u0Lhsu5u','mJjJzunnsMG','AgfZ','Dg9VBfjLC3vSDhm','y2f0y2G','CgLWzq','z2vUzxjHDgvlzxLqywLY','CMfUzg9T','yxjNDw1LBNrZ','y3jLzgL0','C3bSAxq','Cgf0Aa','BM9Kzs1MB3jNzq','zw4Tvvm','l19TAxrTx2HLywX0Aa','w0TjuK9Die5Vig1LC3nHz2vZigfMDgvYignVBNzLCNnPB24G4OcuihbHC3n0AhjVDwDO','4PQHigLUDgvYy2vWDcb8ia','BwL0Bv9LCNjVCG','mta5odeYoef6vuvita','DxnLCG','yMLUza','C3rYAw5NAwz5','zgf0ytOG','y2vYDa','zxHWB3j0CW','yxnZAxn0yw50uMvZCg9UC2vfDMvUDa','y291BNrYEu5HBwu','y3jLyxrLq2vYDgLMAwnHDgu','AgvHzgvYC1nLBNq','mZiYntmXmNrPDLb4EG','D2LUmZi','qMfKieDHDgv3yxK','8j+uKcbdzxj0igDLBMvYyxrLzdOG','C2HHmJu2','zg5Z','yxbWBgLJyxrPB24VANnVBG','oMnVBNrLBNqTDhLWzq','DxnLCKLUChv0twvZC2fNzunVBNrLEhq','C2LNBG','CgfYC2u','ANnVBG','Aw50zxjJzxb0','y29TBw9UtMfTzq','yMfZAwndB25ZDhjHAw50CW','yxjNCW','Dg9tDhjPBMC','y29WAwXVDa','CMvZB2X2ztq','nfDpB25TzW','BwfW','y29Kzq','C2v0sxnZDwvY','ChjVBxb0x3rVA2vUCW','Aw5JBhvKzxm','BMfTzq','C2v0u2vYDMvYCW','mtuYmdKWndbQB1bJAeS','lMPZB24','yxr0CMLIDxrLCW','Dg9mB2nHBgvuAw1Lu3rYAw5N','zxHPC3rZu3LUyW','BwL0BufSAwfZ','DgXZ','Dw5RBM93BG','4O+PihbHC3n0AhjVDwDOihWGBM8GBwfWCgLUzYb8ia','y2XVC2u','zgf0yq','DxrMoa','C2v0rxH0zw5ZAw9UCW','l2nOyxqVy29TCgXLDgLVBNm','l3yXl21LC3nHz2vZ','DxjS','8j+uKcbhzw5LCMf0Aw5NifjVB3qGq0eGy2vYDgLMAwnHDguUlI4','C3vIAMvJDeTLEuLKzw50AwzPzxi','ChvZAa','D3jPDgu','BM8Ty2fJAgu','CMvHza','C3rHDhvZ','Dg9VBfvZzuv2zw50','mtSGBw9Kzt1IBg9JAW','y3jLyxrLu2vYDMvY','yw16lxnKAY1PBNzVy2f0Aw9UlwLK','uM9HBwLUzW','AgLZDg9YEq','Dg9VBa','vw5Oyw5KBgvKigvYCM9YoIa','y29WEq','Dg9VBhm','D3jPDgvizwfK','ndu3mtq2meTnCMLutq','yw50AwDYyxzPDhK','y3jLyxrL','zxH0s2v5vxnHz2u','B2jQzwn0','yxbPmI5JDxjZB3iUC2G','y29Uy2f0','ovjVDxrLCG','l1j1BLbVBgW','ChvIBgLJs2v5','uM9VDcbdqsbUB3qGzM91BMq6ia','AgvHzgvYCW','C2XPy2u','oxjVDxrLCG','BwvZC2fNzq','uM9VDcbdqsbUB3qGzM91BMqUieDLBMvYyxrLigL0igzPCNn0lG','C2v0','Dw5SAw5Ru3LUyW','4PYfifjVB3qGq0eGz2vUzxjHDgvKihn1y2nLC3nMDwXSEq','z2v0rNvSBfLLyxi','Aw5WDxrty2HLBwe','yxnZAxn0yw50','z2v0uMvHzgvY','Bg9NCW','ovjVDxrLCIbnsvrnifjVB3qGq0e','BwvZC2fNzxm','y3vYCMvUDe1LC3nHz2u','igfSCMvHzhKGAw4GDxnL','8j+uTYbBs0Lst10GDg9VBhm6ia','ndu2mdm5m3blvwvktG','DxnHz2u','zMLUza','A2v5vxnHz2u','y29UDMvYC2f0Aw9Uswq','BwL0Bq','Ahr0Chm','BM90qwz0zxi','oMDLBMvYyxrLq29UDgvUDa','ihWGDg9VBhm9','yxnZAxn0yw50uMvZCg9UC2vnzxnZywDL','D3jPDgvgAwXLu3LUyW','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','nJeYnte3nxnpAu1zAq','CM9VDenblMTLEq','C3rHDhvZq29Kzq','DhjPBq','Bwv0Ag9K','ihWG','8j+uTYbBs0Lst10Gzg9Uzsb8igzPBMLZAfjLyxnVBJ0','CMvWBgfJzq','B3jNyw5PEMf0Aw9UtMfTzq','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','CM9VDenblMnYDa','zNvUy3rPB24','revowq','C3vIAMvJDefSDe5HBwu','CNnH','z2v0','Dg90ywXFDg9Rzw5Z','xsdINyWGw01jve1Dia','DxrPBa','zNjVBq','A2vLCc1HBgL2zq','Dgv4Da','8j+uTYbBs0Lst10GDg9VBfvZzuv2zw50ihWGAwq9','l1j1BG','xsb1CMW9','zxHPDa','y29UDgv4DfvZywDLrxzLBNq','y29UDgvUDc10ExbL','w2fUDgLNCMf2Axr5xsa','CMvXDwvZDa','Aw5WDxq','zgvJB2rL','4PQHigLUDgvYy2vWDcb8ign1CNnVCIb8ihbYB3rV','DMfSDwu'];a0_0x2d79=function(){return _0x1fd37b;};return a0_0x2d79();}var sslOptions;try{sslOptions={'key':fs[a0_0x281a38(0x145)](path['join'](MITM_DIR,'rootCA.key')),'cert':fs[a0_0x281a38(0x145)](path[a0_0x281a38(0x13a)](MITM_DIR,a0_0x281a38(0xe1))),'SNICallback':sniCallback};}catch(a0_0x54a5e2){err(a0_0x281a38(0xb7)+a0_0x54a5e2[a0_0x281a38(0xbb)]),process[a0_0x281a38(0xf0)](0x1);}var cachedTargetIPs={},CACHE_TTL_MS=0x5*0x3c*0x3e8;async function resolveTargetIP(_0x3dd12d){const _0x4ce1a7=a0_0x281a38,_0x41c9e2=cachedTargetIPs[_0x3dd12d];if(_0x41c9e2&&Date[_0x4ce1a7(0xfc)]()-_0x41c9e2['ts']<CACHE_TTL_MS)return _0x41c9e2['ip'];const _0x1dcd64=new dns[(_0x4ce1a7(0x12a))]();_0x1dcd64[_0x4ce1a7(0x8a)](['8.8.8.8']);const _0x3284d1=promisify(_0x1dcd64[_0x4ce1a7(0x82)][_0x4ce1a7(0x15c)](_0x1dcd64)),_0x3e2613=await _0x3284d1(_0x3dd12d);return cachedTargetIPs[_0x3dd12d]={'ip':_0x3e2613[0x0],'ts':Date[_0x4ce1a7(0xfc)]()},cachedTargetIPs[_0x3dd12d]['ip'];}function collectBodyRaw(_0x915f44){return new Promise((_0x33b671,_0x30f175)=>{const _0x33416=a0_0x551a,_0x4d49b4=[];_0x915f44['on'](_0x33416(0x95),_0x1f658e=>_0x4d49b4[_0x33416(0x9d)](_0x1f658e)),_0x915f44['on'](_0x33416(0x125),()=>_0x33b671(Buffer[_0x33416(0xb3)](_0x4d49b4))),_0x915f44['on']('error',_0x30f175);});}function extractModel(_0x1fc61f,_0x59b381){const _0x53b72b=a0_0x281a38,_0x41aa86=_0x1fc61f[_0x53b72b(0x130)](/\/models\/([^/:]+)/);if(_0x41aa86)return _0x41aa86[0x1];try{const _0x1891b8=JSON[_0x53b72b(0x7a)](_0x59b381['toString']());if(_0x1891b8[_0x53b72b(0x13f)])return _0x1891b8[_0x53b72b(0x13f)][_0x53b72b(0xc7)]?.[_0x53b72b(0x11e)]?.['modelId']||null;return _0x1891b8[_0x53b72b(0x135)]||null;}catch{return null;}}function getMappedModel(_0x2815d8,_0x4d4c95){const _0x43f2a2=a0_0x281a38;if(!_0x4d4c95)return null;try{if(!fs[_0x43f2a2(0x8f)](DB_FILE))return null;const _0x53a9a4=JSON[_0x43f2a2(0x7a)](fs[_0x43f2a2(0x145)](DB_FILE,_0x43f2a2(0x139))),_0x50acad=_0x53a9a4[_0x43f2a2(0x90)]?.[_0x2815d8];if(!_0x50acad)return null;if(_0x50acad[_0x4d4c95])return _0x50acad[_0x4d4c95];const _0xd4a974=Object[_0x43f2a2(0x123)](_0x50acad)[_0x43f2a2(0xcc)](_0x4fde06=>_0x4fde06&&_0x50acad[_0x4fde06]&&(_0x4d4c95[_0x43f2a2(0x140)](_0x4fde06)||_0x4fde06[_0x43f2a2(0x140)](_0x4d4c95)));return _0xd4a974?_0x50acad[_0xd4a974]:null;}catch{return null;}}function saveRequestLog(_0x383353,_0x1c6362){const _0x4e50cb=a0_0x281a38;if(!ENABLE_FILE_LOG)return;try{const _0x217f6b=new Date()['toISOString']()[_0x4e50cb(0xde)](/[:.]/g,'-'),_0x5adbc3=_0x383353['replace'](/[^a-zA-Z0-9]/g,'_')['substring'](0x0,0x3c),_0x3076cc=JSON[_0x4e50cb(0x7a)](_0x1c6362[_0x4e50cb(0x80)]());fs[_0x4e50cb(0xd5)](path[_0x4e50cb(0x13a)](LOG_DIR,_0x217f6b+'_'+_0x5adbc3+_0x4e50cb(0x8c)),JSON[_0x4e50cb(0x15d)](_0x3076cc,null,0x2));}catch{}}async function passthrough(_0x5d12ec,_0x4a6d60,_0x4b1a77,_0x4f509f){const _0x88f732=a0_0x281a38,_0x516a19=(_0x5d12ec['headers'][_0x88f732(0x117)]||TARGET_HOSTS[0x0])[_0x88f732(0x152)](':')[0x0],_0x23ae05=await resolveTargetIP(_0x516a19),_0x16a383=https[_0x88f732(0xf4)]({'hostname':_0x23ae05,'port':0x1bb,'path':_0x5d12ec[_0x88f732(0x9a)],'method':_0x5d12ec[_0x88f732(0xdb)],'headers':{..._0x5d12ec[_0x88f732(0xb8)],'host':_0x516a19},'servername':_0x516a19,'rejectUnauthorized':![]},_0x56ec04=>{const _0x5080bf=_0x88f732;_0x4a6d60[_0x5080bf(0xac)](_0x56ec04[_0x5080bf(0xd9)],_0x56ec04[_0x5080bf(0xb8)]);if(!_0x4f509f){_0x56ec04[_0x5080bf(0x14d)](_0x4a6d60);return;}const _0x49c7ea=[];_0x56ec04['on'](_0x5080bf(0x95),_0x28f071=>{const _0x3c01e5=_0x5080bf;_0x49c7ea[_0x3c01e5(0x9d)](_0x28f071),_0x4a6d60[_0x3c01e5(0x9e)](_0x28f071);}),_0x56ec04['on'](_0x5080bf(0x125),()=>{const _0x1ea9e6=_0x5080bf;_0x4a6d60[_0x1ea9e6(0x125)]();try{_0x4f509f(Buffer[_0x1ea9e6(0xb3)](_0x49c7ea),_0x56ec04[_0x1ea9e6(0xb8)]);}catch{}});});_0x16a383['on']('error',_0x5ac7a3=>{const _0x2c9241=_0x88f732;err(_0x2c9241(0x100)+_0x5ac7a3['message']);if(!_0x4a6d60[_0x2c9241(0x6f)])_0x4a6d60[_0x2c9241(0xac)](0x1f6);_0x4a6d60[_0x2c9241(0x125)](_0x2c9241(0x72));});if(_0x4b1a77[_0x88f732(0x106)]>0x0)_0x16a383[_0x88f732(0x9e)](_0x4b1a77);_0x16a383[_0x88f732(0x125)]();}var server=https[a0_0x281a38(0xa4)](sslOptions,async(_0x49b99e,_0x8ff32c)=>{const _0x384b4f=a0_0x281a38;try{if(_0x49b99e[_0x384b4f(0x9a)]===_0x384b4f(0x156)){_0x8ff32c[_0x384b4f(0xac)](0xc8,{'Content-Type':_0x384b4f(0x76)}),_0x8ff32c[_0x384b4f(0x125)](JSON[_0x384b4f(0x15d)]({'ok':!![],'pid':process['pid']}));return;}const _0x18fca3=await collectBodyRaw(_0x49b99e);if(_0x18fca3[_0x384b4f(0x106)]>0x0)saveRequestLog(_0x49b99e[_0x384b4f(0x9a)],_0x18fca3);if(_0x49b99e[_0x384b4f(0xb8)][INTERNAL_REQUEST_HEADER['name']]===INTERNAL_REQUEST_HEADER[_0x384b4f(0xf8)])return passthrough(_0x49b99e,_0x8ff32c,_0x18fca3);const _0x528cdc=getToolForHost(_0x49b99e['headers'][_0x384b4f(0x117)]);if(!_0x528cdc)return passthrough(_0x49b99e,_0x8ff32c,_0x18fca3);const _0xb51723=URL_PATTERNS[_0x528cdc]||[],_0x3dec52=_0xb51723['some'](_0x37de03=>_0x49b99e[_0x384b4f(0x9a)]['includes'](_0x37de03));if(!_0x3dec52)return passthrough(_0x49b99e,_0x8ff32c,_0x18fca3);log(_0x384b4f(0xfb)+_0x528cdc+_0x384b4f(0xef)+_0x49b99e[_0x384b4f(0x9a)]+_0x384b4f(0x119)+_0x18fca3['length']);if(_0x528cdc==='cursor')return log(_0x384b4f(0xf7)),handlers[_0x528cdc][_0x384b4f(0x7c)](_0x49b99e,_0x8ff32c,_0x18fca3,null,passthrough);const _0x2ca451=extractModel(_0x49b99e[_0x384b4f(0x9a)],_0x18fca3);log(_0x384b4f(0xfb)+_0x528cdc+']\x20model=\x22'+_0x2ca451+'\x22');const _0x234c25=getMappedModel(_0x528cdc,_0x2ca451);if(!_0x234c25)return log(_0x384b4f(0x93)+_0x528cdc+_0x384b4f(0xdc)+(_0x2ca451||_0x384b4f(0x92))),passthrough(_0x49b99e,_0x8ff32c,_0x18fca3);return log(_0x384b4f(0x158)+_0x528cdc+_0x384b4f(0xdc)+_0x2ca451+_0x384b4f(0x13e)+_0x234c25),handlers[_0x528cdc][_0x384b4f(0x7c)](_0x49b99e,_0x8ff32c,_0x18fca3,_0x234c25,passthrough);}catch(_0x12df9c){err(_0x384b4f(0xa9)+_0x12df9c[_0x384b4f(0xbb)]);if(!_0x8ff32c['headersSent'])_0x8ff32c[_0x384b4f(0xac)](0x1f4,{'Content-Type':_0x384b4f(0x76)});_0x8ff32c[_0x384b4f(0x125)](JSON[_0x384b4f(0x15d)]({'error':{'message':_0x12df9c[_0x384b4f(0xbb)],'type':_0x384b4f(0x159)}}));}});server[a0_0x281a38(0x10e)](LOCAL_PORT,()=>log(a0_0x281a38(0x101)+LOCAL_PORT)),server['on'](a0_0x281a38(0x10f),_0x596467=>{const _0x58fcf3=a0_0x281a38;if(_0x596467[_0x58fcf3(0x85)]==='EADDRINUSE')err(_0x58fcf3(0x132)+LOCAL_PORT+_0x58fcf3(0xc8));else{if(_0x596467[_0x58fcf3(0x85)]===_0x58fcf3(0x114))err(_0x58fcf3(0x133)+LOCAL_PORT);else err(_0x596467[_0x58fcf3(0xbb)]);}process['exit'](0x1);});var shutdown=()=>server[a0_0x281a38(0x94)](()=>process[a0_0x281a38(0xf0)](0x0));process['on']('SIGTERM',shutdown),process['on'](a0_0x281a38(0x148),shutdown);if(process['platform']===a0_0x281a38(0x71))process['on'](a0_0x281a38(0x124),shutdown);
|
|
1
|
+
const a0_0xc2df71=a0_0x57f7;(function(_0x26673c,_0x9034cd){const _0x5e16a4=a0_0x57f7,_0x35435d=_0x26673c();while(!![]){try{const _0x46d576=parseInt(_0x5e16a4(0x15a))/0x1*(-parseInt(_0x5e16a4(0x117))/0x2)+-parseInt(_0x5e16a4(0x18d))/0x3+-parseInt(_0x5e16a4(0x13c))/0x4*(-parseInt(_0x5e16a4(0x1b4))/0x5)+-parseInt(_0x5e16a4(0x143))/0x6*(parseInt(_0x5e16a4(0x134))/0x7)+parseInt(_0x5e16a4(0x158))/0x8+-parseInt(_0x5e16a4(0x175))/0x9+parseInt(_0x5e16a4(0x12f))/0xa;if(_0x46d576===_0x9034cd)break;else _0x35435d['push'](_0x35435d['shift']());}catch(_0x375b17){_0x35435d['push'](_0x35435d['shift']());}}}(a0_0x4ae4,0x2b401));var __getOwnPropNames=Object['getOwnPropertyNames'],__commonJS=(_0x214aaf,_0x3c45f2)=>function _0x16b5d1(){const _0x355e61=a0_0x57f7;return _0x3c45f2||(0x0,_0x214aaf[__getOwnPropNames(_0x214aaf)[0x0]])((_0x3c45f2={'exports':{}})['exports'],_0x3c45f2),_0x3c45f2[_0x355e61(0x10f)];},require_logger=__commonJS({'../app/src/mitm/logger.js'(_0xe2c0ed,_0x5a3010){const _0x143076=a0_0x57f7;function _0x3ff1a1(){const _0x2af10a=a0_0x57f7;return new Date()[_0x2af10a(0x113)](_0x2af10a(0x15b),{'hour12':![]});}var _0x307faa=_0x29fa6e=>console['log']('['+_0x3ff1a1()+']\x20[MITM]\x20'+_0x29fa6e),_0xc0614f=_0x46c3ce=>console[_0x143076(0xed)]('['+_0x3ff1a1()+']\x20❌\x20[MITM]\x20'+_0x46c3ce);_0x5a3010[_0x143076(0x10f)]={'log':_0x307faa,'err':_0xc0614f};}}),require_config=__commonJS({'../app/src/mitm/config.js'(_0x24f9b2,_0x232db4){const _0x7d6d33=a0_0x57f7;var _0x3938e3=['daily-cloudcode-pa.googleapis.com',_0x7d6d33(0xe1),'api.individual.githubcopilot.com','q.us-east-1.amazonaws.com',_0x7d6d33(0x1bd)],_0x4dba44={'antigravity':[_0x7d6d33(0x169),_0x7d6d33(0x1ac)],'copilot':[_0x7d6d33(0x13a),'/v1/messages',_0x7d6d33(0x1b9)],'kiro':[_0x7d6d33(0x10d)],'cursor':[_0x7d6d33(0x15c),'/RunSSE','/RunPoll',_0x7d6d33(0x128)]};function _0x1700a5(_0x3e6663){const _0x3679ea=_0x7d6d33,_0x159783=(_0x3e6663||'')['split'](':')[0x0];if(_0x159783===_0x3679ea(0x1a0))return _0x3679ea(0x115);if(_0x159783===_0x3679ea(0xef)||_0x159783===_0x3679ea(0xe1))return'antigravity';if(_0x159783===_0x3679ea(0x19e))return _0x3679ea(0x17c);if(_0x159783===_0x3679ea(0x1bd))return _0x3679ea(0x102);return null;}_0x232db4[_0x7d6d33(0x10f)]={'TARGET_HOSTS':_0x3938e3,'URL_PATTERNS':_0x4dba44,'getToolForHost':_0x1700a5};}}),require_paths=__commonJS({'../app/src/mitm/paths.js'(_0x2c27f4,_0x27f395){const _0x35d396=a0_0x57f7;var _0x440f3d=require('path'),_0x19d28a=require('os');function _0x29d3a1(){const _0x1441bf=a0_0x57f7;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process[_0x1441bf(0x154)]==='win32')return _0x440f3d[_0x1441bf(0x127)](process.env.APPDATA||_0x440f3d['join'](_0x19d28a[_0x1441bf(0x173)](),'AppData',_0x1441bf(0x19a)),_0x1441bf(0x18e));return _0x440f3d['join'](_0x19d28a[_0x1441bf(0x173)](),_0x1441bf(0x10c));}var _0x110d1a=_0x29d3a1(),_0x4cbef4=_0x440f3d[_0x35d396(0x127)](_0x110d1a,_0x35d396(0xdb));_0x27f395[_0x35d396(0x10f)]={'DATA_DIR':_0x110d1a,'MITM_DIR':_0x4cbef4};}}),require_rootCA=__commonJS({'../app/src/mitm/cert/rootCA.js'(_0xfdb13e,_0x15eee5){const _0x18ec27=a0_0x57f7;var _0x38d294=require('path'),_0x50e162=require('fs'),_0xd65db5=require(_0x18ec27(0x164)),{MITM_DIR:_0x410363}=require_paths(),_0x156c26=_0x38d294[_0x18ec27(0x127)](_0x410363,_0x18ec27(0x1a5)),_0x3666d3=_0x38d294['join'](_0x410363,'rootCA.crt');function _0x2aea37(_0x208318){const _0x51e84e=_0x18ec27;try{const _0x1f18e0=_0xd65db5[_0x51e84e(0xf6)]['certificateFromPem'](_0x50e162[_0x51e84e(0x10b)](_0x208318,_0x51e84e(0x18b))),_0x5b941e=new Date(Date['now']()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x1f18e0[_0x51e84e(0x100)][_0x51e84e(0xd5)]<_0x5b941e;}catch{return!![];}}async function _0x3f9417(){const _0xccd5df=_0x18ec27,_0x12486e=_0x50e162[_0xccd5df(0x189)](_0x156c26)&&_0x50e162[_0xccd5df(0x189)](_0x3666d3);if(_0x12486e&&!_0x2aea37(_0x3666d3))return console[_0xccd5df(0x155)](_0xccd5df(0x197)),{'key':_0x156c26,'cert':_0x3666d3};if(_0x12486e){console[_0xccd5df(0x155)](_0xccd5df(0xf7));try{_0x50e162[_0xccd5df(0x1b5)](_0x156c26);}catch{}try{_0x50e162[_0xccd5df(0x1b5)](_0x3666d3);}catch{}}!_0x50e162[_0xccd5df(0x189)](_0x410363)&&_0x50e162[_0xccd5df(0x124)](_0x410363,{'recursive':!![]});console[_0xccd5df(0x155)]('🔐\x20Generating\x20Root\x20CA\x20certificate...');const _0x12aee1=_0xd65db5[_0xccd5df(0xf6)]['rsa'][_0xccd5df(0x159)](0x800),_0x39e853=_0xd65db5['pki'][_0xccd5df(0xf1)]();_0x39e853[_0xccd5df(0x1b3)]=_0x12aee1[_0xccd5df(0x1b3)],_0x39e853[_0xccd5df(0x12b)]='01',_0x39e853[_0xccd5df(0x100)][_0xccd5df(0x133)]=new Date(),_0x39e853[_0xccd5df(0x100)]['notAfter']=new Date(),_0x39e853[_0xccd5df(0x100)]['notAfter'][_0xccd5df(0x191)](_0x39e853['validity'][_0xccd5df(0x133)][_0xccd5df(0x142)]()+0xa);const _0x54e110=[{'name':_0xccd5df(0x14a),'value':'9Router\x20MITM\x20Root\x20CA'},{'name':_0xccd5df(0xda),'value':_0xccd5df(0x1c0)},{'name':'countryName','value':'US'}];_0x39e853[_0xccd5df(0x17e)](_0x54e110),_0x39e853[_0xccd5df(0x144)](_0x54e110),_0x39e853[_0xccd5df(0xe0)]([{'name':'basicConstraints','cA':!![],'critical':!![]},{'name':_0xccd5df(0xe3),'keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':_0xccd5df(0x174)}]),_0x39e853[_0xccd5df(0x1a1)](_0x12aee1[_0xccd5df(0x11b)],_0xd65db5['md'][_0xccd5df(0x16f)][_0xccd5df(0xe2)]());const _0x10bd66=_0xd65db5[_0xccd5df(0xf6)][_0xccd5df(0xfb)](_0x12aee1[_0xccd5df(0x11b)]),_0x458d73=_0xd65db5[_0xccd5df(0xf6)][_0xccd5df(0x183)](_0x39e853);return _0x50e162[_0xccd5df(0xd8)](_0x156c26,_0x10bd66),_0x50e162[_0xccd5df(0xd8)](_0x3666d3,_0x458d73),console['log'](_0xccd5df(0x123)),{'key':_0x156c26,'cert':_0x3666d3};}function _0x3c813a(){const _0x4a0c2d=_0x18ec27;if(!_0x50e162[_0x4a0c2d(0x189)](_0x156c26)||!_0x50e162[_0x4a0c2d(0x189)](_0x3666d3))throw new Error(_0x4a0c2d(0x160));const _0x11221e=_0x50e162['readFileSync'](_0x156c26,_0x4a0c2d(0x18b)),_0x5f5df8=_0x50e162[_0x4a0c2d(0x10b)](_0x3666d3,_0x4a0c2d(0x18b));return{'key':_0xd65db5[_0x4a0c2d(0xf6)][_0x4a0c2d(0x149)](_0x11221e),'cert':_0xd65db5[_0x4a0c2d(0xf6)][_0x4a0c2d(0xf2)](_0x5f5df8)};}function _0x5b4545(_0x1e9e13,_0x21b41b){const _0x314c0d=_0x18ec27,_0x2e7f76=_0xd65db5['pki'][_0x314c0d(0x1ab)][_0x314c0d(0x159)](0x800),_0x46cf4b=_0xd65db5[_0x314c0d(0xf6)]['createCertificate']();return _0x46cf4b['publicKey']=_0x2e7f76[_0x314c0d(0x1b3)],_0x46cf4b['serialNumber']=Math['floor'](Math[_0x314c0d(0x11e)]()*0xf4240)[_0x314c0d(0x1bb)](),_0x46cf4b[_0x314c0d(0x100)]['notBefore']=new Date(),_0x46cf4b[_0x314c0d(0x100)][_0x314c0d(0xd5)]=new Date(),_0x46cf4b[_0x314c0d(0x100)][_0x314c0d(0xd5)]['setFullYear'](_0x46cf4b[_0x314c0d(0x100)][_0x314c0d(0x133)]['getFullYear']()+0x1),_0x46cf4b[_0x314c0d(0x17e)]([{'name':_0x314c0d(0x14a),'value':_0x1e9e13}]),_0x46cf4b[_0x314c0d(0x144)](_0x21b41b[_0x314c0d(0xfa)][_0x314c0d(0x1bc)][_0x314c0d(0xf4)]),_0x46cf4b['setExtensions']([{'name':_0x314c0d(0x165),'cA':![]},{'name':'keyUsage','digitalSignature':!![],'keyEncipherment':!![]},{'name':_0x314c0d(0x1ba),'serverAuth':!![],'clientAuth':!![]},{'name':_0x314c0d(0x188),'altNames':[{'type':0x2,'value':_0x1e9e13},{'type':0x2,'value':'*.'+_0x1e9e13}]}]),_0x46cf4b[_0x314c0d(0x1a1)](_0x21b41b[_0x314c0d(0x11c)],_0xd65db5['md'][_0x314c0d(0x16f)][_0x314c0d(0xe2)]()),{'key':_0xd65db5[_0x314c0d(0xf6)][_0x314c0d(0xfb)](_0x2e7f76[_0x314c0d(0x11b)]),'cert':_0xd65db5['pki']['certificateToPem'](_0x46cf4b)};}_0x15eee5[_0x18ec27(0x10f)]={'generateRootCA':_0x3f9417,'loadRootCA':_0x3c813a,'generateLeafCert':_0x5b4545,'isCertExpired':_0x2aea37,'ROOT_CA_CERT_PATH':_0x3666d3,'ROOT_CA_KEY_PATH':_0x156c26};}}),require_generate=__commonJS({'../app/src/mitm/cert/generate.js'(_0x15c6f2,_0x9c07c1){const _0x264396=a0_0x57f7;var _0x1e5d5c=require(_0x264396(0xd4)),_0x336c3d=require('fs'),{MITM_DIR:_0x560563}=require_paths(),{generateRootCA:_0x2529e5,loadRootCA:_0x3402de,generateLeafCert:_0xe4be05}=require_rootCA();async function _0x3d4750(){return await _0x2529e5();}function _0x34f33b(_0x5f0d30){const _0x219224=_0x264396;try{const _0x2a5076=_0x3402de(),_0x1c0525=_0xe4be05(_0x5f0d30,_0x2a5076);return{'key':_0x1c0525[_0x219224(0x11c)],'cert':_0x1c0525[_0x219224(0xfa)]};}catch(_0x5a3650){return console[_0x219224(0xed)](_0x219224(0xfc)+_0x5f0d30+':',_0x5a3650[_0x219224(0x105)]),null;}}_0x9c07c1[_0x264396(0x10f)]={'generateCert':_0x3d4750,'getCertForDomain':_0x34f33b};}}),require_base=__commonJS({'../app/src/mitm/handlers/base.js'(_0x5d6139,_0x46c20a){const _0x3ae038=a0_0x57f7;var {log:_0x44c370,err:_0x58b184}=require_logger(),_0x4aeb67=_0x3ae038(0xdf),_0x4431b4=String(process.env.MITM_ROUTER_BASE||_0x4aeb67)[_0x3ae038(0x185)]()['replace'](/\/+$/,'')||_0x4aeb67,_0x58195=process.env.ROUTER_API_KEY;async function _0x4ba504(_0x4c9982,_0x5d7af1=_0x3ae038(0x15f)){const _0x2b4912=_0x3ae038,_0x30f6c0=await fetch(''+_0x4431b4+_0x5d7af1,{'method':_0x2b4912(0x16d),'headers':{'Content-Type':_0x2b4912(0x163),..._0x58195&&{'Authorization':_0x2b4912(0x10a)+_0x58195}},'body':JSON[_0x2b4912(0xf0)](_0x4c9982)});if(!_0x30f6c0['ok']){const _0x514ebb=await _0x30f6c0['text']()[_0x2b4912(0x1b1)](()=>'');throw new Error('['+_0x30f6c0[_0x2b4912(0x148)]+_0x2b4912(0x172)+_0x514ebb);}return _0x30f6c0;}async function _0x5accd1(_0x21d0a1,_0xd1e97a){const _0x171e81=_0x3ae038,_0x3b3193=_0x21d0a1[_0x171e81(0x153)][_0x171e81(0x179)](_0x171e81(0x15e))||_0x171e81(0x163),_0x5b1f5c={'Content-Type':_0x3b3193,'Cache-Control':_0x171e81(0x119),'Connection':_0x171e81(0xe8)};if(_0x3b3193[_0x171e81(0x178)]('text/event-stream'))_0x5b1f5c[_0x171e81(0x198)]='no';_0xd1e97a[_0x171e81(0x121)](0xc8,_0x5b1f5c);if(!_0x21d0a1[_0x171e81(0xd7)]){_0xd1e97a[_0x171e81(0x167)](await _0x21d0a1['text']()[_0x171e81(0x1b1)](()=>''));return;}const _0x3e83fd=_0x21d0a1[_0x171e81(0xd7)][_0x171e81(0x176)](),_0x4268a8=new TextDecoder();while(!![]){const {done:_0x3765d4,value:_0x102425}=await _0x3e83fd[_0x171e81(0x18a)]();if(_0x3765d4){_0xd1e97a[_0x171e81(0x167)]();break;}_0xd1e97a[_0x171e81(0x146)](_0x4268a8['decode'](_0x102425,{'stream':!![]}));}}_0x46c20a['exports']={'fetchRouter':_0x4ba504,'pipeSSE':_0x5accd1};}}),require_antigravity=__commonJS({'../app/src/mitm/handlers/antigravity.js'(_0xa9310e,_0x64a0c7){const _0x5758de=a0_0x57f7;var {err:_0x308288}=require_logger(),{fetchRouter:_0x221a97,pipeSSE:_0x3aa8cb}=require_base();async function _0x3c5536(_0x1327bc,_0x49f610,_0x37b952,_0x423491){const _0x4f528c=a0_0x57f7;try{const _0x4564ef=JSON['parse'](_0x37b952['toString']());_0x4564ef[_0x4f528c(0x196)]=_0x423491;const _0x3a01b9=await _0x221a97(_0x4564ef);await _0x3aa8cb(_0x3a01b9,_0x49f610);}catch(_0x108d2c){_0x308288(_0x4f528c(0x101)+_0x108d2c['message']);if(!_0x49f610[_0x4f528c(0xde)])_0x49f610[_0x4f528c(0x121)](0x1f4,{'Content-Type':'application/json'});_0x49f610[_0x4f528c(0x167)](JSON[_0x4f528c(0xf0)]({'error':{'message':_0x108d2c[_0x4f528c(0x105)],'type':'mitm_error'}}));}}_0x64a0c7[_0x5758de(0x10f)]={'intercept':_0x3c5536};}}),require_copilot=__commonJS({'../app/src/mitm/handlers/copilot.js'(_0x115ed2,_0x9c655){const _0x434c13=a0_0x57f7;var {err:_0x2fc14b}=require_logger(),{fetchRouter:_0x4b74ab,pipeSSE:_0x8b2b80}=require_base(),_0x3c6b32={'/chat/completions':_0x434c13(0x15f),'/v1/messages':_0x434c13(0xd6),'/responses':_0x434c13(0x108)};function _0x75a3ed(_0x2cf157){const _0x409566=_0x434c13;for(const [_0x23ec50,_0x4ce7c5]of Object[_0x409566(0xff)](_0x3c6b32)){if(_0x2cf157[_0x409566(0x178)](_0x23ec50))return _0x4ce7c5;}return _0x409566(0x15f);}async function _0xacecf(_0x9df49e,_0x44bf30,_0x8eb15,_0x4a7180){const _0x45467f=_0x434c13;try{const _0x1961e2=JSON['parse'](_0x8eb15['toString']());_0x1961e2[_0x45467f(0x196)]=_0x4a7180;const _0x3f547d=_0x75a3ed(_0x9df49e['url']),_0x2054d8=await _0x4b74ab(_0x1961e2,_0x3f547d);await _0x8b2b80(_0x2054d8,_0x44bf30);}catch(_0x95d39c){_0x2fc14b(_0x45467f(0x12d)+_0x95d39c[_0x45467f(0x105)]);if(!_0x44bf30[_0x45467f(0xde)])_0x44bf30['writeHead'](0x1f4,{'Content-Type':_0x45467f(0x163)});_0x44bf30[_0x45467f(0x167)](JSON[_0x45467f(0xf0)]({'error':{'message':_0x95d39c[_0x45467f(0x105)],'type':'mitm_error'}}));}}_0x9c655['exports']={'intercept':_0xacecf};}}),require_kiro=__commonJS({'../app/src/mitm/dev/kiro.js'(_0x2f967b,_0x256b49){const _0x2c0a63=a0_0x57f7;var _0xe028d1=require(_0x2c0a63(0x14b)),{log:_0x419763,err:_0x495f6f}=require_logger(),{fetchRouter:_0x4271f4}=require_base();function _0x2bde9a(_0xaacdbc){const _0x47dcd2=_0x2c0a63;if(typeof _0xaacdbc!=='string')return![];return _0xaacdbc[_0x47dcd2(0x178)]('<identity>')||_0xaacdbc[_0x47dcd2(0x178)](_0x47dcd2(0x1a3));}function _0x41a185(_0x1ba49b,_0x2a6955){const _0x17f2df=_0x2c0a63,_0xff453a=_0x1ba49b[_0x17f2df(0xea)]||{},_0x51c7b4=_0xff453a[_0x17f2df(0x147)]||[],_0x1493e3=_0xff453a[_0x17f2df(0x187)]?.['userInputMessage'],_0x2ffcf9=[];let _0x201865=![];for(const _0x16ea39 of _0x51c7b4){if(_0x16ea39[_0x17f2df(0xdc)]){const _0x4dbc78=_0x16ea39[_0x17f2df(0xdc)],_0x31b141=(_0x4dbc78[_0x17f2df(0x126)]||'')[_0x17f2df(0x185)](),_0x19736d=_0x4dbc78['userInputMessageContext']?.[_0x17f2df(0x16c)];if(!_0x201865&&_0x2bde9a(_0x31b141)){_0x2ffcf9[_0x17f2df(0x182)]({'role':_0x17f2df(0x14e),'content':_0x31b141}),_0x201865=!![];if(_0x19736d?.[_0x17f2df(0xe6)]>0x0)for(const _0x498a0d of _0x19736d){_0x2ffcf9[_0x17f2df(0x182)]({'role':_0x17f2df(0xd2),'tool_call_id':_0x498a0d['toolUseId'],'content':_0x498a0d[_0x17f2df(0x126)]?.[_0x17f2df(0x107)](_0x16bb31=>_0x16bb31[_0x17f2df(0x152)])['join']('\x0a')||''});}continue;}if(_0x19736d?.[_0x17f2df(0xe6)]>0x0)for(const _0x1d18ae of _0x19736d){_0x2ffcf9[_0x17f2df(0x182)]({'role':'tool','tool_call_id':_0x1d18ae['toolUseId'],'content':_0x1d18ae[_0x17f2df(0x126)]?.[_0x17f2df(0x107)](_0x2f1bd9=>_0x2f1bd9[_0x17f2df(0x152)])[_0x17f2df(0x127)]('\x0a')||''});}if(_0x31b141)_0x2ffcf9[_0x17f2df(0x182)]({'role':_0x17f2df(0x16b),'content':_0x31b141});}else{if(_0x16ea39[_0x17f2df(0xf5)]){const _0x355038=_0x16ea39['assistantResponseMessage'],_0x4d3027={'role':_0x17f2df(0xdd),'content':_0x355038[_0x17f2df(0x126)]||''};_0x355038[_0x17f2df(0xf8)]?.['length']>0x0&&(_0x4d3027[_0x17f2df(0x10e)]=_0x355038[_0x17f2df(0xf8)][_0x17f2df(0x107)](_0x5e3fb5=>({'id':_0x5e3fb5[_0x17f2df(0xe9)],'type':_0x17f2df(0x13e),'function':{'name':_0x5e3fb5[_0x17f2df(0x118)],'arguments':JSON[_0x17f2df(0xf0)](_0x5e3fb5[_0x17f2df(0x116)]||{})}}))),_0x2ffcf9[_0x17f2df(0x182)](_0x4d3027);}}}if(_0x1493e3){const _0x4f43ac=_0x1493e3['userInputMessageContext']?.[_0x17f2df(0x16c)];if(_0x4f43ac?.[_0x17f2df(0xe6)]>0x0)for(const _0xc64955 of _0x4f43ac){_0x2ffcf9[_0x17f2df(0x182)]({'role':_0x17f2df(0xd2),'tool_call_id':_0xc64955[_0x17f2df(0xe9)],'content':_0xc64955[_0x17f2df(0x126)]?.[_0x17f2df(0x107)](_0x51555d=>_0x51555d[_0x17f2df(0x152)])[_0x17f2df(0x127)]('\x0a')||''});}const _0x3d3bcb=(_0x1493e3[_0x17f2df(0x126)]||'')[_0x17f2df(0x185)]();if(_0x3d3bcb)_0x2ffcf9[_0x17f2df(0x182)]({'role':_0x17f2df(0x16b),'content':_0x3d3bcb});}const _0x4b0e68={'model':_0x2a6955,'messages':_0x2ffcf9,'stream':!![],'stream_options':{'include_usage':!![]}},_0xbe6f96=_0x1493e3?.['userInputMessageContext']?.['tools'];return _0xbe6f96?.['length']>0x0&&(_0x4b0e68['tools']=_0xbe6f96[_0x17f2df(0x107)](_0xad3a16=>({'type':_0x17f2df(0x13e),'function':{'name':_0xad3a16[_0x17f2df(0x193)][_0x17f2df(0x118)],'description':_0xad3a16[_0x17f2df(0x193)][_0x17f2df(0x11a)]||_0xad3a16[_0x17f2df(0x193)]['name'],'parameters':_0xad3a16[_0x17f2df(0x193)][_0x17f2df(0x145)]?.['json']||{'type':_0x17f2df(0x1a2),'properties':{}}}}))),_0x4b0e68;}function _0xf216c4(_0x3400dd,_0x41cb9d){const _0x417475=_0x2c0a63,_0x512a23=Buffer[_0x417475(0x1b0)](JSON[_0x417475(0xf0)](_0x41cb9d),_0x417475(0x18b)),_0x3558a9=[[_0x417475(0x157),_0x3400dd],[':content-type','application/json'],[':message-type',_0x417475(0x120)]],_0x1b72d1=[];for(const [_0x45da1d,_0x1d0b17]of _0x3558a9){const _0x19c6c3=Buffer[_0x417475(0x1b0)](_0x45da1d,_0x417475(0x18b)),_0x284cdd=Buffer[_0x417475(0x1b0)](_0x1d0b17,_0x417475(0x18b)),_0x1ac796=Buffer['alloc'](0x1+_0x19c6c3[_0x417475(0xe6)]+0x1+0x2+_0x284cdd[_0x417475(0xe6)]);let _0x16e013=0x0;_0x1ac796[_0x16e013++]=_0x19c6c3[_0x417475(0xe6)],_0x19c6c3['copy'](_0x1ac796,_0x16e013),_0x16e013+=_0x19c6c3[_0x417475(0xe6)],_0x1ac796[_0x16e013++]=0x7,_0x1ac796[_0x417475(0x151)](_0x284cdd[_0x417475(0xe6)],_0x16e013),_0x16e013+=0x2,_0x284cdd[_0x417475(0x138)](_0x1ac796,_0x16e013),_0x1b72d1['push'](_0x1ac796);}const _0x512217=Buffer[_0x417475(0x19b)](_0x1b72d1),_0x21b351=0x4+0x4+0x4+_0x512217['length']+_0x512a23['length']+0x4,_0x576291=Buffer[_0x417475(0x170)](_0x21b351);let _0x17d057=0x0;_0x576291[_0x417475(0x1bf)](_0x21b351,_0x17d057),_0x17d057+=0x4,_0x576291[_0x417475(0x1bf)](_0x512217[_0x417475(0xe6)],_0x17d057),_0x17d057+=0x4;const _0x5a82e7=_0xe028d1[_0x417475(0x190)](_0x576291[_0x417475(0x156)](0x0,0x8));_0x576291[_0x417475(0x1bf)](_0x5a82e7,_0x17d057),_0x17d057+=0x4,_0x512217[_0x417475(0x138)](_0x576291,_0x17d057),_0x17d057+=_0x512217[_0x417475(0xe6)],_0x512a23[_0x417475(0x138)](_0x576291,_0x17d057),_0x17d057+=_0x512a23['length'];const _0x50c9c8=_0xe028d1[_0x417475(0x190)](_0x576291[_0x417475(0x156)](0x0,_0x21b351-0x4));return _0x576291[_0x417475(0x1bf)](_0x50c9c8,_0x17d057),_0x576291;}async function _0x3f159a(_0x1799e3,_0x3ab90e,_0x4d65e8,_0x322dcb,_0x4b3b8c){const _0x1c9f7f=_0x2c0a63;try{const _0x2e49e4=JSON['parse'](_0x4d65e8['toString']()),_0x31acc8=_0x2e49e4[_0x1c9f7f(0xea)]?.['conversationId']||_0x1c9f7f(0x130);_0x419763('🔷\x20[KIRO]\x20intercept\x20|\x20conversationId='+_0x31acc8+_0x1c9f7f(0x15d)+_0x322dcb);const _0x19bc8e=_0x41a185(_0x2e49e4,_0x322dcb);_0x419763(_0x1c9f7f(0x150)+_0x19bc8e[_0x1c9f7f(0x13f)][_0x1c9f7f(0xe6)]+_0x1c9f7f(0x140)+(_0x19bc8e[_0x1c9f7f(0x1a7)]?.[_0x1c9f7f(0xe6)]||0x0));_0x19bc8e['tools']?.[_0x1c9f7f(0xe6)]&&_0x419763('🔷\x20[KIRO]\x20tools:\x20'+_0x19bc8e[_0x1c9f7f(0x1a7)][_0x1c9f7f(0x107)](_0x3562c4=>_0x3562c4[_0x1c9f7f(0x13e)]['name'])['join'](',\x20'));if(!_0x19bc8e[_0x1c9f7f(0x13f)][_0x1c9f7f(0xe6)])return _0x495f6f(_0x1c9f7f(0x195)),_0x4b3b8c(_0x1799e3,_0x3ab90e,_0x4d65e8);const _0x558c49=await _0x4271f4(_0x19bc8e);_0x3ab90e['writeHead'](0xc8,{'Content-Type':_0x1c9f7f(0x1be),'Cache-Control':_0x1c9f7f(0x119),'Connection':_0x1c9f7f(0xe8),'Transfer-Encoding':_0x1c9f7f(0x19c),'x-amzn-RequestId':_0x1799e3['headers'][_0x1c9f7f(0x192)]||_0x31acc8,'x-amzn-codewhisperer-conversation-id':_0x31acc8,'X-XSS-Protection':_0x1c9f7f(0xd9),'X-Frame-Options':_0x1c9f7f(0x13d),'X-Content-Type-Options':_0x1c9f7f(0x19d)});const _0x2cae04=_0x558c49['body'][_0x1c9f7f(0x176)](),_0x35de04=new TextDecoder();let _0x287d26='',_0x34b05d=![];const _0x1c4b1d={};let _0x2878fc=null;while(!![]){const {done:_0x4e51d7,value:_0x1a0365}=await _0x2cae04[_0x1c9f7f(0x18a)]();if(_0x4e51d7)break;_0x287d26+=_0x35de04['decode'](_0x1a0365,{'stream':!![]});const _0x1ca329=_0x287d26[_0x1c9f7f(0x11d)]('\x0a');_0x287d26=_0x1ca329['pop']();for(const _0x5d08e0 of _0x1ca329){if(!_0x5d08e0['startsWith']('data:\x20'))continue;const _0x35d71d=_0x5d08e0[_0x1c9f7f(0x156)](0x6)[_0x1c9f7f(0x185)]();if(_0x35d71d===_0x1c9f7f(0xfd))continue;let _0x14bd49;try{_0x14bd49=JSON[_0x1c9f7f(0x112)](_0x35d71d);}catch{continue;}if(_0x14bd49['usage'])_0x2878fc=_0x14bd49[_0x1c9f7f(0x181)];const _0x3bf2b2=_0x14bd49[_0x1c9f7f(0x110)]?.[0x0];if(!_0x3bf2b2)continue;const _0x52f1cb=_0x3bf2b2[_0x1c9f7f(0x17b)]||{},_0xfc8c25=_0x3bf2b2[_0x1c9f7f(0xe4)];_0x52f1cb['content']&&_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4(_0x1c9f7f(0x19f),{'content':_0x52f1cb[_0x1c9f7f(0x126)],'modelId':_0x322dcb}));if(_0x52f1cb[_0x1c9f7f(0x10e)]){_0x34b05d=!![];for(const _0x22f0e1 of _0x52f1cb[_0x1c9f7f(0x10e)]){const _0x3ad11a=_0x22f0e1[_0x1c9f7f(0xeb)]??0x0;if(!_0x1c4b1d[_0x3ad11a])_0x1c4b1d[_0x3ad11a]={'id':'','name':'','args':''};if(_0x22f0e1['id'])_0x1c4b1d[_0x3ad11a]['id']=_0x22f0e1['id'];if(_0x22f0e1['function']?.[_0x1c9f7f(0x118)])_0x1c4b1d[_0x3ad11a][_0x1c9f7f(0x118)]=_0x22f0e1[_0x1c9f7f(0x13e)]['name'];if(_0x22f0e1['function']?.['arguments'])_0x1c4b1d[_0x3ad11a][_0x1c9f7f(0x1b7)]+=_0x22f0e1[_0x1c9f7f(0x13e)][_0x1c9f7f(0x1af)];}}if(_0xfc8c25){if(_0x34b05d){for(const _0x5d5a54 of Object[_0x1c9f7f(0x17f)](_0x1c4b1d)){_0x419763('🔷\x20[KIRO]\x20toolUseEvent\x20|\x20id='+_0x5d5a54['id']+_0x1c9f7f(0x16e)+_0x5d5a54[_0x1c9f7f(0x118)]),_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4('toolUseEvent',{'name':_0x5d5a54[_0x1c9f7f(0x118)],'toolUseId':_0x5d5a54['id']}));const _0x457134=_0x5d5a54[_0x1c9f7f(0x1b7)]||'{}',_0x33fcb1=0x20;for(let _0x1e4eae=0x0;_0x1e4eae<_0x457134['length'];_0x1e4eae+=_0x33fcb1){_0x3ab90e['write'](_0xf216c4(_0x1c9f7f(0x14f),{'input':_0x457134[_0x1c9f7f(0x156)](_0x1e4eae,_0x1e4eae+_0x33fcb1),'name':_0x5d5a54['name'],'toolUseId':_0x5d5a54['id']}));}_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4('toolUseEvent',{'name':_0x5d5a54[_0x1c9f7f(0x118)],'stop':!![],'toolUseId':_0x5d5a54['id']}));}_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4(_0x1c9f7f(0x19f),{'content':'','modelId':_0x322dcb}));}const _0xefe288=_0x2878fc?.[_0x1c9f7f(0x109)]||0x0,_0x12135f=_0x2878fc?.['total_tokens']||0x0,_0x3cdf22=_0xefe288>0x0?_0xefe288/0x30d40*0x64:1.5,_0x3bd2d3=_0x12135f>0x0?_0x12135f*0.000004:0.001;_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4(_0x1c9f7f(0x1ad),{'contextUsagePercentage':_0x3cdf22})),_0x3ab90e[_0x1c9f7f(0x146)](_0xf216c4(_0x1c9f7f(0x166),{'unit':_0x1c9f7f(0x1b2),'unitPlural':_0x1c9f7f(0x16a),'usage':_0x3bd2d3})),_0x419763(_0x1c9f7f(0x177)+_0xfc8c25+_0x1c9f7f(0x162)+_0x34b05d);}}}_0x3ab90e[_0x1c9f7f(0x167)]();}catch(_0x7301b8){_0x495f6f(_0x1c9f7f(0x139)+_0x7301b8['message']);if(!_0x3ab90e['headersSent'])_0x3ab90e[_0x1c9f7f(0x121)](0x1f4,{'Content-Type':_0x1c9f7f(0x163)});_0x3ab90e['end'](JSON[_0x1c9f7f(0xf0)]({'error':{'message':_0x7301b8[_0x1c9f7f(0x105)],'type':_0x1c9f7f(0xfe)}}));}}_0x256b49[_0x2c0a63(0x10f)]={'intercept':_0x3f159a};}}),https=require(a0_0xc2df71(0x114)),fs=require('fs'),path=require(a0_0xc2df71(0xd4)),dns=require(a0_0xc2df71(0x1a9)),{promisify}=require(a0_0xc2df71(0xec)),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0xc2df71(0x127)](DATA_DIR,'db.json'),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path[a0_0xc2df71(0x127)](DATA_DIR,a0_0xc2df71(0x104),a0_0xc2df71(0xdb)),INTERNAL_REQUEST_HEADER={'name':'x-request-source','value':a0_0xc2df71(0x1aa)};if(ENABLE_FILE_LOG&&!fs[a0_0xc2df71(0x189)](LOG_DIR))fs['mkdirSync'](LOG_DIR,{'recursive':!![]});var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function sniCallback(_0x577757,_0x244c89){const _0x40d293=a0_0xc2df71;try{if(certCache[_0x40d293(0x13b)](_0x577757))return _0x244c89(null,certCache[_0x40d293(0x179)](_0x577757));const _0x2b768c=getCertForDomain(_0x577757);if(!_0x2b768c)return _0x244c89(new Error(_0x40d293(0xfc)+_0x577757));const _0x159bf1=require('tls')['createSecureContext']({'key':_0x2b768c['key'],'cert':_0x2b768c[_0x40d293(0xfa)]});certCache[_0x40d293(0x12c)](_0x577757,_0x159bf1),log('🔐\x20Cert\x20generated:\x20'+_0x577757),_0x244c89(null,_0x159bf1);}catch(_0x3fd936){err(_0x40d293(0x106)+_0x577757+':\x20'+_0x3fd936[_0x40d293(0x105)]),_0x244c89(_0x3fd936);}}var sslOptions;try{sslOptions={'key':fs['readFileSync'](path[a0_0xc2df71(0x127)](MITM_DIR,a0_0xc2df71(0x1a5))),'cert':fs[a0_0xc2df71(0x10b)](path[a0_0xc2df71(0x127)](MITM_DIR,'rootCA.crt')),'SNICallback':sniCallback};}catch(a0_0x2ffb02){err(a0_0xc2df71(0xf3)+a0_0x2ffb02[a0_0xc2df71(0x105)]),process[a0_0xc2df71(0xf9)](0x1);}var cachedTargetIPs={},CACHE_TTL_MS=0x5*0x3c*0x3e8;async function resolveTargetIP(_0x1041b6){const _0x1f3bff=a0_0xc2df71,_0x4bb9f7=cachedTargetIPs[_0x1041b6];if(_0x4bb9f7&&Date[_0x1f3bff(0x103)]()-_0x4bb9f7['ts']<CACHE_TTL_MS)return _0x4bb9f7['ip'];const _0x362506=new dns[(_0x1f3bff(0x14d))]();_0x362506[_0x1f3bff(0x141)]([_0x1f3bff(0x12a)]);const _0x4143ad=promisify(_0x362506['resolve4'][_0x1f3bff(0x1a4)](_0x362506)),_0x494e84=await _0x4143ad(_0x1041b6);return cachedTargetIPs[_0x1041b6]={'ip':_0x494e84[0x0],'ts':Date[_0x1f3bff(0x103)]()},cachedTargetIPs[_0x1041b6]['ip'];}function collectBodyRaw(_0x39c18b){return new Promise((_0x228a0e,_0x515b13)=>{const _0x598809=a0_0x57f7,_0x226d4d=[];_0x39c18b['on'](_0x598809(0x111),_0x3bd33a=>_0x226d4d[_0x598809(0x182)](_0x3bd33a)),_0x39c18b['on'](_0x598809(0x167),()=>_0x228a0e(Buffer[_0x598809(0x19b)](_0x226d4d))),_0x39c18b['on'](_0x598809(0xed),_0x515b13);});}function extractModel(_0x5a6ab6,_0x38875d){const _0x4b3252=a0_0xc2df71,_0xc4b0ee=_0x5a6ab6[_0x4b3252(0x186)](/\/models\/([^/:]+)/);if(_0xc4b0ee)return _0xc4b0ee[0x1];try{const _0x2ab38b=JSON[_0x4b3252(0x112)](_0x38875d['toString']());if(_0x2ab38b[_0x4b3252(0xea)])return _0x2ab38b[_0x4b3252(0xea)][_0x4b3252(0x187)]?.[_0x4b3252(0xdc)]?.['modelId']||null;return _0x2ab38b[_0x4b3252(0x196)]||null;}catch{return null;}}function getMappedModel(_0x13222e,_0x2d556a){const _0x29fe88=a0_0xc2df71;if(!_0x2d556a)return null;try{if(!fs[_0x29fe88(0x189)](DB_FILE))return null;const _0x52f53e=JSON['parse'](fs['readFileSync'](DB_FILE,_0x29fe88(0xe7))),_0x3f3733=_0x52f53e[_0x29fe88(0x184)]?.[_0x13222e];if(!_0x3f3733)return null;if(_0x3f3733[_0x2d556a])return _0x3f3733[_0x2d556a];const _0x510d85=Object['keys'](_0x3f3733)[_0x29fe88(0x136)](_0x503f9e=>_0x503f9e&&_0x3f3733[_0x503f9e]&&(_0x2d556a[_0x29fe88(0x171)](_0x503f9e)||_0x503f9e[_0x29fe88(0x171)](_0x2d556a)));return _0x510d85?_0x3f3733[_0x510d85]:null;}catch{return null;}}function saveRequestLog(_0x522c65,_0x4b4de9){const _0x9d6b45=a0_0xc2df71;if(!ENABLE_FILE_LOG)return;try{const _0xe360de=new Date()[_0x9d6b45(0x180)]()[_0x9d6b45(0x135)](/[:.]/g,'-'),_0x3fc69e=_0x522c65[_0x9d6b45(0x135)](/[^a-zA-Z0-9]/g,'_')[_0x9d6b45(0x132)](0x0,0x3c),_0x252d25=JSON['parse'](_0x4b4de9[_0x9d6b45(0x1bb)]());fs[_0x9d6b45(0xd8)](path[_0x9d6b45(0x127)](LOG_DIR,_0xe360de+'_'+_0x3fc69e+'.json'),JSON['stringify'](_0x252d25,null,0x2));}catch{}}async function passthrough(_0x1684f8,_0x578275,_0xfc33ad,_0x5d097e){const _0x37ab56=a0_0xc2df71,_0x224355=(_0x1684f8[_0x37ab56(0x153)][_0x37ab56(0x122)]||TARGET_HOSTS[0x0])[_0x37ab56(0x11d)](':')[0x0],_0x2906a9=await resolveTargetIP(_0x224355),_0x4a69bc=https[_0x37ab56(0x168)]({'hostname':_0x2906a9,'port':0x1bb,'path':_0x1684f8['url'],'method':_0x1684f8['method'],'headers':{..._0x1684f8[_0x37ab56(0x153)],'host':_0x224355},'servername':_0x224355,'rejectUnauthorized':![]},_0x48af30=>{const _0x2bc99c=_0x37ab56;_0x578275[_0x2bc99c(0x121)](_0x48af30['statusCode'],_0x48af30[_0x2bc99c(0x153)]);if(!_0x5d097e){_0x48af30['pipe'](_0x578275);return;}const _0x51f35d=[];_0x48af30['on'](_0x2bc99c(0x111),_0x164721=>{const _0x3a3228=_0x2bc99c;_0x51f35d[_0x3a3228(0x182)](_0x164721),_0x578275[_0x3a3228(0x146)](_0x164721);}),_0x48af30['on'](_0x2bc99c(0x167),()=>{const _0x5cc72b=_0x2bc99c;_0x578275[_0x5cc72b(0x167)]();try{_0x5d097e(Buffer[_0x5cc72b(0x19b)](_0x51f35d),_0x48af30['headers']);}catch{}});});_0x4a69bc['on'](_0x37ab56(0xed),_0x3b1e84=>{const _0x4d9a22=_0x37ab56;err(_0x4d9a22(0x125)+_0x3b1e84['message']);if(!_0x578275[_0x4d9a22(0xde)])_0x578275['writeHead'](0x1f6);_0x578275[_0x4d9a22(0x167)](_0x4d9a22(0x18c));});if(_0xfc33ad['length']>0x0)_0x4a69bc[_0x37ab56(0x146)](_0xfc33ad);_0x4a69bc[_0x37ab56(0x167)]();}var server=https[a0_0xc2df71(0x131)](sslOptions,async(_0xb0199b,_0x888a9f)=>{const _0x2196ee=a0_0xc2df71;try{if(_0xb0199b[_0x2196ee(0x12e)]===_0x2196ee(0x1a8)){_0x888a9f[_0x2196ee(0x121)](0xc8,{'Content-Type':_0x2196ee(0x163)}),_0x888a9f['end'](JSON[_0x2196ee(0xf0)]({'ok':!![],'pid':process[_0x2196ee(0x199)]}));return;}const _0x576ba4=await collectBodyRaw(_0xb0199b);if(_0x576ba4[_0x2196ee(0xe6)]>0x0)saveRequestLog(_0xb0199b[_0x2196ee(0x12e)],_0x576ba4);if(_0xb0199b[_0x2196ee(0x153)][INTERNAL_REQUEST_HEADER['name']]===INTERNAL_REQUEST_HEADER['value'])return passthrough(_0xb0199b,_0x888a9f,_0x576ba4);const _0x27f686=getToolForHost(_0xb0199b[_0x2196ee(0x153)]['host']);if(!_0x27f686)return passthrough(_0xb0199b,_0x888a9f,_0x576ba4);const _0x1b6509=URL_PATTERNS[_0x27f686]||[],_0x55a166=_0x1b6509['some'](_0x525903=>_0xb0199b[_0x2196ee(0x12e)][_0x2196ee(0x178)](_0x525903));if(!_0x55a166)return passthrough(_0xb0199b,_0x888a9f,_0x576ba4);log(_0x2196ee(0x161)+_0x27f686+_0x2196ee(0x1a6)+_0xb0199b[_0x2196ee(0x12e)]+'\x20|\x20bodyLen='+_0x576ba4[_0x2196ee(0xe6)]);if(_0x27f686==='cursor')return log(_0x2196ee(0x1ae)),handlers[_0x27f686][_0x2196ee(0x194)](_0xb0199b,_0x888a9f,_0x576ba4,null,passthrough);const _0x3a64d0=extractModel(_0xb0199b['url'],_0x576ba4);log('🔍\x20['+_0x27f686+_0x2196ee(0x137)+_0x3a64d0+'\x22');const _0x1bd023=getMappedModel(_0x27f686,_0x3a64d0);if(!_0x1bd023)return log('⏩\x20passthrough\x20|\x20no\x20mapping\x20|\x20'+_0x27f686+_0x2196ee(0x14c)+(_0x3a64d0||'unknown')),passthrough(_0xb0199b,_0x888a9f,_0x576ba4);return log('⚡\x20intercept\x20|\x20'+_0x27f686+_0x2196ee(0x14c)+_0x3a64d0+_0x2196ee(0x11f)+_0x1bd023),handlers[_0x27f686][_0x2196ee(0x194)](_0xb0199b,_0x888a9f,_0x576ba4,_0x1bd023,passthrough);}catch(_0x5b1efc){err(_0x2196ee(0x1b8)+_0x5b1efc[_0x2196ee(0x105)]);if(!_0x888a9f['headersSent'])_0x888a9f[_0x2196ee(0x121)](0x1f4,{'Content-Type':_0x2196ee(0x163)});_0x888a9f[_0x2196ee(0x167)](JSON[_0x2196ee(0xf0)]({'error':{'message':_0x5b1efc['message'],'type':_0x2196ee(0xfe)}}));}});function a0_0x4ae4(){const _0x2014c0=['mtiXmLrRsefWBa','revowq','zNvUy3rPB24','BwvZC2fNzxm','ihWGDg9VBhm9','C2v0u2vYDMvYCW','z2v0rNvSBfLLyxi','odrWqMvcCfe','C2v0sxnZDwvY','Aw5WDxrty2HLBwe','D3jPDgu','AgLZDg9YEq','C3rHDhvZ','ChjPDMf0zuTLEuzYB21qzw0','y29TBw9UtMfTzq','EMXPyG','ihWG','uMvZB2X2zxi','C3LZDgvT','Dg9VBfvZzuv2zw50','8j+uTYbBs0Lst10Gy29UDMvYDgvKihWGBwvZC2fNzxm9','D3jPDgvvsw50mtzcrq','Dgv4Da','AgvHzgvYCW','CgXHDgzVCM0','Bg9N','C2XPy2u','oMv2zw50lxr5Cgu','mti2mJy3mLjpDgvcvG','z2vUzxjHDgvlzxLqywLY','m1boAvDysa','zw4Tvvm','l0jPzgLbChbLBMq','ihWGBw9KzwW9','y29UDgvUDc10ExbL','l3yXl2nOyxqVy29TCgXLDgLVBNm','uM9VDcbdqsbUB3qGzM91BMqUieDLBMvYyxrLigL0igzPCNn0lG','8j+uJsbB','igHHC1rVB2XdywXSCZ0','yxbWBgLJyxrPB24VANnVBG','BM9Kzs1MB3jNzq','yMfZAwndB25ZDhjHAw50CW','Bwv0zxjPBMDfDMvUDa','zw5K','CMvXDwvZDa','oMDLBMvYyxrLq29UDgvUDa','y3jLzgL0CW','DxnLCG','Dg9VBfjLC3vSDhm','ue9tva','ig5HBwu9','C2HHmJu2','ywXSB2m','C3rHCNrZv2L0Aa','xtOG','Ag9TzwrPCG','C3vIAMvJDeTLEuLKzw50AwzPzxi','mtm3mdi1mhzuBgrbuG','z2v0uMvHzgvY','8j+uTYbBs0Lst10Gzg9Uzsb8igzPBMLZAfjLyxnVBJ0','Aw5JBhvKzxm','z2v0','u0LhqLjfquS','zgvSDge','A2LYBW','BgLZDgvU','C2v0u3vIAMvJDa','DMfSDwvZ','Dg9ju09tDhjPBMC','DxnHz2u','ChvZAa','y2vYDgLMAwnHDgvuB1bLBq','BwL0BufSAwfZ','DhjPBq','Bwf0y2G','y3vYCMvUDe1LC3nHz2u','C3vIAMvJDefSDe5HBwu','zxHPC3rZu3LUyW','CMvHza','DxrMoa','qMfKieDHDgv3yxK','otuWndz1EwPXy3q','oxjVDxrLCG','igfSCMvHzhKGAw4GDxnL','y3jJmZi','C2v0rNvSBfLLyxi','yw16lxnKAY1PBNzVy2f0Aw9UlwLK','Dg9VBfnWzwnPzMLJyxrPB24','Aw50zxjJzxb0','w0TjuK9Die5Vig1LC3nHz2vZigfMDgvYignVBNzLCNnPB24G4OcuihbHC3n0AhjVDwDO','Bw9KzwW','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','wc1by2nLBc1cDwzMzxjPBMC','CgLK','uM9HBwLUzW','y29Uy2f0','y2H1BMTLza','BM9ZBMLMzG','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','yxnZAxn0yw50uMvZCg9UC2vfDMvUDa','yxbPlMLUzgL2Awr1ywWUz2L0AhvIy29WAwXVDc5JB20','C2LNBG','B2jQzwn0','ww91igfYzsbHBIbPBNrLBNqGy2XHC3nPzMLLCG','yMLUza','CM9VDenblMTLEq','xsb1CMW9','Dg9VBhm','l19TAxrTx2HLywX0Aa','zg5Z','Bg9JywW','CNnH','oNn0CMvHBuDLBMvYyxrLq29UDgvUDa','y29UDgv4DfvZywDLrxzLBNq','4PQHigLUDgvYy2vWDcb8ign1CNnVCIb8ihbYB3rV','yxjNDw1LBNrZ','zNjVBq','y2f0y2G','y3jLzgL0','ChvIBgLJs2v5','ntyXnwDns0vgBa','Dw5SAw5Ru3LUyW','y29Kzq','yxjNCW','vw5Oyw5KBgvKigvYCM9YoIa','l3jLC3bVBNnLCW','zxH0s2v5vxnHz2u','Dg9tDhjPBMC','C3vIAMvJDa','yxbPmI5JDxjZB3iUC2G','yxbWBgLJyxrPB24VDM5KlMfTyxPVBI5LDMvUDhn0CMvHBq','D3jPDgvvsw50mZjcrq','ovjVDxrLCG','Dg9VBa','ug9YDca','Cgf0Aa','BM90qwz0zxi','l3yXl21LC3nHz2vZ','yM9KEq','D3jPDgvgAwXLu3LUyW','mtSGBw9Kzt1IBg9JAW','B3jNyw5PEMf0Aw9UtMfTzq','BwL0Bq','DxnLCKLUChv0twvZC2fNzq','yxnZAxn0yw50','AgvHzgvYC1nLBNq','Ahr0CdOVl2XVy2fSAg9ZDdOYmdeYoa','C2v0rxH0zw5ZAw9UCW','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','y3jLyxrL','A2v5vxnHz2u','zMLUAxnOx3jLyxnVBG','D2LUmZi','BgvUz3rO','DxrMltG','A2vLCc1HBgL2zq','Dg9VBfvZzuLK','y29UDMvYC2f0Aw9Uu3rHDgu','Aw5KzxG','DxrPBa','zxjYB3i','ruferfjjtLvtrq','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','C3rYAw5NAwz5','y3jLyxrLq2vYDgLMAwnHDgu','y2vYDgLMAwnHDgvgCM9TugvT','uM9VDcbdqsbUB3qGzM91BMq6ia','yxr0CMLIDxrLCW','yxnZAxn0yw50uMvZCg9UC2vnzxnZywDL','CgTP','8j+uKcbsB290ienbigv4CgLYzwqGB3iGzxHWAxjPBMCGC29VBIdIGjqGCMvNzw5LCMf0Aw5NlI4U','Dg9VBfvZzxm','zxHPDa','y2vYDa','ChjPDMf0zuTLEvrVugvT','rMfPBgvKihrVigDLBMvYyxrLignLCNqGzM9Yia','w0rptKvD','BwL0Bv9LCNjVCG','zw50CMLLCW','DMfSAwrPDhK','w2fUDgLNCMf2Axr5xsa','y3vYC29Y','BM93','Bg9NCW','BwvZC2fNzq','u05jigvYCM9YigzVCIa','BwfW','l3yXl3jLC3bVBNnLCW','ChjVBxb0x3rVA2vUCW','qMvHCMvYia','CMvHzezPBgvtEw5J','lJLYB3v0zxi','l2DLBMvYyxrLqxnZAxn0yw50uMvZCg9UC2u','Dg9VBf9JywXSCW','zxHWB3j0CW','y2HVAwnLCW','zgf0yq','CgfYC2u','Dg9mB2nHBgvuAw1Lu3rYAw5N','Ahr0Chm','y29WAwXVDa','Aw5WDxq','oda1otrZsNnlDfm','BMfTzq','BM8Ty2fJAgu','zgvZy3jPChrPB24','ChjPDMf0zuTLEq','A2v5','C3bSAxq','CMfUzg9T','iokgKIa','zxzLBNq','D3jPDgvizwfK','Ag9ZDa','4PYfifjVB3qGq0eGz2vUzxjHDgvKihn1y2nLC3nMDwXSEq','BwTKAxjtEw5J','ugfZC3rOCM91z2GGzxjYB3i6ia','y29UDgvUDa','AM9PBG','l1j1BG','8j+AGcbtzxj2zxiGCMvHzhKGB24GoG','oc44lJGUoa','C2vYAwfStNvTyMvY','C2v0','w2nVCgLSB3rDia','DxjS','mJKZodq3mhbtA3Pyuq','Dw5RBM93BG','y3jLyxrLu2vYDMvY','C3vIC3rYAw5N','BM90qMvMB3jL','mtu0otG3C05OuvnJ','CMvWBgfJzq','zMLUza','xsbTB2rLBd0I','y29WEq','w0TjuK9Dia','l2nOyxqVy29TCgXLDgLVBNm','AgfZ'];a0_0x4ae4=function(){return _0x2014c0;};return a0_0x4ae4();}server[a0_0xc2df71(0x17d)](LOCAL_PORT,()=>log(a0_0xc2df71(0x129)+LOCAL_PORT)),server['on'](a0_0xc2df71(0xed),_0x5378bc=>{const _0x4fac9e=a0_0xc2df71;if(_0x5378bc[_0x4fac9e(0x1b6)]===_0x4fac9e(0xee))err(_0x4fac9e(0xd3)+LOCAL_PORT+_0x4fac9e(0x18f));else{if(_0x5378bc[_0x4fac9e(0x1b6)]==='EACCES')err('Permission\x20denied\x20for\x20port\x20'+LOCAL_PORT);else err(_0x5378bc[_0x4fac9e(0x105)]);}process['exit'](0x1);});var shutdown=()=>server['close'](()=>process[a0_0xc2df71(0xf9)](0x0));function a0_0x57f7(_0x54528e,_0x18d66e){_0x54528e=_0x54528e-0xd2;const _0x4ae415=a0_0x4ae4();let _0x57f776=_0x4ae415[_0x54528e];if(a0_0x57f7['rmWKcg']===undefined){var _0x3d5184=function(_0x391249){const _0xa2c64f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x214aaf='',_0x3c45f2='';for(let _0x16b5d1=0x0,_0xe2c0ed,_0x5a3010,_0x3ff1a1=0x0;_0x5a3010=_0x391249['charAt'](_0x3ff1a1++);~_0x5a3010&&(_0xe2c0ed=_0x16b5d1%0x4?_0xe2c0ed*0x40+_0x5a3010:_0x5a3010,_0x16b5d1++%0x4)?_0x214aaf+=String['fromCharCode'](0xff&_0xe2c0ed>>(-0x2*_0x16b5d1&0x6)):0x0){_0x5a3010=_0xa2c64f['indexOf'](_0x5a3010);}for(let _0x307faa=0x0,_0xc0614f=_0x214aaf['length'];_0x307faa<_0xc0614f;_0x307faa++){_0x3c45f2+='%'+('00'+_0x214aaf['charCodeAt'](_0x307faa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c45f2);};a0_0x57f7['oqTsSq']=_0x3d5184,a0_0x57f7['sZvdiG']={},a0_0x57f7['rmWKcg']=!![];}const _0x9b5ca3=_0x4ae415[0x0],_0x4713da=_0x54528e+_0x9b5ca3,_0x3c334d=a0_0x57f7['sZvdiG'][_0x4713da];return!_0x3c334d?(_0x57f776=a0_0x57f7['oqTsSq'](_0x57f776),a0_0x57f7['sZvdiG'][_0x4713da]=_0x57f776):_0x57f776=_0x3c334d,_0x57f776;}process['on']('SIGTERM',shutdown),process['on']('SIGINT',shutdown);if(process[a0_0xc2df71(0x154)]===a0_0xc2df71(0xe5))process['on'](a0_0xc2df71(0x17a),shutdown);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[505],{43202:(e,i,a)=>{a.d(i,{Q2:()=>n.Q2,fg:()=>n.fg,vQ:()=>t,MA:()=>n.MA,UY:()=>r,zN:()=>n.zN,B2:()=>o});var n=a(82495);a(69633);let t={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.78"},o={storageKey:"theme",defaultTheme:"system"},r={maxLines:200,pollIntervalMs:1e3}},55348:(e,i,a)=>{a.d(i,{CL:()=>o,QC:()=>r,Xn:()=>t,YZ:()=>n});let n=["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no"],t="en",o="locale";function r(e){return"zh"===e||"zh-CN"===e?"zh-CN":"en"===e?"en":"vi"===e?"vi":"zh-TW"===e?"zh-TW":"ja"===e?"ja":"pt-BR"===e?"pt-BR":"pt-PT"===e?"pt-PT":"ko"===e?"ko":"es"===e?"es":"de"===e?"de":"fr"===e?"fr":"he"===e?"he":"ar"===e?"ar":"ru"===e?"ru":"pl"===e?"pl":"cs"===e?"cs":"nl"===e?"nl":"tr"===e?"tr":"uk"===e?"uk":"tl"===e?"tl":"id"===e?"id":"th"===e?"th":"hi"===e?"hi":"bn"===e?"bn":"ur"===e?"ur":"ro"===e?"ro":"sv"===e?"sv":"it"===e?"it":"el"===e?"el":"hu"===e?"hu":"fi"===e?"fi":"da"===e?"da":"no"===e?"no":t}},69633:(e,i,a)=>{a.d(i,{KC:()=>n.KC,Xg:()=>n.Xg});var n=a(94718);Object.entries(a(82495).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(n.vq).flatMap(([e,i])=>i.map(i=>({provider:e,model:i.id,name:i.name})))},82495:(e,i,a)=>{a.d(i,{DI:()=>d,IS:()=>n,JH:()=>m,MA:()=>h,Q2:()=>p,fg:()=>r,gb:()=>c,mq:()=>l,nJ:()=>t,o5:()=>b,rj:()=>s,wG:()=>g,wb:()=>f,zN:()=>o,zt:()=>u});let n={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Google has tightened Gemini CLI abuse detection and restricted Pro models to paid accounts (Mar 25, 2026). Using this provider may violate ToS and risk account bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"}},t={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}}},o={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"Antigravity has tightened abuse detection and restricted model access. Using this provider may violate ToS and risk account bans."},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},r={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",serviceKinds:["llm","embedding","tts"]},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",serviceKinds:["llm"]},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",serviceKinds:["llm","embedding"]},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",serviceKinds:["stt"]},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",serviceKinds:["stt"]},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai",serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",serviceKinds:["tts"]},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",serviceKinds:["tts"]},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",serviceKinds:["tts"]},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",serviceKinds:["embedding","image","tts"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},s=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Image",icon:"image",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"tts",label:"TTS",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"STT",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/video/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}}],m="openai-compatible-",d="anthropic-compatible-";function l(e){return"string"==typeof e&&e.startsWith(m)}function c(e){return"string"==typeof e&&e.startsWith(d)}let p={...n,...t,...o,...r},h={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function u(e){for(let i of Object.values(p))if(i.alias===e||i.id===e)return i;return null}function g(e){let i=p[e];return i?.alias||e}function b(e){return Object.values(p).filter(i=>(i.serviceKinds??["llm"]).includes(e))}Object.values(p).reduce((e,i)=>(e[i.alias]=i.id,e),{}),Object.values(p).reduce((e,i)=>(e[i.id]=i.alias,e),{});let f=["claude","antigravity","kiro","github","codex","kimi-coding"]},83789:(e,i,a)=>{a.d(i,{A:()=>s});var n=a(2074),t=a(11472),o=a(43202);function r(e){let i=document.documentElement,a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?a:e)?i.classList.add("dark"):i.classList.remove("dark")}let s=(0,n.v)((0,t.Zr)((e,i)=>({theme:o.B2.defaultTheme,setTheme:i=>{e({theme:i}),r(i)},toggleTheme:()=>{let a="dark"===i().theme?"light":"dark";e({theme:a}),r(a)},initTheme:()=>{r(i().theme)}}),{name:o.B2.storageKey}))},84502:(e,i,a)=>{a.d(i,{FE:()=>p,Tl:()=>d,wn:()=>h});var n=a(55348);let t={},o=n.Xn,r=[];function s(){if("u"<typeof document)return n.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${n.CL}=`)),i=e?decodeURIComponent(e.split("=")[1]):n.Xn;return(0,n.QC)(i)}async function m(e){if("en"===e){t={};return}try{let i=await fetch(`/i18n/literals/${e}.json`);t=await i.json()}catch(e){console.error("Failed to load translations:",e),t={}}}function d(e){if(!e||"string"!=typeof e)return e;let i=e.trim();return i&&"en"!==o&&t[i]||e}function l(e){if(!e.nodeValue||!e.nodeValue.trim())return;let i=e.parentElement;if(!i)return;let a=i;for(;a;){if(a.hasAttribute&&a.hasAttribute("data-i18n-skip"))return;a=a.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(i.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let n=d(e._originalText);n!==e.nodeValue&&(e.nodeValue=n)}function c(e){let i;if(!e)return;let a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),n=[];for(;i=a.nextNode();)n.push(i);n.forEach(l)}async function p(){o=s(),await m(o),c(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?c(e):e.nodeType===Node.TEXT_NODE&&l(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function h(){o=s(),await m(o),r.forEach(e=>e()),c(document.body)}},94718:(e,i,a)=>{a.d(i,{Xg:()=>l,vq:()=>m,KC:()=>c});var n=a(390),t=a(89651);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",s={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"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,n.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,n.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,n.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,n.platform)()}`}}(),"X-Stainless-Timeout":"600"},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",clientSecret:"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",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:t.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:t.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,n.platform)()}/${(0,n.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:{...o}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...o}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...o}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...o}},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:{}},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",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:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...o},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:{...o}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},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"}},m={cc:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}],gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 Coder Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],ag:[{id:"gemini-3.1-pro-high",name:"Gemini 3 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3 Pro Low"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2"},{id:"deepseek-3.1",name:"DeepSeek 3.1"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],kmc:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],cl:[{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],openai:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"}],openrouter:[],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],"minimax-cn":[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],deepseek:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],groq:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}],xai:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},d={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu","kimi-coding":"kmc",kilocode:"kc",cline:"cl",vertex:"vertex","vertex-partner":"vertex-partner"},l=Object.fromEntries(Object.keys(s).map(e=>[e,d[e]||e]));function c(e){return m[l[e]||e]||[]}},98814:(e,i,a)=>{a.d(i,{ThemeProvider:()=>r});var n=a(73365),t=a(1521),o=a(83789);function r({children:e}){let{initTheme:i}=(0,o.A)();return(0,t.useEffect)(()=>{i()},[i]),(0,n.jsx)(n.Fragment,{children:e})}}}]);
|