9router 0.3.56 → 0.3.57
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 +26 -26
- package/app/.next/build-manifest.json +2 -2
- 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/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/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 +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_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/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/version/route.js +1 -1
- package/app/.next/server/app/api/version/route_client-reference-manifest.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/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 +4 -4
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +1 -1
- 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 +4 -4
- 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/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +26 -26
- package/app/.next/server/chunks/1114.js +1 -1
- package/app/.next/server/chunks/1424.js +1 -1
- package/app/.next/server/chunks/318.js +1 -1
- package/app/.next/server/chunks/9201.js +1 -1
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{5497-c5403d4340dfbeb0.js → 5497-ea854c092fddeb4d.js} +1 -1
- package/app/.next/static/chunks/app/{layout-a3634d564d5e7993.js → layout-095f249fd620f9cf.js} +1 -1
- package/app/package.json +1 -2
- package/app/src/mitm/server.js +1 -1
- package/package.json +1 -1
- /package/app/.next/static/{gStrggE8HSBGxSIt_oloe → k34dymG0FFBnm_nPA74jH}/_buildManifest.js +0 -0
- /package/app/.next/static/{gStrggE8HSBGxSIt_oloe → k34dymG0FFBnm_nPA74jH}/_ssgManifest.js +0 -0
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
`,children:e.name},e.id)})})]}),Object.entries(w).map(([e,t])=>(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,r.jsx)("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:t.color}}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:t.name}),(0,r.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",t.models.length,")"]})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.models.map(e=>{let t=l===e.value,s=e.isPlaceholder;return(0,r.jsx)("button",{onClick:()=>C(e),title:s?"Select to pre-fill, then edit model ID in the input":void 0,className:`
|
|
5
5
|
px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer
|
|
6
6
|
${s?"border-dashed border-border text-text-muted hover:border-primary/50 hover:text-primary bg-surface italic":t?"bg-primary text-white border-primary":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
|
|
7
|
-
`,children:s?(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),e.name]}):e.isCustom?(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[e.name,(0,r.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):e.name},e.id)})})]},e)),0===Object.keys(w).length&&0===k.length&&(0,r.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,r.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}m.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onSelect:n().func.isRequired,selectedModel:n().string,activeProviders:n().arrayOf(n().shape({provider:n().string.isRequired})),title:n().string,modelAliases:n().object}},73006:(e,t,s)=>{s.d(t,{FE:()=>x,Tl:()=>d,wn:()=>u});var r=s(93308);let a={},l=r.Xn,n=[];function i(){if("u"<typeof document)return r.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${r.CL}=`)),t=e?decodeURIComponent(e.split("=")[1]):r.Xn;return(0,r.QC)(t)}async function o(e){if("en"===e){a={};return}try{let t=await fetch(`/i18n/literals/${e}.json`);a=await t.json()}catch(e){console.error("Failed to load translations:",e),a={}}}function d(e){if(!e||"string"!=typeof e)return e;let t=e.trim();return t&&"en"!==l&&a[t]||e}function c(e){if(!e.nodeValue||!e.nodeValue.trim())return;let t=e.parentElement;if(!t)return;let s=t;for(;s;){if(s.hasAttribute&&s.hasAttribute("data-i18n-skip"))return;s=s.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(t.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let r=d(e._originalText);r!==e.nodeValue&&(e.nodeValue=r)}function m(e){let t;if(!e)return;let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),r=[];for(;t=s.nextNode();)r.push(t);r.forEach(c)}async function x(){l=i(),await o(l),m(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?m(e):e.nodeType===Node.TEXT_NODE&&c(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function u(){l=i(),await o(l),n.forEach(e=>e()),m(document.body)}},74891:(e,t,s)=>{s.d(t,{default:()=>h});var r=s(95155),a=s(73321),l=s(12115),n=s(98500),i=s.n(n),o=s(5772),d=s(14051),c=s.n(d),m=s(35497),x=s(90620),u=s(73006);function h({onMenuClick:e,showMenuButton:t=!0}){let s=(0,a.usePathname)(),n=(0,a.useRouter)(),{title:d,description:c,breadcrumbs:h}=(0,l.useMemo)(()=>(e=>{if(!e)return{title:"",description:"",breadcrumbs:[]};let t=e.match(/\/providers\/([^/]+)$/);if(t){let e=t[1],s=x.zN[e]||x.fg[e];if(s)return{title:s.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:s.name,image:`/providers/${s.id}.png`}]}}return e.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",breadcrumbs:[]}:e.includes("/combos")?{title:"Combos",description:"Model combos with fallback",breadcrumbs:[]}:e.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",breadcrumbs:[]}:e.includes("/mitm")?{title:"MITM Proxy",description:"Intercept CLI tool traffic and route through 9Router",breadcrumbs:[]}:e.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",breadcrumbs:[]}:e.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:e.includes("/profile")?{title:"Settings",description:"Manage your preferences",breadcrumbs:[]}:e.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",breadcrumbs:[]}:e.includes("/console-log")?{title:"Console Log",description:"Live server console output",breadcrumbs:[]}:"/dashboard"===e?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(s),[s]),p=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(n.push("/login"),n.refresh())}catch(e){console.error("Failed to logout:",e)}};return(0,r.jsxs)("header",{className:"flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0",children:[(0,r.jsx)("div",{className:"flex items-center gap-3 lg:hidden",children:t&&(0,r.jsx)("button",{onClick:e,className:"text-text-main hover:text-primary transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,r.jsx)("div",{className:"hidden lg:flex flex-col",children:h.length>0?(0,r.jsx)("div",{className:"flex items-center gap-2",children:h.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[t>0&&(0,r.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),e.href?(0,r.jsx)(i(),{href:e.href,className:"text-text-muted hover:text-primary transition-colors",children:e.label}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.image&&(0,r.jsx)(o.default,{src:e.image,alt:e.label,width:28,height:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",sizes:"28px",onError:e=>{e.currentTarget.style.display="none"}}),(0,r.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:(0,u.Tl)(e.label)})]})]},`${e.label}-${e.href||"current"}`))}):d?(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:(0,u.Tl)(d)}),c&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:(0,u.Tl)(c)})]}):null}),(0,r.jsxs)("div",{className:"flex items-center gap-3 ml-auto",children:[(0,r.jsx)(m.c5,{}),(0,r.jsx)(m.UW,{}),(0,r.jsx)("button",{onClick:p,className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all",title:"Logout",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"logout"})})]})]})}h.propTypes={onMenuClick:c().func,showMenuButton:c().bool}},81127:(e,t,s)=>{s.d(t,{ConfirmModal:()=>o,default:()=>i});var r=s(95155),a=s(12115),l=s(31474),n=s(92542);function i({isOpen:e,onClose:t,title:s,children:n,footer:i,size:o="md",closeOnOverlay:d=!0,showCloseButton:c=!0,className:m}){return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:d?t:void 0}),(0,r.jsxs)("div",{className:(0,l.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[o],m),children:[(s||c)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mr-4",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),s&&(0,r.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})]}),c&&(0,r.jsx)("button",{onClick:t,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:n}),i&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:i})]})]}):null}function o({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:o="Confirm",cancelText:d="Cancel",variant:c="danger",loading:m=!1}){return(0,r.jsx)(i,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:m,children:d}),(0,r.jsx)(n.default,{variant:c,onClick:s,loading:m,children:o})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},84588:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({children:e,title:t,subtitle:s,icon:l,action:n,padding:i="md",hover:o=!1,className:d,...c}){return(0,r.jsxs)("div",{className:(0,a.cn)("bg-surface","border border-black/5 dark:border-white/5","rounded-lg shadow-sm",o&&"hover:shadow-md hover:border-primary/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],d),...c,children:[(t||n)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[l&&(0,r.jsx)("div",{className:"p-2 rounded-lg bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:l})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),n]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-lg","bg-black/[0.02] dark:bg-white/[0.02]","border border-black/5 dark:border-white/5",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-black/5 dark:border-white/5 last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]","transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:t})]})}},90085:(e,t,s)=>{s.d(t,{A:()=>i});var r=s(1934),a=s(31692),l=s(90620);function n(e){let t=document.documentElement,s=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?s:e)?t.classList.add("dark"):t.classList.remove("dark")}let i=(0,r.v)((0,a.Zr)((e,t)=>({theme:l.B2.defaultTheme,setTheme:t=>{e({theme:t}),n(t)},toggleTheme:()=>{let s="dark"===t().theme?"light":"dark";e({theme:s}),n(s)},initTheme:()=>{n(t().theme)}}),{name:l.B2.storageKey}))},90620:(e,t,s)=>{s.d(t,{Q2:()=>r.Q2,fg:()=>r.fg,vQ:()=>a,MA:()=>r.MA,UY:()=>n,zN:()=>r.zN,B2:()=>l});var r=s(52679);s(28777);let a={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.56"},l={storageKey:"theme",defaultTheme:"system"},n={maxLines:200,pollIntervalMs:1e3}},90882:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n}){let[d,c]=(0,a.useState)("waiting"),[m,x]=(0,a.useState)(null),[u,h]=(0,a.useState)(""),[p,f]=(0,a.useState)(null),[b,g]=(0,a.useState)(!1),[j,y]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1),k=(0,a.useRef)(null),w=(0,a.useRef)(!1),{copied:C,copy:S}=(0,o.C)(),[T,M]=(0,a.useState)(!1),[$,R]=(0,a.useState)("/callback?code=..."),E=(0,a.useRef)(!1);(0,a.useEffect)(()=>{M("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname),R(`${window.location.origin}/callback?code=...`)},[]);let L=(0,a.useCallback)(async(e,s)=>{if(m)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:m.redirectUri,codeVerifier:m.codeVerifier,state:s})}),a=await r.json();if(!r.ok)throw Error(a.error);c("success"),l?.()}catch(e){f(e.message),c("error")}},[m,t,l]),I=(0,a.useCallback)(async(e,s,r,a)=>{w.current=!1,N(!0);for(let n=0;n<60;n++){if(w.current){console.log("[OAuthModal] Polling aborted"),N(!1);return}if(await new Promise(e=>setTimeout(e,1e3*r)),w.current){console.log("[OAuthModal] Polling aborted after sleep"),N(!1);return}try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){w.current=!0,c("success"),N(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){f(e.message),c("error"),N(!1);return}}f("Authorization timeout"),c("error"),N(!1)},[t,l]),O=(0,a.useCallback)(async()=>{if(t)try{let e;if(f(null),["github","qwen","kiro","kimi-coding","kilocode"].includes(t)){g(!0),c("waiting");let e=await fetch(`/api/oauth/${t}/device-code`),s=await e.json();if(!e.ok)throw Error(s.error);y(s);let r=s.verification_uri_complete||s.verification_uri;r&&window.open(r,"_blank");let a="kiro"===t?{_clientId:s._clientId,_clientSecret:s._clientSecret}:null;I(s.device_code,s.codeVerifier,s.interval||5,a);return}if("codex"===t)e="http://localhost:1455/auth/callback";else{let t=window.location.port||("https:"===window.location.protocol?"443":"80");e=`http://localhost:${t}/callback`}let s=await fetch(`/api/oauth/${t}/authorize?redirect_uri=${encodeURIComponent(e)}`),r=await s.json();if(!s.ok)throw Error(r.error);x({...r,redirectUri:e}),"codex"!==t&&T?(c("waiting"),k.current=window.open(r.authUrl,"oauth_popup","width=600,height=700"),k.current||c("input")):(c("input"),window.open(r.authUrl,"_blank"))}catch(e){f(e.message),c("error")}},[t,T,I]);(0,a.useEffect)(()=>{e&&t?(x(null),h(""),f(null),g(!1),y(null),N(!1),w.current=!1,O()):e||(w.current=!0)},[e,t,O]),(0,a.useEffect)(()=>{let e;if(!m)return;E.current=!1;let t=async e=>{if(E.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){E.current=!0,f(a||r),c("error");return}t&&(E.current=!0,await L(t,s))},s=e=>{let s=e.origin.includes("localhost")||e.origin.includes("127.0.0.1"),r=e.origin===window.location.origin;(s||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&t(s),localStorage.removeItem("oauth_callback")}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[m,L]);let z=async()=>{try{f(null);let e=new URL(u),t=e.searchParams.get("code"),s=e.searchParams.get("state"),r=e.searchParams.get("error");if(r)throw Error(e.searchParams.get("error_description")||r);if(!t)throw Error("No authorization code found in URL");await L(t,s)}catch(e){f(e.message),c("error")}},P=(0,a.useCallback)(()=>{n()},[n]);return t&&s?(0,r.jsx)(i.aF,{isOpen:e,title:`Connect ${s.name}`,onClose:P,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["waiting"===d&&!b&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Waiting for Authorization"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Complete the authorization in the popup window."}),(0,r.jsx)(i.$n,{variant:"ghost",onClick:()=>c("input"),children:"Popup blocked? Enter URL manually"})]}),"waiting"===d&&b&&j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the URL below and enter the code:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Verification URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:j.verification_uri}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"verify_url"===C?"check":"content_copy",onClick:()=>S(j.verification_uri,"verify_url")})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:j.user_code}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"user_code"===C?"check":"content_copy",onClick:()=>S(j.user_code,"user_code")})]})]})]}),v&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"input"===d&&!b&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:m?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===C?"check":"content_copy",onClick:()=>S(m?.authUrl,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser."}),(0,r.jsx)(i.pd,{value:u,onChange:e=>h(e.target.value),placeholder:$,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:z,fullWidth:!0,disabled:!u,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:P,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===d&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(i.$n,{onClick:P,fullWidth:!0,children:"Done"})]}),"error"===d&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:p}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:O,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:P,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})}):null}d.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},91450:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(14051),l=s.n(a),n=s(38587);function i({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,r.jsx)(n.default,{variant:"card"})}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}i.propTypes={children:l().node.isRequired}},92173:(e,t,s)=>{s.d(t,{default:()=>c});var r=s(95155),a=s(98500),l=s.n(a),n=s(90620);let i=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],o=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],d=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function c(){return(0,r.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,r.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("div",{className:"size-6 text-primary",children:(0,r.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,r.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,r.jsx)("span",{className:"text-xl font-bold text-text-main",children:n.vQ.name})]}),(0,r.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:o.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:d.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]})]}),(0,r.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",n.vQ.name," Inc. All rights reserved."]}),(0,r.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},92542:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(31474);let l={primary:"bg-gradient-to-b from-primary to-primary-hover text-white shadow-sm",secondary:"bg-white dark:bg-white/10 border border-black/10 dark:border-white/10 text-text-main hover:bg-black/5 dark:hover:bg-white/5",outline:"border border-black/15 dark:border-white/15 text-text-main hover:bg-black/5",ghost:"text-text-muted hover:bg-black/5 dark:hover:bg-white/5 hover:text-text-main",danger:"bg-red-500 text-white hover:bg-red-600 shadow-sm"},n={sm:"h-7 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"};function i({children:e,variant:t="primary",size:s="md",icon:i,iconRight:o,disabled:d=!1,loading:c=!1,fullWidth:m=!1,className:x,...u}){return(0,r.jsxs)("button",{className:(0,a.cn)("inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 cursor-pointer","active:scale-[0.99] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",l[t],n[s],m&&"w-full",x),disabled:d||c,...u,children:[c?(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):i?(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i}):null,e,o&&!c&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:o})]})}},92622:(e,t,s)=>{s.d(t,{default:()=>b});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(98500),o=s.n(i),d=s(73321),c=s(31474),m=s(90620),x=s(92542),u=s(81127);let h=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],p=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"}],f=[{href:"/dashboard/profile",label:"Settings",icon:"settings"}];function b({onClose:e}){let t=(0,d.usePathname)(),[s,l]=(0,a.useState)(!1),[n,i]=(0,a.useState)(!1),[b,g]=(0,a.useState)(!1),[j,y]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1);(0,a.useEffect)(()=>{fetch("/api/settings").then(e=>e.json()).then(e=>{e.enableTranslator&&N(!0)}).catch(()=>{})},[]),(0,a.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{e.hasUpdate&&y(e)}).catch(()=>{})},[]);let k=e=>"/dashboard/endpoint"===e?"/dashboard"===t||t.startsWith("/dashboard/endpoint"):t.startsWith(e),w=async()=>{i(!0);try{await fetch("/api/shutdown",{method:"POST"})}catch(e){}i(!1),l(!1),g(!0)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("aside",{className:"flex w-72 flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-colors duration-300",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,r.jsxs)("div",{className:"px-6 py-4 flex flex-col gap-2",children:[(0,r.jsxs)(o(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a]",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-white text-[20px]",children:"hub"})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:m.vQ.name}),(0,r.jsxs)("span",{className:"text-xs text-text-muted",children:["v",m.vQ.version]})]})]}),j&&(0,r.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-green-600 dark:text-amber-500",children:["↑ New version available: v",j.latestVersion]}),(0,r.jsx)("code",{className:"text-[10px] text-green-600/80 dark:text-amber-400/70 font-mono select-all",children:"npm install -g 9router@latest"})]})]}),(0,r.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-1 overflow-y-auto custom-scrollbar",children:[h.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href)),(0,r.jsxs)("div",{className:"pt-4 mt-2",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"Debug"}),v&&(0,r.jsxs)(o(),{href:"/dashboard/translator",onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k("/dashboard/translator")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k("/dashboard/translator")?"fill-1":"group-hover:text-primary transition-colors"),children:"translate"}),(0,r.jsx)("span",{className:"text-sm font-medium",children:"Translator"})]}),p.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href))]}),(0,r.jsxs)("div",{className:"pt-4 mt-2",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),f.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href))]})]}),(0,r.jsxs)("div",{className:"p-3 border-t border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-start gap-2 p-2 rounded-lg bg-surface/50 mb-2",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-6 rounded-md bg-blue-500/10 text-blue-500 shrink-0 mt-0.5",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"info"})}),(0,r.jsx)("div",{className:"flex flex-col",children:(0,r.jsx)("span",{className:"text-xs font-medium text-text-main leading-relaxed",children:"Service is running in terminal. You can close this web page. Shutdown will stop the service."})})]}),(0,r.jsx)(x.default,{variant:"outline",fullWidth:!0,icon:"power_settings_new",onClick:()=>l(!0),className:"text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300",children:"Shutdown"})]})]}),(0,r.jsx)(u.ConfirmModal,{isOpen:s,onClose:()=>l(!1),onConfirm:w,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:n}),b&&(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"text-center p-8",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,r.jsx)(x.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}b.propTypes={onClose:n().func}},93308:(e,t,s)=>{s.d(t,{CL:()=>l,QC:()=>n,Xn:()=>a,YZ:()=>r});let r=["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"],a="en",l="locale";function n(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":a}},94230:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,onSuccess:s,onClose:l}){let[n,d]=(0,a.useState)("loading"),[c,m]=(0,a.useState)(""),[x,u]=(0,a.useState)(null),[h,p]=(0,a.useState)(""),[f,b]=(0,a.useState)(null),{copied:g,copy:j}=(0,o.C)();(0,a.useEffect)(()=>{e&&t&&(async()=>{try{b(null),d("loading");let e=await fetch(`/api/oauth/kiro/social-authorize?provider=${t}`),s=await e.json();if(!e.ok)throw Error(s.error);u(s),m(s.authUrl),d("input"),window.open(s.authUrl,"_blank")}catch(e){b(e.message),d("error")}})()},[e,t]);let y=async()=>{try{let e;b(null);try{e=new URL(h)}catch(e){throw Error("Invalid callback URL format")}let r=e.searchParams.get("code");e.searchParams.get("state");let a=e.searchParams.get("error");if(a)throw Error(e.searchParams.get("error_description")||a);if(!r)throw Error("No authorization code found in URL");let l=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:r,codeVerifier:x.codeVerifier,provider:t})}),n=await l.json();if(!l.ok)throw Error(n.error);d("success"),s?.()}catch(e){b(e.message),d("error")}},v="google"===t?"Google":"GitHub";return(0,r.jsx)(i.aF,{isOpen:e,title:`Connect Kiro via ${v}`,onClose:l,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",v," authentication"]})]}),"input"===n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:c,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===g?"check":"content_copy",onClick:()=>j(c,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,r.jsx)(i.pd,{value:h,onChange:e=>p(e.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:y,fullWidth:!0,disabled:!h,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",v," has been connected."]}),(0,r.jsx)(i.$n,{onClick:l,fullWidth:!0,children:"Done"})]}),"error"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:f}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>d("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().oneOf(["google","github"]).isRequired,onSuccess:n().func,onClose:n().func.isRequired}},97677:(e,t,s)=>{s.d(t,{default:()=>a});var r=s(95155);function a({text:e,children:t,position:s="top"}){return(0,r.jsxs)("div",{className:"relative inline-flex group",children:[t,(0,r.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[s]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug bg-gray-900 text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,children:e})]})}},98542:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({checked:e=!1,onChange:t,label:s,description:l,disabled:n=!1,size:i="md",className:o}){let d={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,r.jsxs)("div",{className:(0,a.cn)("flex items-center gap-3",n&&"opacity-50 cursor-not-allowed",o),children:[(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":e,disabled:n,onClick:()=>{!n&&t&&t(!e)},className:(0,a.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-1 focus:ring-primary/30",e?"bg-primary":"bg-black/10 dark:bg-white/20",d[i].track,n&&"cursor-not-allowed"),children:(0,r.jsx)("span",{className:(0,a.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",e?d[i].translate:"translate-x-0.5",d[i].thumb,"mt-0.5")})}),(s||l)&&(0,r.jsxs)("div",{className:"flex flex-col",children:[s&&(0,r.jsx)("span",{className:"text-sm font-medium text-text-main",children:s}),l&&(0,r.jsx)("span",{className:"text-xs text-text-muted",children:l})]})]})}}}]);
|
|
7
|
+
`,children:s?(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),e.name]}):e.isCustom?(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[e.name,(0,r.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):e.name},e.id)})})]},e)),0===Object.keys(w).length&&0===k.length&&(0,r.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,r.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}m.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onSelect:n().func.isRequired,selectedModel:n().string,activeProviders:n().arrayOf(n().shape({provider:n().string.isRequired})),title:n().string,modelAliases:n().object}},73006:(e,t,s)=>{s.d(t,{FE:()=>x,Tl:()=>d,wn:()=>u});var r=s(93308);let a={},l=r.Xn,n=[];function i(){if("u"<typeof document)return r.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${r.CL}=`)),t=e?decodeURIComponent(e.split("=")[1]):r.Xn;return(0,r.QC)(t)}async function o(e){if("en"===e){a={};return}try{let t=await fetch(`/i18n/literals/${e}.json`);a=await t.json()}catch(e){console.error("Failed to load translations:",e),a={}}}function d(e){if(!e||"string"!=typeof e)return e;let t=e.trim();return t&&"en"!==l&&a[t]||e}function c(e){if(!e.nodeValue||!e.nodeValue.trim())return;let t=e.parentElement;if(!t)return;let s=t;for(;s;){if(s.hasAttribute&&s.hasAttribute("data-i18n-skip"))return;s=s.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(t.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let r=d(e._originalText);r!==e.nodeValue&&(e.nodeValue=r)}function m(e){let t;if(!e)return;let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),r=[];for(;t=s.nextNode();)r.push(t);r.forEach(c)}async function x(){l=i(),await o(l),m(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?m(e):e.nodeType===Node.TEXT_NODE&&c(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function u(){l=i(),await o(l),n.forEach(e=>e()),m(document.body)}},74891:(e,t,s)=>{s.d(t,{default:()=>h});var r=s(95155),a=s(73321),l=s(12115),n=s(98500),i=s.n(n),o=s(5772),d=s(14051),c=s.n(d),m=s(35497),x=s(90620),u=s(73006);function h({onMenuClick:e,showMenuButton:t=!0}){let s=(0,a.usePathname)(),n=(0,a.useRouter)(),{title:d,description:c,breadcrumbs:h}=(0,l.useMemo)(()=>(e=>{if(!e)return{title:"",description:"",breadcrumbs:[]};let t=e.match(/\/providers\/([^/]+)$/);if(t){let e=t[1],s=x.zN[e]||x.fg[e];if(s)return{title:s.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:s.name,image:`/providers/${s.id}.png`}]}}return e.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",breadcrumbs:[]}:e.includes("/combos")?{title:"Combos",description:"Model combos with fallback",breadcrumbs:[]}:e.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",breadcrumbs:[]}:e.includes("/mitm")?{title:"MITM Proxy",description:"Intercept CLI tool traffic and route through 9Router",breadcrumbs:[]}:e.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",breadcrumbs:[]}:e.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:e.includes("/profile")?{title:"Settings",description:"Manage your preferences",breadcrumbs:[]}:e.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",breadcrumbs:[]}:e.includes("/console-log")?{title:"Console Log",description:"Live server console output",breadcrumbs:[]}:"/dashboard"===e?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(s),[s]),p=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(n.push("/login"),n.refresh())}catch(e){console.error("Failed to logout:",e)}};return(0,r.jsxs)("header",{className:"flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0",children:[(0,r.jsx)("div",{className:"flex items-center gap-3 lg:hidden",children:t&&(0,r.jsx)("button",{onClick:e,className:"text-text-main hover:text-primary transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,r.jsx)("div",{className:"hidden lg:flex flex-col",children:h.length>0?(0,r.jsx)("div",{className:"flex items-center gap-2",children:h.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[t>0&&(0,r.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),e.href?(0,r.jsx)(i(),{href:e.href,className:"text-text-muted hover:text-primary transition-colors",children:e.label}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.image&&(0,r.jsx)(o.default,{src:e.image,alt:e.label,width:28,height:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",sizes:"28px",onError:e=>{e.currentTarget.style.display="none"}}),(0,r.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:(0,u.Tl)(e.label)})]})]},`${e.label}-${e.href||"current"}`))}):d?(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:(0,u.Tl)(d)}),c&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:(0,u.Tl)(c)})]}):null}),(0,r.jsxs)("div",{className:"flex items-center gap-3 ml-auto",children:[(0,r.jsx)(m.c5,{}),(0,r.jsx)(m.UW,{}),(0,r.jsx)("button",{onClick:p,className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all",title:"Logout",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"logout"})})]})]})}h.propTypes={onMenuClick:c().func,showMenuButton:c().bool}},81127:(e,t,s)=>{s.d(t,{ConfirmModal:()=>o,default:()=>i});var r=s(95155),a=s(12115),l=s(31474),n=s(92542);function i({isOpen:e,onClose:t,title:s,children:n,footer:i,size:o="md",closeOnOverlay:d=!0,showCloseButton:c=!0,className:m}){return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:d?t:void 0}),(0,r.jsxs)("div",{className:(0,l.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[o],m),children:[(s||c)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mr-4",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),s&&(0,r.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})]}),c&&(0,r.jsx)("button",{onClick:t,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:n}),i&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:i})]})]}):null}function o({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:o="Confirm",cancelText:d="Cancel",variant:c="danger",loading:m=!1}){return(0,r.jsx)(i,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:m,children:d}),(0,r.jsx)(n.default,{variant:c,onClick:s,loading:m,children:o})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},84588:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({children:e,title:t,subtitle:s,icon:l,action:n,padding:i="md",hover:o=!1,className:d,...c}){return(0,r.jsxs)("div",{className:(0,a.cn)("bg-surface","border border-black/5 dark:border-white/5","rounded-lg shadow-sm",o&&"hover:shadow-md hover:border-primary/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],d),...c,children:[(t||n)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[l&&(0,r.jsx)("div",{className:"p-2 rounded-lg bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:l})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),n]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-lg","bg-black/[0.02] dark:bg-white/[0.02]","border border-black/5 dark:border-white/5",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-black/5 dark:border-white/5 last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]","transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:t})]})}},90085:(e,t,s)=>{s.d(t,{A:()=>i});var r=s(1934),a=s(31692),l=s(90620);function n(e){let t=document.documentElement,s=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?s:e)?t.classList.add("dark"):t.classList.remove("dark")}let i=(0,r.v)((0,a.Zr)((e,t)=>({theme:l.B2.defaultTheme,setTheme:t=>{e({theme:t}),n(t)},toggleTheme:()=>{let s="dark"===t().theme?"light":"dark";e({theme:s}),n(s)},initTheme:()=>{n(t().theme)}}),{name:l.B2.storageKey}))},90620:(e,t,s)=>{s.d(t,{Q2:()=>r.Q2,fg:()=>r.fg,vQ:()=>a,MA:()=>r.MA,UY:()=>n,zN:()=>r.zN,B2:()=>l});var r=s(52679);s(28777);let a={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.57"},l={storageKey:"theme",defaultTheme:"system"},n={maxLines:200,pollIntervalMs:1e3}},90882:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n}){let[d,c]=(0,a.useState)("waiting"),[m,x]=(0,a.useState)(null),[u,h]=(0,a.useState)(""),[p,f]=(0,a.useState)(null),[b,g]=(0,a.useState)(!1),[j,y]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1),k=(0,a.useRef)(null),w=(0,a.useRef)(!1),{copied:C,copy:S}=(0,o.C)(),[T,M]=(0,a.useState)(!1),[$,R]=(0,a.useState)("/callback?code=..."),E=(0,a.useRef)(!1);(0,a.useEffect)(()=>{M("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname),R(`${window.location.origin}/callback?code=...`)},[]);let L=(0,a.useCallback)(async(e,s)=>{if(m)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:m.redirectUri,codeVerifier:m.codeVerifier,state:s})}),a=await r.json();if(!r.ok)throw Error(a.error);c("success"),l?.()}catch(e){f(e.message),c("error")}},[m,t,l]),I=(0,a.useCallback)(async(e,s,r,a)=>{w.current=!1,N(!0);for(let n=0;n<60;n++){if(w.current){console.log("[OAuthModal] Polling aborted"),N(!1);return}if(await new Promise(e=>setTimeout(e,1e3*r)),w.current){console.log("[OAuthModal] Polling aborted after sleep"),N(!1);return}try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){w.current=!0,c("success"),N(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){f(e.message),c("error"),N(!1);return}}f("Authorization timeout"),c("error"),N(!1)},[t,l]),O=(0,a.useCallback)(async()=>{if(t)try{let e;if(f(null),["github","qwen","kiro","kimi-coding","kilocode"].includes(t)){g(!0),c("waiting");let e=await fetch(`/api/oauth/${t}/device-code`),s=await e.json();if(!e.ok)throw Error(s.error);y(s);let r=s.verification_uri_complete||s.verification_uri;r&&window.open(r,"_blank");let a="kiro"===t?{_clientId:s._clientId,_clientSecret:s._clientSecret}:null;I(s.device_code,s.codeVerifier,s.interval||5,a);return}if("codex"===t)e="http://localhost:1455/auth/callback";else{let t=window.location.port||("https:"===window.location.protocol?"443":"80");e=`http://localhost:${t}/callback`}let s=await fetch(`/api/oauth/${t}/authorize?redirect_uri=${encodeURIComponent(e)}`),r=await s.json();if(!s.ok)throw Error(r.error);x({...r,redirectUri:e}),"codex"!==t&&T?(c("waiting"),k.current=window.open(r.authUrl,"oauth_popup","width=600,height=700"),k.current||c("input")):(c("input"),window.open(r.authUrl,"_blank"))}catch(e){f(e.message),c("error")}},[t,T,I]);(0,a.useEffect)(()=>{e&&t?(x(null),h(""),f(null),g(!1),y(null),N(!1),w.current=!1,O()):e||(w.current=!0)},[e,t,O]),(0,a.useEffect)(()=>{let e;if(!m)return;E.current=!1;let t=async e=>{if(E.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){E.current=!0,f(a||r),c("error");return}t&&(E.current=!0,await L(t,s))},s=e=>{let s=e.origin.includes("localhost")||e.origin.includes("127.0.0.1"),r=e.origin===window.location.origin;(s||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&t(s),localStorage.removeItem("oauth_callback")}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[m,L]);let z=async()=>{try{f(null);let e=new URL(u),t=e.searchParams.get("code"),s=e.searchParams.get("state"),r=e.searchParams.get("error");if(r)throw Error(e.searchParams.get("error_description")||r);if(!t)throw Error("No authorization code found in URL");await L(t,s)}catch(e){f(e.message),c("error")}},P=(0,a.useCallback)(()=>{n()},[n]);return t&&s?(0,r.jsx)(i.aF,{isOpen:e,title:`Connect ${s.name}`,onClose:P,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["waiting"===d&&!b&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Waiting for Authorization"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Complete the authorization in the popup window."}),(0,r.jsx)(i.$n,{variant:"ghost",onClick:()=>c("input"),children:"Popup blocked? Enter URL manually"})]}),"waiting"===d&&b&&j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the URL below and enter the code:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Verification URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:j.verification_uri}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"verify_url"===C?"check":"content_copy",onClick:()=>S(j.verification_uri,"verify_url")})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:j.user_code}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"user_code"===C?"check":"content_copy",onClick:()=>S(j.user_code,"user_code")})]})]})]}),v&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"input"===d&&!b&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:m?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===C?"check":"content_copy",onClick:()=>S(m?.authUrl,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser."}),(0,r.jsx)(i.pd,{value:u,onChange:e=>h(e.target.value),placeholder:$,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:z,fullWidth:!0,disabled:!u,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:P,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===d&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(i.$n,{onClick:P,fullWidth:!0,children:"Done"})]}),"error"===d&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:p}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:O,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:P,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})}):null}d.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},91450:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(14051),l=s.n(a),n=s(38587);function i({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,r.jsx)(n.default,{variant:"card"})}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}i.propTypes={children:l().node.isRequired}},92173:(e,t,s)=>{s.d(t,{default:()=>c});var r=s(95155),a=s(98500),l=s.n(a),n=s(90620);let i=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],o=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],d=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function c(){return(0,r.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,r.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("div",{className:"size-6 text-primary",children:(0,r.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,r.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,r.jsx)("span",{className:"text-xl font-bold text-text-main",children:n.vQ.name})]}),(0,r.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:o.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:d.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]})]}),(0,r.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",n.vQ.name," Inc. All rights reserved."]}),(0,r.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},92542:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(31474);let l={primary:"bg-gradient-to-b from-primary to-primary-hover text-white shadow-sm",secondary:"bg-white dark:bg-white/10 border border-black/10 dark:border-white/10 text-text-main hover:bg-black/5 dark:hover:bg-white/5",outline:"border border-black/15 dark:border-white/15 text-text-main hover:bg-black/5",ghost:"text-text-muted hover:bg-black/5 dark:hover:bg-white/5 hover:text-text-main",danger:"bg-red-500 text-white hover:bg-red-600 shadow-sm"},n={sm:"h-7 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"};function i({children:e,variant:t="primary",size:s="md",icon:i,iconRight:o,disabled:d=!1,loading:c=!1,fullWidth:m=!1,className:x,...u}){return(0,r.jsxs)("button",{className:(0,a.cn)("inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 cursor-pointer","active:scale-[0.99] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",l[t],n[s],m&&"w-full",x),disabled:d||c,...u,children:[c?(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):i?(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i}):null,e,o&&!c&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:o})]})}},92622:(e,t,s)=>{s.d(t,{default:()=>b});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(98500),o=s.n(i),d=s(73321),c=s(31474),m=s(90620),x=s(92542),u=s(81127);let h=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],p=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"}],f=[{href:"/dashboard/profile",label:"Settings",icon:"settings"}];function b({onClose:e}){let t=(0,d.usePathname)(),[s,l]=(0,a.useState)(!1),[n,i]=(0,a.useState)(!1),[b,g]=(0,a.useState)(!1),[j,y]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1);(0,a.useEffect)(()=>{fetch("/api/settings").then(e=>e.json()).then(e=>{e.enableTranslator&&N(!0)}).catch(()=>{})},[]),(0,a.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{e.hasUpdate&&y(e)}).catch(()=>{})},[]);let k=e=>"/dashboard/endpoint"===e?"/dashboard"===t||t.startsWith("/dashboard/endpoint"):t.startsWith(e),w=async()=>{i(!0);try{await fetch("/api/shutdown",{method:"POST"})}catch(e){}i(!1),l(!1),g(!0)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("aside",{className:"flex w-72 flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-colors duration-300",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,r.jsxs)("div",{className:"px-6 py-4 flex flex-col gap-2",children:[(0,r.jsxs)(o(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a]",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-white text-[20px]",children:"hub"})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:m.vQ.name}),(0,r.jsxs)("span",{className:"text-xs text-text-muted",children:["v",m.vQ.version]})]})]}),j&&(0,r.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-green-600 dark:text-amber-500",children:["↑ New version available: v",j.latestVersion]}),(0,r.jsx)("code",{className:"text-[10px] text-green-600/80 dark:text-amber-400/70 font-mono select-all",children:"npm install -g 9router@latest"})]})]}),(0,r.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-1 overflow-y-auto custom-scrollbar",children:[h.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href)),(0,r.jsxs)("div",{className:"pt-4 mt-2",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"Debug"}),v&&(0,r.jsxs)(o(),{href:"/dashboard/translator",onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k("/dashboard/translator")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k("/dashboard/translator")?"fill-1":"group-hover:text-primary transition-colors"),children:"translate"}),(0,r.jsx)("span",{className:"text-sm font-medium",children:"Translator"})]}),p.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href))]}),(0,r.jsxs)("div",{className:"pt-4 mt-2",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),f.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-2 rounded-lg transition-all group",k(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface/50 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",k(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.label})]},t.href))]})]}),(0,r.jsxs)("div",{className:"p-3 border-t border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-start gap-2 p-2 rounded-lg bg-surface/50 mb-2",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-6 rounded-md bg-blue-500/10 text-blue-500 shrink-0 mt-0.5",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"info"})}),(0,r.jsx)("div",{className:"flex flex-col",children:(0,r.jsx)("span",{className:"text-xs font-medium text-text-main leading-relaxed",children:"Service is running in terminal. You can close this web page. Shutdown will stop the service."})})]}),(0,r.jsx)(x.default,{variant:"outline",fullWidth:!0,icon:"power_settings_new",onClick:()=>l(!0),className:"text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300",children:"Shutdown"})]})]}),(0,r.jsx)(u.ConfirmModal,{isOpen:s,onClose:()=>l(!1),onConfirm:w,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:n}),b&&(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"text-center p-8",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,r.jsx)(x.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}b.propTypes={onClose:n().func}},93308:(e,t,s)=>{s.d(t,{CL:()=>l,QC:()=>n,Xn:()=>a,YZ:()=>r});let r=["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"],a="en",l="locale";function n(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":a}},94230:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,onSuccess:s,onClose:l}){let[n,d]=(0,a.useState)("loading"),[c,m]=(0,a.useState)(""),[x,u]=(0,a.useState)(null),[h,p]=(0,a.useState)(""),[f,b]=(0,a.useState)(null),{copied:g,copy:j}=(0,o.C)();(0,a.useEffect)(()=>{e&&t&&(async()=>{try{b(null),d("loading");let e=await fetch(`/api/oauth/kiro/social-authorize?provider=${t}`),s=await e.json();if(!e.ok)throw Error(s.error);u(s),m(s.authUrl),d("input"),window.open(s.authUrl,"_blank")}catch(e){b(e.message),d("error")}})()},[e,t]);let y=async()=>{try{let e;b(null);try{e=new URL(h)}catch(e){throw Error("Invalid callback URL format")}let r=e.searchParams.get("code");e.searchParams.get("state");let a=e.searchParams.get("error");if(a)throw Error(e.searchParams.get("error_description")||a);if(!r)throw Error("No authorization code found in URL");let l=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:r,codeVerifier:x.codeVerifier,provider:t})}),n=await l.json();if(!l.ok)throw Error(n.error);d("success"),s?.()}catch(e){b(e.message),d("error")}},v="google"===t?"Google":"GitHub";return(0,r.jsx)(i.aF,{isOpen:e,title:`Connect Kiro via ${v}`,onClose:l,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",v," authentication"]})]}),"input"===n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:c,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===g?"check":"content_copy",onClick:()=>j(c,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,r.jsx)(i.pd,{value:h,onChange:e=>p(e.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:y,fullWidth:!0,disabled:!h,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",v," has been connected."]}),(0,r.jsx)(i.$n,{onClick:l,fullWidth:!0,children:"Done"})]}),"error"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:f}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>d("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().oneOf(["google","github"]).isRequired,onSuccess:n().func,onClose:n().func.isRequired}},97677:(e,t,s)=>{s.d(t,{default:()=>a});var r=s(95155);function a({text:e,children:t,position:s="top"}){return(0,r.jsxs)("div",{className:"relative inline-flex group",children:[t,(0,r.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[s]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug bg-gray-900 text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,children:e})]})}},98542:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({checked:e=!1,onChange:t,label:s,description:l,disabled:n=!1,size:i="md",className:o}){let d={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,r.jsxs)("div",{className:(0,a.cn)("flex items-center gap-3",n&&"opacity-50 cursor-not-allowed",o),children:[(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":e,disabled:n,onClick:()=>{!n&&t&&t(!e)},className:(0,a.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-1 focus:ring-primary/30",e?"bg-primary":"bg-black/10 dark:bg-white/20",d[i].track,n&&"cursor-not-allowed"),children:(0,r.jsx)("span",{className:(0,a.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",e?d[i].translate:"translate-x-0.5",d[i].thumb,"mt-0.5")})}),(s||l)&&(0,r.jsxs)("div",{className:"flex flex-col",children:[s&&(0,r.jsx)("span",{className:"text-sm font-medium text-text-main",children:s}),l&&(0,r.jsx)("span",{className:"text-xs text-text-muted",children:l})]})]})}}}]);
|
package/app/.next/static/chunks/app/{layout-a3634d564d5e7993.js → layout-095f249fd620f9cf.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>i});var n=r(12115);let a=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,o={setState:n,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(n,a,o);return o},o=e=>{let t=e?a(e):a,r=e=>(function(e,t=e=>e){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},i=e=>e?o(e):o},21110:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>i});var n=r(95155),a=r(12115),o=r(90085);function i({children:e}){let{initTheme:t}=(0,o.A)();return(0,a.useEffect)(()=>{t()},[t]),(0,n.jsx)(n.Fragment,{children:e})}},28777:(e,t,r)=>{"use strict";r.d(t,{KC:()=>n.KC,Xg:()=>n.Xg});var n=r(45564);Object.entries(r(52679).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(n.vq).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})))},31692:(e,t,r)=>{"use strict";r.d(t,{Zr:()=>a});let n=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>n(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>n(t)(e)}}},a=(e,t)=>(r,a,o)=>{let i,s={storage:function(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var t;let n=e=>null===e?null:JSON.parse(e,void 0),a=null!=(t=r.getItem(e))?t:null;return a instanceof Promise?a.then(n):n(a)},setItem:(e,t)=>r.setItem(e,JSON.stringify(t,void 0)),removeItem:e=>r.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},u=!1,l=0,c=new Set,d=new Set,m=s.storage;if(!m)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...e)},a,o);let f=()=>{let e=s.partialize({...a()});return m.setItem(s.name,{state:e,version:s.version})},h=o.setState;o.setState=(e,t)=>(h(e,t),f());let p=e((...e)=>(r(...e),f()),a,o);o.getInitialState=()=>p;let v=()=>{var e,t;if(!m)return;let o=++l;u=!1,c.forEach(e=>{var t;return e(null!=(t=a())?t:p)});let h=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=a())?e:p))||void 0;return n(m.getItem.bind(m))(s.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];else{if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(o!==l)return;let[n,u]=e;if(r(i=s.merge(u,null!=(t=a())?t:p),!0),n)return f()}).then(()=>{o===l&&(null==h||h(i,void 0),i=a(),u=!0,d.forEach(e=>e(i)))}).catch(e=>{o===l&&(null==h||h(void 0,e))})};return o.persist={setOptions:e=>{s={...s,...e},e.storage&&(m=e.storage)},clearStorage:()=>{null==m||m.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>v(),hasHydrated:()=>u,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},s.skipHydration||v(),i||p}},35154:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},51743:()=>{},54642:e=>{var t;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="//"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"u">typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"u">typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t},64206:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,35154,23)),Promise.resolve().then(r.t.bind(r,51743,23)),Promise.resolve().then(r.bind(r,94635)),Promise.resolve().then(r.bind(r,21110))},73006:(e,t,r)=>{"use strict";r.d(t,{FE:()=>m,Tl:()=>l,wn:()=>f});var n=r(93308);let a={},o=n.Xn,i=[];function s(){if("u"<typeof document)return n.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${n.CL}=`)),t=e?decodeURIComponent(e.split("=")[1]):n.Xn;return(0,n.QC)(t)}async function u(e){if("en"===e){a={};return}try{let t=await fetch(`/i18n/literals/${e}.json`);a=await t.json()}catch(e){console.error("Failed to load translations:",e),a={}}}function l(e){if(!e||"string"!=typeof e)return e;let t=e.trim();return t&&"en"!==o&&a[t]||e}function c(e){if(!e.nodeValue||!e.nodeValue.trim())return;let t=e.parentElement;if(!t)return;let r=t;for(;r;){if(r.hasAttribute&&r.hasAttribute("data-i18n-skip"))return;r=r.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(t.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let n=l(e._originalText);n!==e.nodeValue&&(e.nodeValue=n)}function d(e){let t;if(!e)return;let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),n=[];for(;t=r.nextNode();)n.push(t);n.forEach(c)}async function m(){o=s(),await u(o),d(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?d(e):e.nodeType===Node.TEXT_NODE&&c(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function f(){o=s(),await u(o),i.forEach(e=>e()),d(document.body)}},73321:(e,t,r)=>{"use strict";var n=r(74645);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},90085:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(1934),a=r(31692),o=r(90620);function i(e){let t=document.documentElement,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?r:e)?t.classList.add("dark"):t.classList.remove("dark")}let s=(0,n.v)((0,a.Zr)((e,t)=>({theme:o.B2.defaultTheme,setTheme:t=>{e({theme:t}),i(t)},toggleTheme:()=>{let r="dark"===t().theme?"light":"dark";e({theme:r}),i(r)},initTheme:()=>{i(t().theme)}}),{name:o.B2.storageKey}))},90620:(e,t,r)=>{"use strict";r.d(t,{Q2:()=>n.Q2,fg:()=>n.fg,vQ:()=>a,MA:()=>n.MA,UY:()=>i,zN:()=>n.zN,B2:()=>o});var n=r(52679);r(28777);let a={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>i});var n=r(12115);let a=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,o={setState:n,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(n,a,o);return o},o=e=>{let t=e?a(e):a,r=e=>(function(e,t=e=>e){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},i=e=>e?o(e):o},21110:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>i});var n=r(95155),a=r(12115),o=r(90085);function i({children:e}){let{initTheme:t}=(0,o.A)();return(0,a.useEffect)(()=>{t()},[t]),(0,n.jsx)(n.Fragment,{children:e})}},28777:(e,t,r)=>{"use strict";r.d(t,{KC:()=>n.KC,Xg:()=>n.Xg});var n=r(45564);Object.entries(r(52679).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(n.vq).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})))},31692:(e,t,r)=>{"use strict";r.d(t,{Zr:()=>a});let n=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>n(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>n(t)(e)}}},a=(e,t)=>(r,a,o)=>{let i,s={storage:function(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var t;let n=e=>null===e?null:JSON.parse(e,void 0),a=null!=(t=r.getItem(e))?t:null;return a instanceof Promise?a.then(n):n(a)},setItem:(e,t)=>r.setItem(e,JSON.stringify(t,void 0)),removeItem:e=>r.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},u=!1,l=0,c=new Set,d=new Set,m=s.storage;if(!m)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...e)},a,o);let f=()=>{let e=s.partialize({...a()});return m.setItem(s.name,{state:e,version:s.version})},h=o.setState;o.setState=(e,t)=>(h(e,t),f());let p=e((...e)=>(r(...e),f()),a,o);o.getInitialState=()=>p;let v=()=>{var e,t;if(!m)return;let o=++l;u=!1,c.forEach(e=>{var t;return e(null!=(t=a())?t:p)});let h=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=a())?e:p))||void 0;return n(m.getItem.bind(m))(s.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];else{if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(o!==l)return;let[n,u]=e;if(r(i=s.merge(u,null!=(t=a())?t:p),!0),n)return f()}).then(()=>{o===l&&(null==h||h(i,void 0),i=a(),u=!0,d.forEach(e=>e(i)))}).catch(e=>{o===l&&(null==h||h(void 0,e))})};return o.persist={setOptions:e=>{s={...s,...e},e.storage&&(m=e.storage)},clearStorage:()=>{null==m||m.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>v(),hasHydrated:()=>u,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},s.skipHydration||v(),i||p}},35154:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},51743:()=>{},54642:e=>{var t;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="//"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"u">typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"u">typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t},64206:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,35154,23)),Promise.resolve().then(r.t.bind(r,51743,23)),Promise.resolve().then(r.bind(r,94635)),Promise.resolve().then(r.bind(r,21110))},73006:(e,t,r)=>{"use strict";r.d(t,{FE:()=>m,Tl:()=>l,wn:()=>f});var n=r(93308);let a={},o=n.Xn,i=[];function s(){if("u"<typeof document)return n.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${n.CL}=`)),t=e?decodeURIComponent(e.split("=")[1]):n.Xn;return(0,n.QC)(t)}async function u(e){if("en"===e){a={};return}try{let t=await fetch(`/i18n/literals/${e}.json`);a=await t.json()}catch(e){console.error("Failed to load translations:",e),a={}}}function l(e){if(!e||"string"!=typeof e)return e;let t=e.trim();return t&&"en"!==o&&a[t]||e}function c(e){if(!e.nodeValue||!e.nodeValue.trim())return;let t=e.parentElement;if(!t)return;let r=t;for(;r;){if(r.hasAttribute&&r.hasAttribute("data-i18n-skip"))return;r=r.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(t.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let n=l(e._originalText);n!==e.nodeValue&&(e.nodeValue=n)}function d(e){let t;if(!e)return;let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),n=[];for(;t=r.nextNode();)n.push(t);n.forEach(c)}async function m(){o=s(),await u(o),d(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?d(e):e.nodeType===Node.TEXT_NODE&&c(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function f(){o=s(),await u(o),i.forEach(e=>e()),d(document.body)}},73321:(e,t,r)=>{"use strict";var n=r(74645);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},90085:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(1934),a=r(31692),o=r(90620);function i(e){let t=document.documentElement,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?r:e)?t.classList.add("dark"):t.classList.remove("dark")}let s=(0,n.v)((0,a.Zr)((e,t)=>({theme:o.B2.defaultTheme,setTheme:t=>{e({theme:t}),i(t)},toggleTheme:()=>{let r="dark"===t().theme?"light":"dark";e({theme:r}),i(r)},initTheme:()=>{i(t().theme)}}),{name:o.B2.storageKey}))},90620:(e,t,r)=>{"use strict";r.d(t,{Q2:()=>n.Q2,fg:()=>n.fg,vQ:()=>a,MA:()=>n.MA,UY:()=>i,zN:()=>n.zN,B2:()=>o});var n=r(52679);r(28777);let a={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.57"},o={storageKey:"theme",defaultTheme:"system"},i={maxLines:200,pollIntervalMs:1e3}},93308:(e,t,r)=>{"use strict";r.d(t,{CL:()=>o,QC:()=>i,Xn:()=>a,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"],a="en",o="locale";function i(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":a}},94635:(e,t,r)=>{"use strict";r.d(t,{RuntimeI18nProvider:()=>s});var n=r(95155),a=r(12115),o=r(73321),i=r(73006);function s({children:e}){let t=(0,o.usePathname)();return(0,a.useEffect)(()=>{(0,i.FE)()},[]),(0,a.useEffect)(()=>{t&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{(0,i.wn)()})})},[t]),(0,n.jsx)(n.Fragment,{children:e})}}},e=>{e.O(0,[6930,2652,8441,3794,7358],()=>e(e.s=64206)),_N_E=e.O()}]);
|
package/app/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "9router-app",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.57",
|
|
4
4
|
"description": "9Router web dashboard",
|
|
5
5
|
"private": true,
|
|
6
6
|
"scripts": {
|
|
7
7
|
"dev": "next dev --webpack --port 20128",
|
|
8
8
|
"build": "NODE_ENV=production next build --webpack",
|
|
9
|
-
"build:mitm": "node scripts/buildMitm.js",
|
|
10
9
|
"start": "NODE_ENV=production next start",
|
|
11
10
|
"dev:bun": "bun --bun next dev --webpack --port 20128",
|
|
12
11
|
"build:bun": "NODE_ENV=production bun --bun next build --webpack",
|
package/app/src/mitm/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var a0_0x1050b8=a0_0x4cc6;(function(_0x27c7a3,_0x266a05){var _0xf31452=a0_0x4cc6,_0x39c3c6=_0x27c7a3();while(!![]){try{var _0x17c2d4=parseInt(_0xf31452(0x1ee))/0x1+parseInt(_0xf31452(0x27d))/0x2+parseInt(_0xf31452(0x24a))/0x3+-parseInt(_0xf31452(0x23d))/0x4+parseInt(_0xf31452(0x1fc))/0x5*(parseInt(_0xf31452(0x25a))/0x6)+parseInt(_0xf31452(0x24f))/0x7+-parseInt(_0xf31452(0x25f))/0x8;if(_0x17c2d4===_0x266a05)break;else _0x39c3c6['push'](_0x39c3c6['shift']());}catch(_0x28d419){_0x39c3c6['push'](_0x39c3c6['shift']());}}}(a0_0x4b3f,0x9c4b3));function a0_0x4cc6(_0x4469d0,_0x9c9f81){_0x4469d0=_0x4469d0-0x1db;var _0x4b3f8a=a0_0x4b3f();var _0x4cc664=_0x4b3f8a[_0x4469d0];if(a0_0x4cc6['wgNUbw']===undefined){var _0x64e04b=function(_0x4eba7f){var _0x25f7fc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x31be19='',_0x5cb7ad='';for(var _0x212351=0x0,_0x21e901,_0x199769,_0x90dde4=0x0;_0x199769=_0x4eba7f['charAt'](_0x90dde4++);~_0x199769&&(_0x21e901=_0x212351%0x4?_0x21e901*0x40+_0x199769:_0x199769,_0x212351++%0x4)?_0x31be19+=String['fromCharCode'](0xff&_0x21e901>>(-0x2*_0x212351&0x6)):0x0){_0x199769=_0x25f7fc['indexOf'](_0x199769);}for(var _0x324e45=0x0,_0x18fc87=_0x31be19['length'];_0x324e45<_0x18fc87;_0x324e45++){_0x5cb7ad+='%'+('00'+_0x31be19['charCodeAt'](_0x324e45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb7ad);};a0_0x4cc6['ayXitA']=_0x64e04b,a0_0x4cc6['wrabgC']={},a0_0x4cc6['wgNUbw']=!![];}var _0x5ac262=_0x4b3f8a[0x0],_0x4d3479=_0x4469d0+_0x5ac262,_0x1d025f=a0_0x4cc6['wrabgC'][_0x4d3479];return!_0x1d025f?(_0x4cc664=a0_0x4cc6['ayXitA'](_0x4cc664),a0_0x4cc6['wrabgC'][_0x4d3479]=_0x4cc664):_0x4cc664=_0x1d025f,_0x4cc664;}var __getOwnPropNames=Object[a0_0x1050b8(0x1e9)],__commonJS=(_0x31be19,_0x5cb7ad)=>function _0x212351(){return _0x5cb7ad||(0x0,_0x31be19[__getOwnPropNames(_0x31be19)[0x0]])((_0x5cb7ad={'exports':{}})['exports'],_0x5cb7ad),_0x5cb7ad['exports'];},require_logger=__commonJS({'src/mitm/logger.js'(_0x21e901,_0x199769){var _0x153ac0=a0_0x1050b8;function _0x90dde4(){var _0x309d59=a0_0x4cc6;return new Date()[_0x309d59(0x1de)]('en-US',{'hour12':![]});}var _0x324e45=_0x1db45d=>console['log']('['+_0x90dde4()+_0x153ac0(0x26f)+_0x1db45d),_0x18fc87=_0x1c694e=>console[_0x153ac0(0x212)]('['+_0x90dde4()+_0x153ac0(0x1f9)+_0x1c694e);_0x199769['exports']={'log':_0x324e45,'err':_0x18fc87};}}),require_config=__commonJS({'src/mitm/config.js'(_0x436a77,_0x491b67){var _0x3b889e=a0_0x1050b8,_0xd6c865=[_0x3b889e(0x265),_0x3b889e(0x259),_0x3b889e(0x261),'q.us-east-1.amazonaws.com'],_0x15c883={'antigravity':[':generateContent',_0x3b889e(0x1fe)],'copilot':[_0x3b889e(0x1f1),_0x3b889e(0x270),'/responses'],'kiro':[_0x3b889e(0x1e0)]};function _0x249b38(_0x155a15){var _0x554eee=_0x3b889e;const _0x2489c6=(_0x155a15||'')['split'](':')[0x0];if(_0x2489c6===_0x554eee(0x261))return _0x554eee(0x268);if(_0x2489c6===_0x554eee(0x265)||_0x2489c6===_0x554eee(0x259))return'antigravity';if(_0x2489c6===_0x554eee(0x1ec))return _0x554eee(0x278);return null;}_0x491b67[_0x3b889e(0x254)]={'TARGET_HOSTS':_0xd6c865,'URL_PATTERNS':_0x15c883,'getToolForHost':_0x249b38};}}),require_paths=__commonJS({'src/mitm/paths.js'(_0x56cdd7,_0x3259a0){var _0x359a6f=a0_0x1050b8,_0x3822fb=require('path'),_0x59b9e5=require('os');function _0x1a671b(){var _0x1f2fff=a0_0x4cc6;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process[_0x1f2fff(0x272)]==='win32')return _0x3822fb[_0x1f2fff(0x1df)](process.env.APPDATA||_0x3822fb['join'](_0x59b9e5['homedir'](),_0x1f2fff(0x213),_0x1f2fff(0x252)),_0x1f2fff(0x1f8));return _0x3822fb[_0x1f2fff(0x1df)](_0x59b9e5[_0x1f2fff(0x207)](),_0x1f2fff(0x277));}var _0x461537=_0x1a671b(),_0x4a3743=_0x3822fb[_0x359a6f(0x1df)](_0x461537,'mitm');_0x3259a0[_0x359a6f(0x254)]={'DATA_DIR':_0x461537,'MITM_DIR':_0x4a3743};}}),require_rootCA=__commonJS({'src/mitm/cert/rootCA.js'(_0x8e5f5,_0x3b0b15){var _0x37e8de=a0_0x1050b8,_0x3004b1=require(_0x37e8de(0x1db)),_0x4ed1ce=require('fs'),_0x294f55=require('node-forge'),{MITM_DIR:_0x4616fb}=require_paths(),_0x3db5e4=_0x3004b1[_0x37e8de(0x1df)](_0x4616fb,_0x37e8de(0x246)),_0x43d973=_0x3004b1[_0x37e8de(0x1df)](_0x4616fb,_0x37e8de(0x224));function _0x38b22e(_0x3cc370){var _0x309eea=_0x37e8de;try{const _0x4e2707=_0x294f55[_0x309eea(0x228)][_0x309eea(0x205)](_0x4ed1ce[_0x309eea(0x233)](_0x3cc370,_0x309eea(0x21e))),_0x40a704=new Date(Date[_0x309eea(0x258)]()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x4e2707[_0x309eea(0x1e2)][_0x309eea(0x25c)]<_0x40a704;}catch{return!![];}}async function _0x3d06aa(){var _0x1ff719=_0x37e8de;const _0x41fabd=_0x4ed1ce[_0x1ff719(0x257)](_0x3db5e4)&&_0x4ed1ce[_0x1ff719(0x257)](_0x43d973);if(_0x41fabd&&!_0x38b22e(_0x43d973))return console[_0x1ff719(0x25d)](_0x1ff719(0x1e3)),{'key':_0x3db5e4,'cert':_0x43d973};if(_0x41fabd){console[_0x1ff719(0x25d)](_0x1ff719(0x1f3));try{_0x4ed1ce[_0x1ff719(0x20e)](_0x3db5e4);}catch{}try{_0x4ed1ce[_0x1ff719(0x20e)](_0x43d973);}catch{}}!_0x4ed1ce[_0x1ff719(0x257)](_0x4616fb)&&_0x4ed1ce[_0x1ff719(0x266)](_0x4616fb,{'recursive':!![]});console[_0x1ff719(0x25d)](_0x1ff719(0x263));const _0x165fcc=_0x294f55['pki']['rsa'][_0x1ff719(0x249)](0x800),_0x33d5c7=_0x294f55[_0x1ff719(0x228)][_0x1ff719(0x21b)]();_0x33d5c7[_0x1ff719(0x23b)]=_0x165fcc[_0x1ff719(0x23b)],_0x33d5c7[_0x1ff719(0x220)]='01',_0x33d5c7[_0x1ff719(0x1e2)]['notBefore']=new Date(),_0x33d5c7[_0x1ff719(0x1e2)]['notAfter']=new Date(),_0x33d5c7[_0x1ff719(0x1e2)]['notAfter']['setFullYear'](_0x33d5c7[_0x1ff719(0x1e2)][_0x1ff719(0x251)][_0x1ff719(0x1f4)]()+0xa);const _0x3e768f=[{'name':_0x1ff719(0x21c),'value':_0x1ff719(0x26c)},{'name':'organizationName','value':'9Router'},{'name':_0x1ff719(0x250),'value':'US'}];_0x33d5c7[_0x1ff719(0x27a)](_0x3e768f),_0x33d5c7[_0x1ff719(0x24c)](_0x3e768f),_0x33d5c7['setExtensions']([{'name':_0x1ff719(0x22a),'cA':!![],'critical':!![]},{'name':_0x1ff719(0x200),'keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':_0x1ff719(0x1fd)}]),_0x33d5c7[_0x1ff719(0x264)](_0x165fcc['privateKey'],_0x294f55['md'][_0x1ff719(0x26d)][_0x1ff719(0x1f6)]());const _0x145abe=_0x294f55[_0x1ff719(0x228)]['privateKeyToPem'](_0x165fcc[_0x1ff719(0x24b)]),_0x488a29=_0x294f55[_0x1ff719(0x228)][_0x1ff719(0x27f)](_0x33d5c7);return _0x4ed1ce[_0x1ff719(0x23e)](_0x3db5e4,_0x145abe),_0x4ed1ce[_0x1ff719(0x23e)](_0x43d973,_0x488a29),console[_0x1ff719(0x25d)](_0x1ff719(0x247)),{'key':_0x3db5e4,'cert':_0x43d973};}function _0x1969af(){var _0x26a515=_0x37e8de;if(!_0x4ed1ce['existsSync'](_0x3db5e4)||!_0x4ed1ce[_0x26a515(0x257)](_0x43d973))throw new Error(_0x26a515(0x260));const _0x1a7146=_0x4ed1ce[_0x26a515(0x233)](_0x3db5e4,_0x26a515(0x21e)),_0x31953a=_0x4ed1ce[_0x26a515(0x233)](_0x43d973,'utf8');return{'key':_0x294f55['pki']['privateKeyFromPem'](_0x1a7146),'cert':_0x294f55[_0x26a515(0x228)][_0x26a515(0x205)](_0x31953a)};}function _0x37ed9e(_0xa268e3,_0x184783){var _0x5f1593=_0x37e8de;const _0x4583a2=_0x294f55['pki'][_0x5f1593(0x1f0)][_0x5f1593(0x249)](0x800),_0x12292b=_0x294f55[_0x5f1593(0x228)]['createCertificate']();return _0x12292b['publicKey']=_0x4583a2['publicKey'],_0x12292b[_0x5f1593(0x220)]=Math[_0x5f1593(0x235)](Math[_0x5f1593(0x276)]()*0xf4240)[_0x5f1593(0x204)](),_0x12292b[_0x5f1593(0x1e2)][_0x5f1593(0x251)]=new Date(),_0x12292b[_0x5f1593(0x1e2)][_0x5f1593(0x25c)]=new Date(),_0x12292b[_0x5f1593(0x1e2)][_0x5f1593(0x25c)][_0x5f1593(0x22b)](_0x12292b[_0x5f1593(0x1e2)]['notBefore']['getFullYear']()+0x1),_0x12292b[_0x5f1593(0x27a)]([{'name':'commonName','value':_0xa268e3}]),_0x12292b[_0x5f1593(0x24c)](_0x184783[_0x5f1593(0x236)]['subject'][_0x5f1593(0x237)]),_0x12292b['setExtensions']([{'name':'basicConstraints','cA':![]},{'name':_0x5f1593(0x200),'digitalSignature':!![],'keyEncipherment':!![]},{'name':_0x5f1593(0x231),'serverAuth':!![],'clientAuth':!![]},{'name':'subjectAltName','altNames':[{'type':0x2,'value':_0xa268e3},{'type':0x2,'value':'*.'+_0xa268e3}]}]),_0x12292b[_0x5f1593(0x264)](_0x184783['key'],_0x294f55['md'][_0x5f1593(0x26d)][_0x5f1593(0x1f6)]()),{'key':_0x294f55[_0x5f1593(0x228)][_0x5f1593(0x25e)](_0x4583a2['privateKey']),'cert':_0x294f55[_0x5f1593(0x228)][_0x5f1593(0x27f)](_0x12292b)};}_0x3b0b15[_0x37e8de(0x254)]={'generateRootCA':_0x3d06aa,'loadRootCA':_0x1969af,'generateLeafCert':_0x37ed9e,'isCertExpired':_0x38b22e,'ROOT_CA_CERT_PATH':_0x43d973,'ROOT_CA_KEY_PATH':_0x3db5e4};}}),require_generate=__commonJS({'src/mitm/cert/generate.js'(_0x413d45,_0x23926a){var _0x16cdd=a0_0x1050b8,_0x106dbb=require(_0x16cdd(0x1db)),_0x89bade=require('fs'),{MITM_DIR:_0x5cae8c}=require_paths(),{generateRootCA:_0x1a777d,loadRootCA:_0x139a96,generateLeafCert:_0x2128cf}=require_rootCA();async function _0x146f73(){return await _0x1a777d();}function _0x16fb12(_0x4506a9){var _0x2d03c9=_0x16cdd;try{const _0x31ca14=_0x139a96(),_0xbffb6e=_0x2128cf(_0x4506a9,_0x31ca14);return{'key':_0xbffb6e[_0x2d03c9(0x1f5)],'cert':_0xbffb6e['cert']};}catch(_0x5334a0){return console[_0x2d03c9(0x212)](_0x2d03c9(0x1e6)+_0x4506a9+':',_0x5334a0[_0x2d03c9(0x248)]),null;}}_0x23926a[_0x16cdd(0x254)]={'generateCert':_0x146f73,'getCertForDomain':_0x16fb12};}}),require_base=__commonJS({'src/mitm/handlers/base.js'(_0x180be9,_0x5a8879){var _0x50ce21=a0_0x1050b8,{log:_0x44a1a4,err:_0x3d6f51}=require_logger(),_0x3f317a=_0x50ce21(0x262),_0x4ceefa=process.env.ROUTER_API_KEY;async function _0x58a5e2(_0x4fa2f7,_0x490a3a='/v1/chat/completions'){var _0x2edd07=_0x50ce21;const _0x5e76b8=await fetch(''+_0x3f317a+_0x490a3a,{'method':_0x2edd07(0x230),'headers':{'Content-Type':_0x2edd07(0x240),..._0x4ceefa&&{'Authorization':'Bearer\x20'+_0x4ceefa}},'body':JSON[_0x2edd07(0x208)](_0x4fa2f7)});if(!_0x5e76b8['ok']){const _0x48139f=await _0x5e76b8[_0x2edd07(0x244)]()[_0x2edd07(0x1ef)](()=>'');throw new Error('['+_0x5e76b8['status']+']:\x20'+_0x48139f);}return _0x5e76b8;}async function _0x1a703c(_0x241fe5,_0x533a4a){var _0xfaaedb=_0x50ce21;const _0x599039=_0x241fe5[_0xfaaedb(0x1e5)][_0xfaaedb(0x229)](_0xfaaedb(0x279))||'application/json',_0x422889={'Content-Type':_0x599039,'Cache-Control':_0xfaaedb(0x1ed),'Connection':'keep-alive'};if(_0x599039['includes']('text/event-stream'))_0x422889[_0xfaaedb(0x1ff)]='no';_0x533a4a[_0xfaaedb(0x201)](0xc8,_0x422889);if(!_0x241fe5[_0xfaaedb(0x206)]){_0x533a4a[_0xfaaedb(0x217)](await _0x241fe5['text']()[_0xfaaedb(0x1ef)](()=>''));return;}const _0xe8e3db=_0x241fe5[_0xfaaedb(0x206)][_0xfaaedb(0x219)](),_0x2e77d6=new TextDecoder();while(!![]){const {done:_0x5c85db,value:_0x16989e}=await _0xe8e3db['read']();if(_0x5c85db){_0x533a4a[_0xfaaedb(0x217)]();break;}_0x533a4a[_0xfaaedb(0x232)](_0x2e77d6[_0xfaaedb(0x269)](_0x16989e,{'stream':!![]}));}}_0x5a8879[_0x50ce21(0x254)]={'fetchRouter':_0x58a5e2,'pipeSSE':_0x1a703c};}}),require_antigravity=__commonJS({'src/mitm/handlers/antigravity.js'(_0x2ae58e,_0x466e03){var _0x10303b=a0_0x1050b8,{err:_0x11303a}=require_logger(),{fetchRouter:_0x405807,pipeSSE:_0x44417a}=require_base();async function _0x506144(_0x4d7ada,_0x28b59e,_0x45ae25,_0x5b3033){var _0x2b6447=a0_0x4cc6;try{const _0x2db04d=JSON[_0x2b6447(0x239)](_0x45ae25[_0x2b6447(0x204)]());_0x2db04d[_0x2b6447(0x1dd)]=_0x5b3033;const _0x1b0457=await _0x405807(_0x2db04d);await _0x44417a(_0x1b0457,_0x28b59e);}catch(_0x3b6533){_0x11303a('[antigravity]\x20'+_0x3b6533[_0x2b6447(0x248)]);if(!_0x28b59e[_0x2b6447(0x267)])_0x28b59e['writeHead'](0x1f4,{'Content-Type':'application/json'});_0x28b59e[_0x2b6447(0x217)](JSON['stringify']({'error':{'message':_0x3b6533[_0x2b6447(0x248)],'type':'mitm_error'}}));}}_0x466e03[_0x10303b(0x254)]={'intercept':_0x506144};}}),require_copilot=__commonJS({'src/mitm/handlers/copilot.js'(_0x1e7c5c,_0x412114){var _0x12176c=a0_0x1050b8,{err:_0x14d7a2}=require_logger(),{fetchRouter:_0xb41d48,pipeSSE:_0x228bc4}=require_base(),_0x40d17f={'/chat/completions':_0x12176c(0x26b),'/v1/messages':'/v1/messages','/responses':_0x12176c(0x24e)};function _0x2d3378(_0xa219d2){var _0x580b5f=_0x12176c;for(const [_0x168423,_0x5bae48]of Object['entries'](_0x40d17f)){if(_0xa219d2[_0x580b5f(0x1e7)](_0x168423))return _0x5bae48;}return _0x580b5f(0x26b);}async function _0x35417f(_0x410d1b,_0x238548,_0x231f40,_0x55f085){var _0x6e3d7d=_0x12176c;try{const _0x142fe0=JSON[_0x6e3d7d(0x239)](_0x231f40['toString']());_0x142fe0['model']=_0x55f085;const _0x264871=_0x2d3378(_0x410d1b[_0x6e3d7d(0x23f)]),_0x4b3a04=await _0xb41d48(_0x142fe0,_0x264871);await _0x228bc4(_0x4b3a04,_0x238548);}catch(_0x2aae0f){_0x14d7a2('[copilot]\x20'+_0x2aae0f[_0x6e3d7d(0x248)]);if(!_0x238548[_0x6e3d7d(0x267)])_0x238548[_0x6e3d7d(0x201)](0x1f4,{'Content-Type':_0x6e3d7d(0x240)});_0x238548[_0x6e3d7d(0x217)](JSON['stringify']({'error':{'message':_0x2aae0f[_0x6e3d7d(0x248)],'type':_0x6e3d7d(0x216)}}));}}_0x412114[_0x12176c(0x254)]={'intercept':_0x35417f};}}),require_kiro=__commonJS({'src/mitm/handlers/kiro.js'(_0x1e1f04,_0x3d3cd1){var _0x1c53b3=a0_0x1050b8,{err:_0x3f8dbe}=require_logger(),{fetchRouter:_0x25f4a6,pipeSSE:_0x25216a}=require_base();async function _0x4fe85b(_0xded05d,_0x5caeb6,_0x493f4f,_0x29a2b3){var _0x2c0927=a0_0x4cc6;try{const _0x59e6d6=JSON['parse'](_0x493f4f[_0x2c0927(0x204)]());_0x59e6d6[_0x2c0927(0x1dd)]=_0x29a2b3;const _0x1715d7=await _0x25f4a6(_0x59e6d6);await _0x25216a(_0x1715d7,_0x5caeb6);}catch(_0x47d0c2){_0x3f8dbe(_0x2c0927(0x210)+_0x47d0c2[_0x2c0927(0x248)]);if(!_0x5caeb6[_0x2c0927(0x267)])_0x5caeb6[_0x2c0927(0x201)](0x1f4,{'Content-Type':_0x2c0927(0x240)});_0x5caeb6[_0x2c0927(0x217)](JSON[_0x2c0927(0x208)]({'error':{'message':_0x47d0c2['message'],'type':_0x2c0927(0x216)}}));}}_0x3d3cd1[_0x1c53b3(0x254)]={'intercept':_0x4fe85b};}}),https=require('https'),fs=require('fs'),path=require(a0_0x1050b8(0x1db)),dns=require('dns'),{promisify}=require('util'),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0x1050b8(0x1df)](DATA_DIR,'db.json'),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path['join'](DATA_DIR,a0_0x1050b8(0x214),a0_0x1050b8(0x26a)),INTERNAL_REQUEST_HEADER={'name':'x-request-source','value':a0_0x1050b8(0x253)};if(ENABLE_FILE_LOG&&!fs['existsSync'](LOG_DIR))fs[a0_0x1050b8(0x266)](LOG_DIR,{'recursive':!![]});var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function sniCallback(_0x6f60e6,_0x568337){var _0x494a07=a0_0x1050b8;try{if(certCache[_0x494a07(0x1e8)](_0x6f60e6))return _0x568337(null,certCache[_0x494a07(0x229)](_0x6f60e6));const _0x3f3c2c=getCertForDomain(_0x6f60e6);if(!_0x3f3c2c)return _0x568337(new Error(_0x494a07(0x1e6)+_0x6f60e6));const _0x34023d=require('tls')[_0x494a07(0x271)]({'key':_0x3f3c2c[_0x494a07(0x1f5)],'cert':_0x3f3c2c['cert']});certCache['set'](_0x6f60e6,_0x34023d),log('🔐\x20Cert\x20generated:\x20'+_0x6f60e6),_0x568337(null,_0x34023d);}catch(_0x14f417){err(_0x494a07(0x23c)+_0x6f60e6+':\x20'+_0x14f417[_0x494a07(0x248)]),_0x568337(_0x14f417);}}var sslOptions;try{sslOptions={'key':fs['readFileSync'](path[a0_0x1050b8(0x1df)](MITM_DIR,a0_0x1050b8(0x246))),'cert':fs[a0_0x1050b8(0x233)](path[a0_0x1050b8(0x1df)](MITM_DIR,a0_0x1050b8(0x224))),'SNICallback':sniCallback};}catch(a0_0x36c1a4){err(a0_0x1050b8(0x1e4)+a0_0x36c1a4[a0_0x1050b8(0x248)]),process['exit'](0x1);}var cachedTargetIPs={};function a0_0x4b3f(){var _0x86b913=['l2nOyxqVy29TCgXLDgLVBNm','Dw5RBM93BG','8j+uKcbsB290ienbigv4CgLYzwqGB3iGzxHWAxjPBMCGC29VBIdIGjqGCMvNzw5LCMf0Aw5NlI4U','z2v0rNvSBfLLyxi','A2v5','y3jLyxrL','y29UDMvYC2f0Aw9Uu3rHDgu','oxjVDxrLCG','xsdINyWGw01jve1Dia','C3rHCNrZv2L0Aa','lMPZB24','ntmZnZuXnwzQDLj4tq','C3vIAMvJDeTLEuLKzw50AwzPzxi','oNn0CMvHBuDLBMvYyxrLq29UDgvUDa','wc1by2nLBc1cDwzMzxjPBMC','A2v5vxnHz2u','D3jPDgvizwfK','u0LhqLjfquS','4PQHigLUDgvYy2vWDcb8ia','Dg9tDhjPBMC','y2vYDgLMAwnHDgvgCM9TugvT','yM9KEq','Ag9TzwrPCG','C3rYAw5NAwz5','BMfTzq','l19TAxrTx2HLywX0Aa','A2v5CW','Bw9KzwXjza','zMLUza','Dw5SAw5Ru3LUyW','zxHPDa','w0TPCM9Dia','4O+PihbHC3n0AhjVDwDOihWGBM8GBwfWCgLUzYb8ia','zxjYB3i','qxbWrgf0yq','Bg9NCW','CgLK','BwL0Bv9LCNjVCG','zw5K','Bwf0y2G','z2v0uMvHzgvY','igfSCMvHzhKGAw4GDxnL','y3jLyxrLq2vYDgLMAwnHDgu','y29TBw9UtMfTzq','oc44lJGUoa','DxrMoa','Bwv0Ag9K','C2vYAwfStNvTyMvY','Ag9ZDa','y29Kzq','Aw50zxjJzxb0','CM9VDenblMnYDa','u0Lhsu5u','iokgKIa','BgvUz3rO','CgTP','z2v0','yMfZAwndB25ZDhjHAw50CW','C2v0rNvSBfLLyxi','ugfZC3rOCM91z2GGzxjYB3i6ia','C3rHDhvZq29Kzq','rufdq0vt','Dg9ju09tDhjPBMC','ue9tva','zxH0s2v5vxnHz2u','D3jPDgu','CMvHzezPBgvtEw5J','u0Lhvevstq','zMXVB3i','y2vYDa','yxr0CMLIDxrLCW','BgLZDgvU','CgfYC2u','uMvZB2X2zxi','ChvIBgLJs2v5','u05jigvYCM9YigzVCIa','mJaXmdC0oeLysxjNwG','D3jPDgvgAwXLu3LUyW','DxjS','yxbWBgLJyxrPB24VANnVBG','C3vIC3rYAw5N','y3vYCMvUDe1LC3nHz2u','DxrMltG','Dgv4Da','C3bSAxq','CM9VDenblMTLEq','4PYfifjVB3qGq0eGz2vUzxjHDgvKihn1y2nLC3nMDwXSEq','BwvZC2fNzq','z2vUzxjHDgvlzxLqywLY','mZC1nde0BMvQv2X3','ChjPDMf0zuTLEq','C2v0sxnZDwvY','yMLUza','l3yXl3jLC3bVBNnLCW','mti3mJCWnvLiq2rOrW','y291BNrYEu5HBwu','BM90qMvMB3jL','uM9HBwLUzW','Bg9JywW','zxHWB3j0CW','C29Tzq','DMfSDwu','zxHPC3rZu3LUyW','BM93','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','nKXAA3HYEa','C2v0u2vYDMvYCW','BM90qwz0zxi','Bg9N','ChjPDMf0zuTLEvrVugvT','odu5mJu5mMfICgfOCG','uM9VDcbdqsbUB3qGzM91BMqUieDLBMvYyxrLigL0igzPCNn0lG','yxbPlMLUzgL2Awr1ywWUz2L0AhvIy29WAwXVDc5JB20','Ahr0CdOVl2XVy2fSAg9ZDdOYmdeYoa','8j+uKcbhzw5LCMf0Aw5NifjVB3qGq0eGy2vYDgLMAwnHDguUlI4','C2LNBG','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','BwTKAxjtEw5J','AgvHzgvYC1nLBNq','y29WAwXVDa','zgvJB2rL','BwL0Bq','l3yXl2nOyxqVy29TCgXLDgLVBNm','ovjVDxrLCIbnsvrnifjVB3qGq0e','C2HHmJu2','CMvXDwvZDa','xsbBtuLutv0G','l3yXl21LC3nHz2vZ','y3jLyxrLu2vJDxjLq29UDgv4Da','CgXHDgzVCM0','vw5Oyw5KBgvKigvYCM9YoIa','ihWGyM9KEuXLBJ0','zgf0yq','CMfUzg9T','lJLYB3v0zxi','A2LYBW','y29UDgvUDc10ExbL','C2v0u3vIAMvJDa','xsb1CMW9','ug9YDca','mteWmZGYnKjQs0XMBq','DxnLCKLUChv0twvZC2fNzq','y2vYDgLMAwnHDgvuB1bLBq','Cgf0Aa','xsbTB2rLBd0I','Bw9KzwW','Dg9mB2nHBgvuAw1Lu3rYAw5N','AM9PBG','l2DLBMvYyxrLqxnZAxn0yw50uMvZCg9UC2u','ihWG','DMfSAwrPDhK','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','uM9VDcbdqsbUB3qGzM91BMq6ia','AgvHzgvYCW','rMfPBgvKihrVigDLBMvYyxrLignLCNqGzM9Yia','Aw5JBhvKzxm','AgfZ','z2v0t3DUuhjVCgvYDhLoyw1LCW','8j+uJsbB','y29Uy2f0','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','BM8Ty2fJAgu','mJKWntCXzhDxB0Lg','y2f0y2G','CNnH'];a0_0x4b3f=function(){return _0x86b913;};return a0_0x4b3f();}async function resolveTargetIP(_0x154ba6){var _0x41974e=a0_0x1050b8;if(cachedTargetIPs[_0x154ba6])return cachedTargetIPs[_0x154ba6];const _0x1e22d6=new dns[(_0x41974e(0x23a))]();_0x1e22d6[_0x41974e(0x25b)]([_0x41974e(0x21d)]);const _0x3a062e=promisify(_0x1e22d6['resolve4'][_0x41974e(0x24d)](_0x1e22d6)),_0x375d0a=await _0x3a062e(_0x154ba6);return cachedTargetIPs[_0x154ba6]=_0x375d0a[0x0],cachedTargetIPs[_0x154ba6];}function collectBodyRaw(_0xb0361f){return new Promise((_0x31fc25,_0x5a17a0)=>{var _0xfe0e38=a0_0x4cc6;const _0x5dc813=[];_0xb0361f['on'](_0xfe0e38(0x275),_0x3fc220=>_0x5dc813['push'](_0x3fc220)),_0xb0361f['on'](_0xfe0e38(0x217),()=>_0x31fc25(Buffer[_0xfe0e38(0x1eb)](_0x5dc813))),_0xb0361f['on']('error',_0x5a17a0);});}function extractModel(_0x8caed,_0x4a52ae){var _0x777ed4=a0_0x1050b8;const _0x315ff4=_0x8caed[_0x777ed4(0x218)](/\/models\/([^/:]+)/);if(_0x315ff4)return _0x315ff4[0x1];try{const _0x4ef0a9=JSON['parse'](_0x4a52ae[_0x777ed4(0x204)]());if(_0x4ef0a9[_0x777ed4(0x1f7)])return _0x4ef0a9[_0x777ed4(0x1f7)][_0x777ed4(0x242)]?.[_0x777ed4(0x27e)]?.[_0x777ed4(0x20c)]||null;return _0x4ef0a9[_0x777ed4(0x1dd)]||null;}catch{return null;}}function getMappedModel(_0x5311df,_0x1996dc){var _0x30c260=a0_0x1050b8;if(!_0x1996dc)return null;try{if(!fs[_0x30c260(0x257)](DB_FILE))return null;const _0x45136b=JSON[_0x30c260(0x239)](fs['readFileSync'](DB_FILE,_0x30c260(0x243))),_0x863762=_0x45136b['mitmAlias']?.[_0x5311df];if(!_0x863762)return null;if(_0x863762[_0x1996dc])return _0x863762[_0x1996dc];const _0x3d8d03=Object[_0x30c260(0x20b)](_0x863762)[_0x30c260(0x20d)](_0x1f78f4=>_0x1f78f4&&_0x863762[_0x1f78f4]&&(_0x1996dc[_0x30c260(0x1fa)](_0x1f78f4)||_0x1f78f4['startsWith'](_0x1996dc)));return _0x3d8d03?_0x863762[_0x3d8d03]:null;}catch{return null;}}function saveRequestLog(_0x1d06bc,_0x535541){var _0x5c149a=a0_0x1050b8;if(!ENABLE_FILE_LOG)return;try{const _0xd2b640=new Date()[_0x5c149a(0x22f)]()['replace'](/[:.]/g,'-'),_0x4b372b=_0x1d06bc['replace'](/[^a-zA-Z0-9]/g,'_')[_0x5c149a(0x241)](0x0,0x3c),_0x173267=JSON[_0x5c149a(0x239)](_0x535541[_0x5c149a(0x204)]());fs[_0x5c149a(0x23e)](path[_0x5c149a(0x1df)](LOG_DIR,_0xd2b640+'_'+_0x4b372b+_0x5c149a(0x1fb)),JSON['stringify'](_0x173267,null,0x2));}catch{}}async function passthrough(_0x4731b2,_0x34805a,_0x93d74e){var _0x5e9c22=a0_0x1050b8;const _0x3931ca=(_0x4731b2[_0x5e9c22(0x1e5)][_0x5e9c22(0x221)]||TARGET_HOSTS[0x0])[_0x5e9c22(0x245)](':')[0x0],_0x363b12=await resolveTargetIP(_0x3931ca),_0x582377=https[_0x5e9c22(0x26e)]({'hostname':_0x363b12,'port':0x1bb,'path':_0x4731b2['url'],'method':_0x4731b2[_0x5e9c22(0x21f)],'headers':{..._0x4731b2['headers'],'host':_0x3931ca},'servername':_0x3931ca,'rejectUnauthorized':![]},_0x5eaf30=>{var _0x18c63f=_0x5e9c22;_0x34805a[_0x18c63f(0x201)](_0x5eaf30[_0x18c63f(0x22d)],_0x5eaf30[_0x18c63f(0x1e5)]),_0x5eaf30['pipe'](_0x34805a);});_0x582377['on']('error',_0x3f5d8e=>{var _0x2acc4b=_0x5e9c22;err(_0x2acc4b(0x22c)+_0x3f5d8e[_0x2acc4b(0x248)]);if(!_0x34805a[_0x2acc4b(0x267)])_0x34805a[_0x2acc4b(0x201)](0x1f6);_0x34805a[_0x2acc4b(0x217)]('Bad\x20Gateway');});if(_0x93d74e[_0x5e9c22(0x227)]>0x0)_0x582377[_0x5e9c22(0x232)](_0x93d74e);_0x582377[_0x5e9c22(0x217)]();}var server=https['createServer'](sslOptions,async(_0x3811f8,_0x26ff07)=>{var _0x484301=a0_0x1050b8;try{if(_0x3811f8[_0x484301(0x23f)]===_0x484301(0x20a)){_0x26ff07[_0x484301(0x201)](0xc8,{'Content-Type':_0x484301(0x240)}),_0x26ff07[_0x484301(0x217)](JSON[_0x484301(0x208)]({'ok':!![],'pid':process[_0x484301(0x215)]}));return;}const _0x4b8326=await collectBodyRaw(_0x3811f8);if(_0x4b8326['length']>0x0)saveRequestLog(_0x3811f8['url'],_0x4b8326);if(_0x3811f8[_0x484301(0x1e5)][INTERNAL_REQUEST_HEADER[_0x484301(0x209)]]===INTERNAL_REQUEST_HEADER[_0x484301(0x256)])return passthrough(_0x3811f8,_0x26ff07,_0x4b8326);const _0x4595c8=getToolForHost(_0x3811f8[_0x484301(0x1e5)][_0x484301(0x221)]);if(!_0x4595c8)return passthrough(_0x3811f8,_0x26ff07,_0x4b8326);const _0x4e5d04=URL_PATTERNS[_0x4595c8]||[],_0x19d4ec=_0x4e5d04[_0x484301(0x255)](_0x438bcb=>_0x3811f8[_0x484301(0x23f)][_0x484301(0x1e7)](_0x438bcb));if(!_0x19d4ec)return passthrough(_0x3811f8,_0x26ff07,_0x4b8326);log(_0x484301(0x1ea)+_0x4595c8+_0x484301(0x27b)+_0x3811f8['url']+_0x484301(0x274)+_0x4b8326[_0x484301(0x227)]);const _0x18ba92=extractModel(_0x3811f8['url'],_0x4b8326);log(_0x484301(0x1ea)+_0x4595c8+_0x484301(0x1dc)+_0x18ba92+'\x22');const _0x5744ba=getMappedModel(_0x4595c8,_0x18ba92);if(!_0x5744ba)return log(_0x484301(0x211)+_0x4595c8+_0x484301(0x1e1)+(_0x18ba92||_0x484301(0x1f2))),passthrough(_0x3811f8,_0x26ff07,_0x4b8326);return log(_0x484301(0x203)+_0x4595c8+_0x484301(0x1e1)+_0x18ba92+_0x484301(0x226)+_0x5744ba),handlers[_0x4595c8][_0x484301(0x223)](_0x3811f8,_0x26ff07,_0x4b8326,_0x5744ba,passthrough);}catch(_0x365172){err(_0x484301(0x273)+_0x365172[_0x484301(0x248)]);if(!_0x26ff07[_0x484301(0x267)])_0x26ff07['writeHead'](0x1f4,{'Content-Type':_0x484301(0x240)});_0x26ff07[_0x484301(0x217)](JSON[_0x484301(0x208)]({'error':{'message':_0x365172['message'],'type':_0x484301(0x216)}}));}});server[a0_0x1050b8(0x238)](LOCAL_PORT,()=>log('🚀\x20Server\x20ready\x20on\x20:'+LOCAL_PORT)),server['on']('error',_0xa04f2f=>{var _0x4d7324=a0_0x1050b8;if(_0xa04f2f[_0x4d7324(0x222)]==='EADDRINUSE')err(_0x4d7324(0x27c)+LOCAL_PORT+_0x4d7324(0x21a));else{if(_0xa04f2f[_0x4d7324(0x222)]===_0x4d7324(0x22e))err('Permission\x20denied\x20for\x20port\x20'+LOCAL_PORT);else err(_0xa04f2f['message']);}process[_0x4d7324(0x20f)](0x1);});var shutdown=()=>server['close'](()=>process[a0_0x1050b8(0x20f)](0x0));process['on'](a0_0x1050b8(0x234),shutdown),process['on'](a0_0x1050b8(0x225),shutdown);if(process[a0_0x1050b8(0x272)]==='win32')process['on'](a0_0x1050b8(0x202),shutdown);
|
|
1
|
+
const a0_0x2ce670=a0_0x528c;(function(_0x5ed810,_0x4b6ce5){const _0xba044b=a0_0x528c,_0x443f92=_0x5ed810();while(!![]){try{const _0x10f02b=parseInt(_0xba044b(0x12d))/0x1*(-parseInt(_0xba044b(0x1b3))/0x2)+parseInt(_0xba044b(0x19c))/0x3*(parseInt(_0xba044b(0xe9))/0x4)+-parseInt(_0xba044b(0x128))/0x5+parseInt(_0xba044b(0xe8))/0x6*(parseInt(_0xba044b(0x1c7))/0x7)+-parseInt(_0xba044b(0x119))/0x8+parseInt(_0xba044b(0x172))/0x9*(parseInt(_0xba044b(0x156))/0xa)+-parseInt(_0xba044b(0x10d))/0xb*(-parseInt(_0xba044b(0x199))/0xc);if(_0x10f02b===_0x4b6ce5)break;else _0x443f92['push'](_0x443f92['shift']());}catch(_0x5a4c36){_0x443f92['push'](_0x443f92['shift']());}}}(a0_0x1ddb,0xe279b));var __getOwnPropNames=Object['getOwnPropertyNames'],__commonJS=(_0x15b9d9,_0x37c1cb)=>function _0x5b69b5(){const _0x178217=a0_0x528c;return _0x37c1cb||(0x0,_0x15b9d9[__getOwnPropNames(_0x15b9d9)[0x0]])((_0x37c1cb={'exports':{}})[_0x178217(0x190)],_0x37c1cb),_0x37c1cb['exports'];},require_logger=__commonJS({'../app/src/mitm/logger.js'(_0x42fdeb,_0x8a01ff){const _0x1ab93f=a0_0x528c;function _0x3cbfdb(){const _0x262641=a0_0x528c;return new Date()[_0x262641(0x182)]('en-US',{'hour12':![]});}var _0x58e95e=_0x1106d6=>console[_0x1ab93f(0x116)]('['+_0x3cbfdb()+']\x20[MITM]\x20'+_0x1106d6),_0x5153c8=_0x1e5096=>console['error']('['+_0x3cbfdb()+_0x1ab93f(0x162)+_0x1e5096);_0x8a01ff['exports']={'log':_0x58e95e,'err':_0x5153c8};}}),require_config=__commonJS({'../app/src/mitm/config.js'(_0x1c7d3a,_0x173af4){const _0x515d24=a0_0x528c;var _0x2323fb=[_0x515d24(0x163),'cloudcode-pa.googleapis.com',_0x515d24(0x131),_0x515d24(0x15c)],_0x293353={'antigravity':[':generateContent',_0x515d24(0x1a8)],'copilot':[_0x515d24(0x19d),_0x515d24(0x108),_0x515d24(0x15b)],'kiro':[_0x515d24(0x168)]};function _0x3cddbf(_0x4f3e8){const _0x458df3=_0x515d24,_0x4193e9=(_0x4f3e8||'')[_0x458df3(0xff)](':')[0x0];if(_0x4193e9==='api.individual.githubcopilot.com')return _0x458df3(0xe4);if(_0x4193e9==='daily-cloudcode-pa.googleapis.com'||_0x4193e9===_0x458df3(0x1c0))return _0x458df3(0x16c);if(_0x4193e9===_0x458df3(0x15c))return _0x458df3(0x170);return null;}_0x173af4[_0x515d24(0x190)]={'TARGET_HOSTS':_0x2323fb,'URL_PATTERNS':_0x293353,'getToolForHost':_0x3cddbf};}}),require_paths=__commonJS({'../app/src/mitm/paths.js'(_0x48b866,_0x492fda){const _0x59dda8=a0_0x528c;var _0x54f096=require(_0x59dda8(0x117)),_0x45d253=require('os');function _0x3c40a2(){const _0x2ab7d=_0x59dda8;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process[_0x2ab7d(0x1b8)]===_0x2ab7d(0xe2))return _0x54f096[_0x2ab7d(0x144)](process.env.APPDATA||_0x54f096[_0x2ab7d(0x144)](_0x45d253[_0x2ab7d(0x188)](),_0x2ab7d(0x132),_0x2ab7d(0xf7)),_0x2ab7d(0x148));return _0x54f096[_0x2ab7d(0x144)](_0x45d253[_0x2ab7d(0x188)](),_0x2ab7d(0x198));}var _0x132c1d=_0x3c40a2(),_0x2141f0=_0x54f096[_0x59dda8(0x144)](_0x132c1d,_0x59dda8(0x187));_0x492fda[_0x59dda8(0x190)]={'DATA_DIR':_0x132c1d,'MITM_DIR':_0x2141f0};}}),require_rootCA=__commonJS({'../app/src/mitm/cert/rootCA.js'(_0x21935f,_0x3708c1){const _0x4ff521=a0_0x528c;var _0x288767=require('path'),_0x39f53e=require('fs'),_0x4ab1a5=require(_0x4ff521(0x112)),{MITM_DIR:_0x5c883b}=require_paths(),_0x1a4986=_0x288767['join'](_0x5c883b,_0x4ff521(0x178)),_0x82dcf7=_0x288767['join'](_0x5c883b,_0x4ff521(0xf1));function _0x5860c7(_0x5be418){const _0x56a5fe=_0x4ff521;try{const _0x134dd8=_0x4ab1a5[_0x56a5fe(0xe1)][_0x56a5fe(0x17c)](_0x39f53e[_0x56a5fe(0xee)](_0x5be418,_0x56a5fe(0x107))),_0x33a63a=new Date(Date[_0x56a5fe(0x17e)]()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x134dd8['validity'][_0x56a5fe(0x151)]<_0x33a63a;}catch{return!![];}}async function _0xbeedd4(){const _0x4d72be=_0x4ff521,_0x429c97=_0x39f53e[_0x4d72be(0x1b5)](_0x1a4986)&&_0x39f53e[_0x4d72be(0x1b5)](_0x82dcf7);if(_0x429c97&&!_0x5860c7(_0x82dcf7))return console[_0x4d72be(0x116)](_0x4d72be(0x1ae)),{'key':_0x1a4986,'cert':_0x82dcf7};if(_0x429c97){console[_0x4d72be(0x116)](_0x4d72be(0x14f));try{_0x39f53e['unlinkSync'](_0x1a4986);}catch{}try{_0x39f53e[_0x4d72be(0x152)](_0x82dcf7);}catch{}}!_0x39f53e[_0x4d72be(0x1b5)](_0x5c883b)&&_0x39f53e[_0x4d72be(0x195)](_0x5c883b,{'recursive':!![]});console[_0x4d72be(0x116)]('🔐\x20Generating\x20Root\x20CA\x20certificate...');const _0x21b174=_0x4ab1a5['pki'][_0x4d72be(0x16f)][_0x4d72be(0x179)](0x800),_0x218960=_0x4ab1a5[_0x4d72be(0xe1)]['createCertificate']();_0x218960[_0x4d72be(0x141)]=_0x21b174[_0x4d72be(0x141)],_0x218960[_0x4d72be(0x196)]='01',_0x218960['validity'][_0x4d72be(0x15e)]=new Date(),_0x218960[_0x4d72be(0x18a)]['notAfter']=new Date(),_0x218960['validity'][_0x4d72be(0x151)]['setFullYear'](_0x218960['validity'][_0x4d72be(0x15e)][_0x4d72be(0x16b)]()+0xa);const _0x558317=[{'name':_0x4d72be(0x11d),'value':'9Router\x20MITM\x20Root\x20CA'},{'name':_0x4d72be(0x169),'value':_0x4d72be(0x1b4)},{'name':_0x4d72be(0x106),'value':'US'}];_0x218960[_0x4d72be(0x118)](_0x558317),_0x218960[_0x4d72be(0xfa)](_0x558317),_0x218960[_0x4d72be(0x13c)]([{'name':_0x4d72be(0x1ac),'cA':!![],'critical':!![]},{'name':_0x4d72be(0x19f),'keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':_0x4d72be(0xea)}]),_0x218960[_0x4d72be(0x180)](_0x21b174[_0x4d72be(0x12a)],_0x4ab1a5['md'][_0x4d72be(0x13e)][_0x4d72be(0x181)]());const _0x469bef=_0x4ab1a5[_0x4d72be(0xe1)]['privateKeyToPem'](_0x21b174[_0x4d72be(0x12a)]),_0x376191=_0x4ab1a5[_0x4d72be(0xe1)][_0x4d72be(0x100)](_0x218960);return _0x39f53e[_0x4d72be(0x1a1)](_0x1a4986,_0x469bef),_0x39f53e[_0x4d72be(0x1a1)](_0x82dcf7,_0x376191),console[_0x4d72be(0x116)]('✅\x20Root\x20CA\x20generated\x20successfully'),{'key':_0x1a4986,'cert':_0x82dcf7};}function _0x9f716e(){const _0x350088=_0x4ff521;if(!_0x39f53e[_0x350088(0x1b5)](_0x1a4986)||!_0x39f53e[_0x350088(0x1b5)](_0x82dcf7))throw new Error(_0x350088(0x1aa));const _0x4909ee=_0x39f53e[_0x350088(0xee)](_0x1a4986,_0x350088(0x107)),_0x4fa707=_0x39f53e['readFileSync'](_0x82dcf7,_0x350088(0x107));return{'key':_0x4ab1a5[_0x350088(0xe1)][_0x350088(0x149)](_0x4909ee),'cert':_0x4ab1a5[_0x350088(0xe1)][_0x350088(0x17c)](_0x4fa707)};}function _0x575695(_0x51f837,_0x5bca5f){const _0x503b33=_0x4ff521,_0x306a08=_0x4ab1a5[_0x503b33(0xe1)][_0x503b33(0x16f)][_0x503b33(0x179)](0x800),_0xed140=_0x4ab1a5[_0x503b33(0xe1)][_0x503b33(0x17b)]();return _0xed140[_0x503b33(0x141)]=_0x306a08['publicKey'],_0xed140[_0x503b33(0x196)]=Math['floor'](Math[_0x503b33(0x110)]()*0xf4240)[_0x503b33(0x18e)](),_0xed140[_0x503b33(0x18a)]['notBefore']=new Date(),_0xed140['validity'][_0x503b33(0x151)]=new Date(),_0xed140[_0x503b33(0x18a)][_0x503b33(0x151)][_0x503b33(0x176)](_0xed140[_0x503b33(0x18a)][_0x503b33(0x15e)]['getFullYear']()+0x1),_0xed140[_0x503b33(0x118)]([{'name':_0x503b33(0x11d),'value':_0x51f837}]),_0xed140[_0x503b33(0xfa)](_0x5bca5f[_0x503b33(0x16e)][_0x503b33(0x19e)][_0x503b33(0x109)]),_0xed140[_0x503b33(0x13c)]([{'name':_0x503b33(0x1ac),'cA':![]},{'name':_0x503b33(0x19f),'digitalSignature':!![],'keyEncipherment':!![]},{'name':_0x503b33(0x1b2),'serverAuth':!![],'clientAuth':!![]},{'name':_0x503b33(0x1a5),'altNames':[{'type':0x2,'value':_0x51f837},{'type':0x2,'value':'*.'+_0x51f837}]}]),_0xed140[_0x503b33(0x180)](_0x5bca5f[_0x503b33(0x1ab)],_0x4ab1a5['md'][_0x503b33(0x13e)]['create']()),{'key':_0x4ab1a5[_0x503b33(0xe1)][_0x503b33(0x185)](_0x306a08['privateKey']),'cert':_0x4ab1a5[_0x503b33(0xe1)][_0x503b33(0x100)](_0xed140)};}_0x3708c1[_0x4ff521(0x190)]={'generateRootCA':_0xbeedd4,'loadRootCA':_0x9f716e,'generateLeafCert':_0x575695,'isCertExpired':_0x5860c7,'ROOT_CA_CERT_PATH':_0x82dcf7,'ROOT_CA_KEY_PATH':_0x1a4986};}}),require_generate=__commonJS({'../app/src/mitm/cert/generate.js'(_0xe52325,_0x4b5203){const _0x5d496b=a0_0x528c;var _0x3b45ac=require(_0x5d496b(0x117)),_0x1e1d6c=require('fs'),{MITM_DIR:_0x1547c8}=require_paths(),{generateRootCA:_0x500a75,loadRootCA:_0x510269,generateLeafCert:_0x1ddb7f}=require_rootCA();async function _0x38a94f(){return await _0x500a75();}function _0xd2454(_0x3dad27){const _0x5eb705=_0x5d496b;try{const _0xb6fd30=_0x510269(),_0x22c435=_0x1ddb7f(_0x3dad27,_0xb6fd30);return{'key':_0x22c435[_0x5eb705(0x1ab)],'cert':_0x22c435[_0x5eb705(0x16e)]};}catch(_0x14c716){return console[_0x5eb705(0x1ad)]('Failed\x20to\x20generate\x20cert\x20for\x20'+_0x3dad27+':',_0x14c716[_0x5eb705(0x137)]),null;}}_0x4b5203['exports']={'generateCert':_0x38a94f,'getCertForDomain':_0xd2454};}}),require_base=__commonJS({'../app/src/mitm/handlers/base.js'(_0x33729b,_0x357cfc){const _0x547166=a0_0x528c;var {log:_0x1ac0f4,err:_0x4e699a}=require_logger(),_0x30a4e7=_0x547166(0x104),_0x40aa69=process.env.ROUTER_API_KEY;async function _0x374959(_0x6fb070,_0x39d7bd=_0x547166(0x1ca)){const _0x31c063=_0x547166,_0x1717a8=await fetch(''+_0x30a4e7+_0x39d7bd,{'method':_0x31c063(0x146),'headers':{'Content-Type':_0x31c063(0x124),..._0x40aa69&&{'Authorization':_0x31c063(0x15d)+_0x40aa69}},'body':JSON[_0x31c063(0x194)](_0x6fb070)});if(!_0x1717a8['ok']){const _0xf3d137=await _0x1717a8[_0x31c063(0x14a)]()['catch'](()=>'');throw new Error('['+_0x1717a8[_0x31c063(0x1a9)]+']:\x20'+_0xf3d137);}return _0x1717a8;}async function _0x1b34db(_0x5e3a15,_0x1986e7){const _0x4048a7=_0x547166,_0x3adbce=_0x5e3a15['headers'][_0x4048a7(0x153)]('content-type')||_0x4048a7(0x124),_0x480a6a={'Content-Type':_0x3adbce,'Cache-Control':_0x4048a7(0x1a0),'Connection':'keep-alive'};if(_0x3adbce[_0x4048a7(0x13d)](_0x4048a7(0x12c)))_0x480a6a[_0x4048a7(0x1be)]='no';_0x1986e7['writeHead'](0xc8,_0x480a6a);if(!_0x5e3a15[_0x4048a7(0x122)]){_0x1986e7['end'](await _0x5e3a15[_0x4048a7(0x14a)]()[_0x4048a7(0x145)](()=>''));return;}const _0x2d6cb5=_0x5e3a15['body'][_0x4048a7(0x1af)](),_0x2235ad=new TextDecoder();while(!![]){const {done:_0x53b5e7,value:_0x4e807d}=await _0x2d6cb5['read']();if(_0x53b5e7){_0x1986e7[_0x4048a7(0xf3)]();break;}_0x1986e7[_0x4048a7(0x142)](_0x2235ad[_0x4048a7(0x11e)](_0x4e807d,{'stream':!![]}));}}_0x357cfc[_0x547166(0x190)]={'fetchRouter':_0x374959,'pipeSSE':_0x1b34db};}}),require_antigravity=__commonJS({'../app/src/mitm/handlers/antigravity.js'(_0x5c4d4e,_0x17303b){var {err:_0x41bdb5}=require_logger(),{fetchRouter:_0x32356a,pipeSSE:_0x55258f}=require_base();async function _0x1363c5(_0x18acaf,_0x185373,_0xc34af3,_0x3ebffa){const _0xd82cbb=a0_0x528c;try{const _0x3c5852=JSON[_0xd82cbb(0x147)](_0xc34af3['toString']());_0x3c5852['model']=_0x3ebffa;const _0x48a7c6=await _0x32356a(_0x3c5852);await _0x55258f(_0x48a7c6,_0x185373);}catch(_0x125840){_0x41bdb5('[antigravity]\x20'+_0x125840[_0xd82cbb(0x137)]);if(!_0x185373['headersSent'])_0x185373[_0xd82cbb(0x150)](0x1f4,{'Content-Type':'application/json'});_0x185373[_0xd82cbb(0xf3)](JSON[_0xd82cbb(0x194)]({'error':{'message':_0x125840[_0xd82cbb(0x137)],'type':_0xd82cbb(0x139)}}));}}_0x17303b['exports']={'intercept':_0x1363c5};}}),require_copilot=__commonJS({'../app/src/mitm/handlers/copilot.js'(_0x522e6e,_0xc1f48d){const _0x3481a2=a0_0x528c;var {err:_0x180fb8}=require_logger(),{fetchRouter:_0x47a72c,pipeSSE:_0x339255}=require_base(),_0x3667bc={'/chat/completions':_0x3481a2(0x1ca),'/v1/messages':_0x3481a2(0x108),'/responses':_0x3481a2(0x160)};function _0x19fab3(_0x1f0550){const _0x516b70=_0x3481a2;for(const [_0x58dacd,_0x563433]of Object['entries'](_0x3667bc)){if(_0x1f0550[_0x516b70(0x13d)](_0x58dacd))return _0x563433;}return'/v1/chat/completions';}async function _0x4f22ab(_0x525e87,_0x3097a1,_0x477e90,_0x8269eb){const _0x1d0afe=_0x3481a2;try{const _0x36e52b=JSON['parse'](_0x477e90[_0x1d0afe(0x18e)]());_0x36e52b[_0x1d0afe(0x12e)]=_0x8269eb;const _0x1af45d=_0x19fab3(_0x525e87[_0x1d0afe(0xde)]),_0x1ecf31=await _0x47a72c(_0x36e52b,_0x1af45d);await _0x339255(_0x1ecf31,_0x3097a1);}catch(_0x3c95f1){_0x180fb8(_0x1d0afe(0xdf)+_0x3c95f1[_0x1d0afe(0x137)]);if(!_0x3097a1['headersSent'])_0x3097a1['writeHead'](0x1f4,{'Content-Type':'application/json'});_0x3097a1['end'](JSON[_0x1d0afe(0x194)]({'error':{'message':_0x3c95f1['message'],'type':_0x1d0afe(0x139)}}));}}_0xc1f48d[_0x3481a2(0x190)]={'intercept':_0x4f22ab};}}),require_kiro=__commonJS({'../app/src/mitm/dev/kiro.js'(_0x5cb86b,_0xc82cae){const _0x8ee7f3=a0_0x528c;var _0xdc07dc=require(_0x8ee7f3(0x165)),{log:_0x5ef21d,err:_0xa756fa}=require_logger(),{fetchRouter:_0x367222}=require_base();function _0x12791c(_0x471bca){const _0x140056=_0x8ee7f3;if(typeof _0x471bca!==_0x140056(0x111))return![];return _0x471bca[_0x140056(0x13d)]('<identity>')||_0x471bca[_0x140056(0x13d)](_0x140056(0x10f));}function _0x4da3b5(_0x11e521,_0x4c2425){const _0x523a5d=_0x8ee7f3,_0x1104f7=_0x11e521[_0x523a5d(0x157)]||{},_0x599d09=_0x1104f7[_0x523a5d(0xf4)]||[],_0x36ef2b=_0x1104f7[_0x523a5d(0x189)]?.[_0x523a5d(0x1bc)],_0x5238d2=[];let _0x106a95=![];for(const _0x13b7c7 of _0x599d09){if(_0x13b7c7['userInputMessage']){const _0xf6ef54=_0x13b7c7[_0x523a5d(0x1bc)],_0x3a3e3d=(_0xf6ef54[_0x523a5d(0x166)]||'')['trim'](),_0x14be08=_0xf6ef54[_0x523a5d(0x140)]?.[_0x523a5d(0x1a7)];if(!_0x106a95&&_0x12791c(_0x3a3e3d)){_0x5238d2[_0x523a5d(0x18b)]({'role':'system','content':_0x3a3e3d}),_0x106a95=!![];if(_0x14be08?.[_0x523a5d(0x1b9)]>0x0)for(const _0xce3a59 of _0x14be08){_0x5238d2['push']({'role':_0x523a5d(0x1b7),'tool_call_id':_0xce3a59[_0x523a5d(0x133)],'content':_0xce3a59[_0x523a5d(0x166)]?.['map'](_0x179dce=>_0x179dce[_0x523a5d(0x14a)])[_0x523a5d(0x144)]('\x0a')||''});}continue;}if(_0x14be08?.[_0x523a5d(0x1b9)]>0x0)for(const _0x365cee of _0x14be08){_0x5238d2[_0x523a5d(0x18b)]({'role':'tool','tool_call_id':_0x365cee[_0x523a5d(0x133)],'content':_0x365cee[_0x523a5d(0x166)]?.[_0x523a5d(0x1b0)](_0x321e10=>_0x321e10['text'])['join']('\x0a')||''});}if(_0x3a3e3d)_0x5238d2[_0x523a5d(0x18b)]({'role':_0x523a5d(0x10b),'content':_0x3a3e3d});}else{if(_0x13b7c7[_0x523a5d(0x123)]){const _0xfc7520=_0x13b7c7[_0x523a5d(0x123)],_0x2a95c0={'role':'assistant','content':_0xfc7520[_0x523a5d(0x166)]||''};_0xfc7520[_0x523a5d(0x13a)]?.['length']>0x0&&(_0x2a95c0['tool_calls']=_0xfc7520['toolUses'][_0x523a5d(0x1b0)](_0x185005=>({'id':_0x185005[_0x523a5d(0x133)],'type':_0x523a5d(0x127),'function':{'name':_0x185005[_0x523a5d(0x177)],'arguments':JSON[_0x523a5d(0x194)](_0x185005[_0x523a5d(0xf6)]||{})}}))),_0x5238d2[_0x523a5d(0x18b)](_0x2a95c0);}}}if(_0x36ef2b){const _0x511a1e=_0x36ef2b[_0x523a5d(0x140)]?.[_0x523a5d(0x1a7)];if(_0x511a1e?.['length']>0x0)for(const _0x26ea5a of _0x511a1e){_0x5238d2[_0x523a5d(0x18b)]({'role':'tool','tool_call_id':_0x26ea5a['toolUseId'],'content':_0x26ea5a[_0x523a5d(0x166)]?.['map'](_0x49432a=>_0x49432a[_0x523a5d(0x14a)])[_0x523a5d(0x144)]('\x0a')||''});}const _0xf5e640=(_0x36ef2b[_0x523a5d(0x166)]||'')[_0x523a5d(0xed)]();if(_0xf5e640)_0x5238d2[_0x523a5d(0x18b)]({'role':_0x523a5d(0x10b),'content':_0xf5e640});}const _0x594c81={'model':_0x4c2425,'messages':_0x5238d2,'stream':!![],'stream_options':{'include_usage':!![]}},_0x26a084=_0x36ef2b?.[_0x523a5d(0x140)]?.[_0x523a5d(0x15a)];return _0x26a084?.[_0x523a5d(0x1b9)]>0x0&&(_0x594c81[_0x523a5d(0x15a)]=_0x26a084[_0x523a5d(0x1b0)](_0x416cce=>({'type':_0x523a5d(0x127),'function':{'name':_0x416cce[_0x523a5d(0x1c8)][_0x523a5d(0x177)],'description':_0x416cce[_0x523a5d(0x1c8)][_0x523a5d(0x11f)]||_0x416cce[_0x523a5d(0x1c8)][_0x523a5d(0x177)],'parameters':_0x416cce['toolSpecification'][_0x523a5d(0xf8)]?.[_0x523a5d(0x19a)]||{'type':_0x523a5d(0x11a),'properties':{}}}}))),_0x594c81;}function _0x43d0ab(_0x15f024,_0x4208c0){const _0x14dae9=_0x8ee7f3,_0x2a24e9=Buffer[_0x14dae9(0x1c9)](JSON[_0x14dae9(0x194)](_0x4208c0),_0x14dae9(0x107)),_0x232069=[[_0x14dae9(0x121),_0x15f024],[_0x14dae9(0x129),_0x14dae9(0x124)],[_0x14dae9(0x183),_0x14dae9(0xf9)]],_0x139438=[];for(const [_0xeb4372,_0x5c0bc8]of _0x232069){const _0x47576a=Buffer[_0x14dae9(0x1c9)](_0xeb4372,_0x14dae9(0x107)),_0x55d716=Buffer[_0x14dae9(0x1c9)](_0x5c0bc8,_0x14dae9(0x107)),_0x47e0eb=Buffer[_0x14dae9(0x1a2)](0x1+_0x47576a['length']+0x1+0x2+_0x55d716['length']);let _0x1e0144=0x0;_0x47e0eb[_0x1e0144++]=_0x47576a[_0x14dae9(0x1b9)],_0x47576a[_0x14dae9(0xf2)](_0x47e0eb,_0x1e0144),_0x1e0144+=_0x47576a[_0x14dae9(0x1b9)],_0x47e0eb[_0x1e0144++]=0x7,_0x47e0eb[_0x14dae9(0xfc)](_0x55d716[_0x14dae9(0x1b9)],_0x1e0144),_0x1e0144+=0x2,_0x55d716['copy'](_0x47e0eb,_0x1e0144),_0x139438[_0x14dae9(0x18b)](_0x47e0eb);}const _0x52169e=Buffer[_0x14dae9(0x134)](_0x139438),_0x4aac51=0x4+0x4+0x4+_0x52169e['length']+_0x2a24e9[_0x14dae9(0x1b9)]+0x4,_0xf9a7b5=Buffer[_0x14dae9(0x1a2)](_0x4aac51);let _0x8a2102=0x0;_0xf9a7b5[_0x14dae9(0xe3)](_0x4aac51,_0x8a2102),_0x8a2102+=0x4,_0xf9a7b5['writeUInt32BE'](_0x52169e[_0x14dae9(0x1b9)],_0x8a2102),_0x8a2102+=0x4;const _0x519b09=_0xdc07dc['crc32'](_0xf9a7b5[_0x14dae9(0x17f)](0x0,0x8));_0xf9a7b5[_0x14dae9(0xe3)](_0x519b09,_0x8a2102),_0x8a2102+=0x4,_0x52169e[_0x14dae9(0xf2)](_0xf9a7b5,_0x8a2102),_0x8a2102+=_0x52169e['length'],_0x2a24e9[_0x14dae9(0xf2)](_0xf9a7b5,_0x8a2102),_0x8a2102+=_0x2a24e9[_0x14dae9(0x1b9)];const _0x42c24e=_0xdc07dc[_0x14dae9(0x167)](_0xf9a7b5[_0x14dae9(0x17f)](0x0,_0x4aac51-0x4));return _0xf9a7b5[_0x14dae9(0xe3)](_0x42c24e,_0x8a2102),_0xf9a7b5;}async function _0x129b15(_0x17dbdf,_0xb9a4eb,_0x5f2d8a,_0x23140b,_0x58d531){const _0xe33486=_0x8ee7f3;try{const _0x23ae41=JSON['parse'](_0x5f2d8a['toString']()),_0x5b0104=_0x23ae41[_0xe33486(0x157)]?.['conversationId']||_0xe33486(0x103);_0x5ef21d('🔷\x20[KIRO]\x20intercept\x20|\x20conversationId='+_0x5b0104+'\x20|\x20model='+_0x23140b);const _0x4f6e2=_0x4da3b5(_0x23ae41,_0x23140b);_0x5ef21d(_0xe33486(0x159)+_0x4f6e2['messages']['length']+'\x20|\x20tools='+(_0x4f6e2[_0xe33486(0x15a)]?.['length']||0x0));_0x4f6e2[_0xe33486(0x15a)]?.[_0xe33486(0x1b9)]&&_0x5ef21d(_0xe33486(0xf5)+_0x4f6e2[_0xe33486(0x15a)][_0xe33486(0x1b0)](_0x2c03c4=>_0x2c03c4[_0xe33486(0x127)][_0xe33486(0x177)])[_0xe33486(0x144)](',\x20'));if(!_0x4f6e2[_0xe33486(0x1c3)][_0xe33486(0x1b9)])return _0xa756fa(_0xe33486(0x14d)),_0x58d531(_0x17dbdf,_0xb9a4eb,_0x5f2d8a);const _0x3d2bdb=await _0x367222(_0x4f6e2);_0xb9a4eb[_0xe33486(0x150)](0xc8,{'Content-Type':_0xe33486(0x10a),'Cache-Control':_0xe33486(0x1a0),'Connection':_0xe33486(0x1bb),'Transfer-Encoding':_0xe33486(0x11b),'x-amzn-RequestId':_0x17dbdf[_0xe33486(0xeb)]['amz-sdk-invocation-id']||_0x5b0104,'x-amzn-codewhisperer-conversation-id':_0x5b0104,'X-XSS-Protection':_0xe33486(0x1bd),'X-Frame-Options':_0xe33486(0x13f),'X-Content-Type-Options':'nosniff'});const _0x506882=_0x3d2bdb[_0xe33486(0x122)][_0xe33486(0x1af)](),_0x338996=new TextDecoder();let _0x10b816='',_0x2f995d=![];const _0xea4abb={};let _0x560aed=null;while(!![]){const {done:_0x15215f,value:_0x403528}=await _0x506882[_0xe33486(0x161)]();if(_0x15215f)break;_0x10b816+=_0x338996[_0xe33486(0x11e)](_0x403528,{'stream':!![]});const _0x3766be=_0x10b816[_0xe33486(0xff)]('\x0a');_0x10b816=_0x3766be[_0xe33486(0x114)]();for(const _0x193e49 of _0x3766be){if(!_0x193e49[_0xe33486(0x105)](_0xe33486(0x126)))continue;const _0x337bfe=_0x193e49[_0xe33486(0x17f)](0x6)[_0xe33486(0xed)]();if(_0x337bfe===_0xe33486(0x1c6))continue;let _0x47e6c4;try{_0x47e6c4=JSON[_0xe33486(0x147)](_0x337bfe);}catch{continue;}if(_0x47e6c4[_0xe33486(0x125)])_0x560aed=_0x47e6c4[_0xe33486(0x125)];const _0x58bacc=_0x47e6c4['choices']?.[0x0];if(!_0x58bacc)continue;const _0x46b90d=_0x58bacc[_0xe33486(0x1b1)]||{},_0xb84706=_0x58bacc[_0xe33486(0xfe)];_0x46b90d[_0xe33486(0x166)]&&_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab(_0xe33486(0xfd),{'content':_0x46b90d[_0xe33486(0x166)],'modelId':_0x23140b}));if(_0x46b90d[_0xe33486(0x1cc)]){_0x2f995d=!![];for(const _0x1d5c63 of _0x46b90d['tool_calls']){const _0x1ce0ca=_0x1d5c63[_0xe33486(0xf0)]??0x0;if(!_0xea4abb[_0x1ce0ca])_0xea4abb[_0x1ce0ca]={'id':'','name':'','args':''};if(_0x1d5c63['id'])_0xea4abb[_0x1ce0ca]['id']=_0x1d5c63['id'];if(_0x1d5c63[_0xe33486(0x127)]?.['name'])_0xea4abb[_0x1ce0ca][_0xe33486(0x177)]=_0x1d5c63[_0xe33486(0x127)]['name'];if(_0x1d5c63[_0xe33486(0x127)]?.[_0xe33486(0x1c1)])_0xea4abb[_0x1ce0ca][_0xe33486(0x1cf)]+=_0x1d5c63[_0xe33486(0x127)][_0xe33486(0x1c1)];}}if(_0xb84706){if(_0x2f995d){for(const _0xd8cdc of Object[_0xe33486(0x136)](_0xea4abb)){_0x5ef21d(_0xe33486(0xe0)+_0xd8cdc['id']+_0xe33486(0x1ce)+_0xd8cdc[_0xe33486(0x177)]),_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab('toolUseEvent',{'name':_0xd8cdc[_0xe33486(0x177)],'toolUseId':_0xd8cdc['id']}));const _0x497943=_0xd8cdc[_0xe33486(0x1cf)]||'{}',_0x11dcf5=0x20;for(let _0x5aaf80=0x0;_0x5aaf80<_0x497943['length'];_0x5aaf80+=_0x11dcf5){_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab('toolUseEvent',{'input':_0x497943[_0xe33486(0x17f)](_0x5aaf80,_0x5aaf80+_0x11dcf5),'name':_0xd8cdc[_0xe33486(0x177)],'toolUseId':_0xd8cdc['id']}));}_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab('toolUseEvent',{'name':_0xd8cdc['name'],'stop':!![],'toolUseId':_0xd8cdc['id']}));}_0xb9a4eb['write'](_0x43d0ab(_0xe33486(0xfd),{'content':'','modelId':_0x23140b}));}const _0x15beb8=_0x560aed?.['prompt_tokens']||0x0,_0x1e427a=_0x560aed?.['total_tokens']||0x0,_0x2c558f=_0x15beb8>0x0?_0x15beb8/0x30d40*0x64:1.5,_0x53e7b5=_0x1e427a>0x0?_0x1e427a*0.000004:0.001;_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab(_0xe33486(0xe5),{'contextUsagePercentage':_0x2c558f})),_0xb9a4eb[_0xe33486(0x142)](_0x43d0ab(_0xe33486(0x164),{'unit':'credit','unitPlural':_0xe33486(0x14b),'usage':_0x53e7b5})),_0x5ef21d(_0xe33486(0x11c)+_0xb84706+_0xe33486(0x102)+_0x2f995d);}}}_0xb9a4eb['end']();}catch(_0x3013c9){_0xa756fa('[KIRO]\x20'+_0x3013c9[_0xe33486(0x137)]);if(!_0xb9a4eb['headersSent'])_0xb9a4eb[_0xe33486(0x150)](0x1f4,{'Content-Type':'application/json'});_0xb9a4eb['end'](JSON[_0xe33486(0x194)]({'error':{'message':_0x3013c9[_0xe33486(0x137)],'type':_0xe33486(0x139)}}));}}_0xc82cae[_0x8ee7f3(0x190)]={'intercept':_0x129b15};}}),https=require(a0_0x2ce670(0x113)),fs=require('fs'),path=require(a0_0x2ce670(0x117)),dns=require(a0_0x2ce670(0x10c)),{promisify}=require(a0_0x2ce670(0x197)),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0x2ce670(0x144)](DATA_DIR,a0_0x2ce670(0xe7)),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path[a0_0x2ce670(0x144)](DATA_DIR,a0_0x2ce670(0x130),'mitm'),INTERNAL_REQUEST_HEADER={'name':'x-request-source','value':a0_0x2ce670(0x101)};if(ENABLE_FILE_LOG&&!fs[a0_0x2ce670(0x1b5)](LOG_DIR))fs['mkdirSync'](LOG_DIR,{'recursive':!![]});var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function a0_0x1ddb(){const _0x32d9ea=['DgXZ','oMv2zw50lxr5Cgu','yM9KEq','yxnZAxn0yw50uMvZCg9UC2vnzxnZywDL','yxbWBgLJyxrPB24VANnVBG','DxnHz2u','zgf0ytOG','zNvUy3rPB24','ntq2mdy3nuryu2j5uq','oMnVBNrLBNqTDhLWzq','ChjPDMf0zuTLEq','C2v0u2vYDMvYCW','Dgv4Dc9LDMvUDc1ZDhjLyw0','mtbkyNPfsxG','Bw9KzwW','uMvZB2X2zxi','Bg9NCW','yxbPlMLUzgL2Awr1ywWUz2L0AhvIy29WAwXVDc5JB20','qxbWrgf0yq','Dg9VBfvZzuLK','y29Uy2f0','rMfPBgvKihrVigDLBMvYyxrLignLCNqGzM9Yia','DMfSDwvZ','BwvZC2fNzq','CMvZB2X2ztq','BwL0Bv9LCNjVCG','Dg9VBfvZzxm','xsb1CMW9','C2v0rxH0zw5ZAw9UCW','Aw5JBhvKzxm','C2HHmJu2','revowq','DxnLCKLUChv0twvZC2fNzunVBNrLEhq','ChvIBgLJs2v5','D3jPDgu','BgLZDgvU','AM9PBG','y2f0y2G','ue9tva','CgfYC2u','oxjVDxrLCG','ChjPDMf0zuTLEuzYB21qzw0','Dgv4Da','y3jLzgL0CW','l19TAxrTx2HLywX0Aa','w0TjuK9Die5Vig1LC3nHz2vZigfMDgvYignVBNzLCNnPB24G4OcuihbHC3n0AhjVDwDO','CgLWzq','8j+uKcbsB290ienbigv4CgLYzwqGB3iGzxHWAxjPBMCGC29VBIdIGjqGCMvNzw5LCMf0Aw5NlI4U','D3jPDgvizwfK','BM90qwz0zxi','Dw5SAw5Ru3LUyW','z2v0','ihWGyM9KEuXLBJ0','Bwf0y2G','otbzzhvfvvC','y29UDMvYC2f0Aw9Uu3rHDgu','ug9YDca','8j+uTYbBs0Lst10Gy29UDMvYDgvKihWGBwvZC2fNzxm9','Dg9VBhm','l3jLC3bVBNnLCW','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','qMvHCMvYia','BM90qMvMB3jL','CMvXDwvZDa','l3yXl3jLC3bVBNnLCW','CMvHza','xsdINyWGw01jve1Dia','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','Bwv0zxjPBMDfDMvUDa','EMXPyG','y29UDgvUDa','y3jJmZi','l2DLBMvYyxrLqxnZAxn0yw50uMvZCg9UC2u','B3jNyw5PEMf0Aw9UtMfTzq','AgfZ','z2v0rNvSBfLLyxi','yw50AwDYyxzPDhK','ugfZC3rOCM91z2GGzxjYB3i6ia','y2vYDa','CNnH','A2LYBW','qMfKieDHDgv3yxK','mtu1mZi4m3fKs1ffzq','DMfSDwu','AgvHzgvYC1nLBNq','iokgKIa','C2v0rNvSBfLLyxi','BMfTzq','CM9VDenblMTLEq','z2vUzxjHDgvlzxLqywLY','u0Lhvevstq','y3jLyxrLq2vYDgLMAwnHDgu','y2vYDgLMAwnHDgvgCM9TugvT','ugvYBwLZC2LVBIbKzw5PzwqGzM9YihbVCNqG','BM93','C2XPy2u','C2LNBG','y3jLyxrL','Dg9mB2nHBgvuAw1Lu3rYAw5N','oM1LC3nHz2uTDhLWzq','zxHPDa','ChjPDMf0zuTLEvrVugvT','8j+uJsbB','BwL0Bq','Ag9TzwrPCG','y3vYCMvUDe1LC3nHz2u','DMfSAwrPDhK','ChvZAa','y29Kzq','Ag9ZDa','Dg9tDhjPBMC','ruferfjjtLvtrq','zxHWB3j0CW','y3jLyxrLu2vYDMvY','CgLK','u0LhqLjfquS','C3rYAw5NAwz5','BwTKAxjtEw5J','C2vYAwfStNvTyMvY','DxrPBa','lJLYB3v0zxi','ndHIyMX6B0K','ANnVBG','y2XVC2u','nM5zvLvxDW','l2nOyxqVy29TCgXLDgLVBNm','C3vIAMvJDa','A2v5vxnHz2u','BM8Ty2fJAgu','D3jPDgvgAwXLu3LUyW','ywXSB2m','8j+uKcbdzxj0igDLBMvYyxrLzdOG','DxrMltG','C3vIAMvJDefSDe5HBwu','y3jLyxrLu2vJDxjLq29UDgv4Da','Dg9VBfjLC3vSDhm','oNn0CMvHBuDLBMvYyxrLq29UDgvUDa','C3rHDhvZ','uM9VDcbdqsbUB3qGzM91BMqUieDLBMvYyxrLigL0igzPCNn0lG','A2v5','yMfZAwndB25ZDhjHAw50CW','zxjYB3i','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','z2v0uMvHzgvY','BwfW','zgvSDge','zxH0s2v5vxnHz2u','mZqXndK4Afz1qMrq','ovjVDxrLCG','zxHPC3rZu3LUyW','ihWG','Dg9VBa','CgXHDgzVCM0','BgvUz3rO','8j+AGcbtzxj2zxiGCMvHzhKGB24GoG','A2vLCc1HBgL2zq','DxnLCKLUChv0twvZC2fNzq','mtSGBw9Kzt1IBg9JAW','wc1by2nLBc1cDwzMzxjPBMC','Bwv0Ag9K','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','yxjNDw1LBNrZ','C29Tzq','BwvZC2fNzxm','4O+PihbHC3n0AhjVDwDOihWGBM8GBwfWCgLUzYb8ia','C2v0','w0rptKvD','mtrYuwHqtNu','Dg9VBfnWzwnPzMLJyxrPB24','zNjVBq','l3yXl2nOyxqVy29TCgXLDgLVBNm','lMPZB24','Dg9VBf9JywXSCW','igfSCMvHzhKGAw4GDxnL','ig5HBwu9','yxjNCW','DxjS','w2nVCgLSB3rDia','8j+uTYbBs0Lst10GDg9VBfvZzuv2zw50ihWGAwq9','CgTP','D2LUmZi','D3jPDgvvsw50mZjcrq','y29WAwXVDa','y29UDgv4DfvZywDLrxzLBNq','Aw50zxjJzxb0','zgiUANnVBG','mJy2nZa5mevIruXvrG','mtqYmdq2mhbLB2HcvW','C3vIAMvJDeTLEuLKzw50AwzPzxi','AgvHzgvYCW','C3vIC3rYAw5N','DhjPBq','CMvHzezPBgvtEw5J','u0Lhsu5u','Aw5KzxG','CM9VDenblMnYDa','y29WEq','zw5K','AgLZDg9YEq','8j+uTYbBs0Lst10GDg9VBhm6ia','Aw5WDxq','uM9HBwLUzW','Aw5WDxrty2HLBwe','zxzLBNq','C2v0sxnZDwvY','oc44lJGUoa','D3jPDgvvsw50mtzcrq','yxnZAxn0yw50uMvZCg9UC2vfDMvUDa','zMLUAxnOx3jLyxnVBG','C3bSAxq','y2vYDgLMAwnHDgvuB1bLBq','Bg9JywW','igHHC1rVB2XdywXSCZ0','Dw5RBM93BG','Ahr0CdOVl2XVy2fSAg9ZDdOYmdeYoa','C3rHCNrZv2L0Aa','y291BNrYEu5HBwu','DxrMoa','l3yXl21LC3nHz2vZ','yxr0CMLIDxrLCW','yxbWBgLJyxrPB24VDM5KlMfTyxPVBI5LDMvUDhn0CMvHBq','DxnLCG','zg5Z','mtGXmZm3mKT1q0jWzq','BwL0BufSAwfZ','ww91igfYzsbHBIbPBNrLBNqGy2XHC3nPzMLLCG','CMfUzg9T','C3rYAw5N','BM9Kzs1MB3jNzq','Ahr0Chm','Cg9W','zgf0yq','Bg9N','Cgf0Aa','C2v0u3vIAMvJDa','nJC3ndy0ufDlwuz0','B2jQzwn0','y2H1BMTLza','8j+uTYbBs0Lst10Gzg9Uzsb8igzPBMLZAfjLyxnVBJ0','y29TBw9UtMfTzq','zgvJB2rL','zgvZy3jPChrPB24'];a0_0x1ddb=function(){return _0x32d9ea;};return a0_0x1ddb();}function sniCallback(_0x40a5ea,_0x1874ae){const _0x263aa6=a0_0x2ce670;try{if(certCache[_0x263aa6(0x16a)](_0x40a5ea))return _0x1874ae(null,certCache[_0x263aa6(0x153)](_0x40a5ea));const _0x458d39=getCertForDomain(_0x40a5ea);if(!_0x458d39)return _0x1874ae(new Error(_0x263aa6(0x135)+_0x40a5ea));const _0x5004b7=require(_0x263aa6(0x120))[_0x263aa6(0x1a6)]({'key':_0x458d39[_0x263aa6(0x1ab)],'cert':_0x458d39[_0x263aa6(0x16e)]});certCache[_0x263aa6(0x1c5)](_0x40a5ea,_0x5004b7),log(_0x263aa6(0x1a3)+_0x40a5ea),_0x1874ae(null,_0x5004b7);}catch(_0x3e389b){err('SNI\x20error\x20for\x20'+_0x40a5ea+':\x20'+_0x3e389b[_0x263aa6(0x137)]),_0x1874ae(_0x3e389b);}}var sslOptions;try{sslOptions={'key':fs[a0_0x2ce670(0xee)](path[a0_0x2ce670(0x144)](MITM_DIR,'rootCA.key')),'cert':fs['readFileSync'](path[a0_0x2ce670(0x144)](MITM_DIR,a0_0x2ce670(0xf1))),'SNICallback':sniCallback};}catch(a0_0x2a06ed){err('Root\x20CA\x20not\x20found:\x20'+a0_0x2a06ed['message']),process[a0_0x2ce670(0x184)](0x1);}var cachedTargetIPs={};async function resolveTargetIP(_0x484ce3){const _0x318467=a0_0x2ce670;if(cachedTargetIPs[_0x484ce3])return cachedTargetIPs[_0x484ce3];const _0x523e3e=new dns[(_0x318467(0x12f))]();_0x523e3e[_0x318467(0x12b)]([_0x318467(0xfb)]);const _0x2c1d60=promisify(_0x523e3e[_0x318467(0x138)]['bind'](_0x523e3e)),_0x59603f=await _0x2c1d60(_0x484ce3);return cachedTargetIPs[_0x484ce3]=_0x59603f[0x0],cachedTargetIPs[_0x484ce3];}function collectBodyRaw(_0x5ed14d){return new Promise((_0x3c6d2d,_0x4c938a)=>{const _0x4e068f=a0_0x528c,_0x20ec95=[];_0x5ed14d['on'](_0x4e068f(0x115),_0x5932dd=>_0x20ec95[_0x4e068f(0x18b)](_0x5932dd)),_0x5ed14d['on'](_0x4e068f(0xf3),()=>_0x3c6d2d(Buffer[_0x4e068f(0x134)](_0x20ec95))),_0x5ed14d['on'](_0x4e068f(0x1ad),_0x4c938a);});}function extractModel(_0x6bbbea,_0x402d7d){const _0x5a116e=a0_0x2ce670,_0x3c03f7=_0x6bbbea[_0x5a116e(0x155)](/\/models\/([^/:]+)/);if(_0x3c03f7)return _0x3c03f7[0x1];try{const _0xb0fc0e=JSON[_0x5a116e(0x147)](_0x402d7d['toString']());if(_0xb0fc0e[_0x5a116e(0x157)])return _0xb0fc0e[_0x5a116e(0x157)][_0x5a116e(0x189)]?.[_0x5a116e(0x1bc)]?.['modelId']||null;return _0xb0fc0e[_0x5a116e(0x12e)]||null;}catch{return null;}}function getMappedModel(_0x567392,_0xc81d6a){const _0x3e70b3=a0_0x2ce670;if(!_0xc81d6a)return null;try{if(!fs[_0x3e70b3(0x1b5)](DB_FILE))return null;const _0x5c2641=JSON['parse'](fs['readFileSync'](DB_FILE,_0x3e70b3(0x1a4))),_0x3fbdb9=_0x5c2641[_0x3e70b3(0x10e)]?.[_0x567392];if(!_0x3fbdb9)return null;if(_0x3fbdb9[_0xc81d6a])return _0x3fbdb9[_0xc81d6a];const _0x4714f1=Object['keys'](_0x3fbdb9)['find'](_0x24abe8=>_0x24abe8&&_0x3fbdb9[_0x24abe8]&&(_0xc81d6a[_0x3e70b3(0x105)](_0x24abe8)||_0x24abe8[_0x3e70b3(0x105)](_0xc81d6a)));return _0x4714f1?_0x3fbdb9[_0x4714f1]:null;}catch{return null;}}function saveRequestLog(_0x2a21c1,_0x15d37f){const _0x249248=a0_0x2ce670;if(!ENABLE_FILE_LOG)return;try{const _0x3d19fd=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x2767ac=_0x2a21c1['replace'](/[^a-zA-Z0-9]/g,'_')[_0x249248(0xec)](0x0,0x3c),_0x253fc4=JSON['parse'](_0x15d37f[_0x249248(0x18e)]());fs[_0x249248(0x1a1)](path[_0x249248(0x144)](LOG_DIR,_0x3d19fd+'_'+_0x2767ac+_0x249248(0x1cb)),JSON['stringify'](_0x253fc4,null,0x2));}catch{}}async function passthrough(_0x4c9f38,_0x198d1d,_0x524c21){const _0x44ac69=a0_0x2ce670,_0x5cdbbb=(_0x4c9f38[_0x44ac69(0xeb)][_0x44ac69(0x18d)]||TARGET_HOSTS[0x0])[_0x44ac69(0xff)](':')[0x0],_0x22d2d7=await resolveTargetIP(_0x5cdbbb),_0x75a01f=https[_0x44ac69(0x15f)]({'hostname':_0x22d2d7,'port':0x1bb,'path':_0x4c9f38['url'],'method':_0x4c9f38[_0x44ac69(0x1bf)],'headers':{..._0x4c9f38['headers'],'host':_0x5cdbbb},'servername':_0x5cdbbb,'rejectUnauthorized':![]},_0x3e46c6=>{const _0x38d907=_0x44ac69;_0x198d1d[_0x38d907(0x150)](_0x3e46c6['statusCode'],_0x3e46c6['headers']),_0x3e46c6[_0x38d907(0x14e)](_0x198d1d);});_0x75a01f['on'](_0x44ac69(0x1ad),_0x24269b=>{const _0x261d85=_0x44ac69;err(_0x261d85(0x16d)+_0x24269b[_0x261d85(0x137)]);if(!_0x198d1d['headersSent'])_0x198d1d[_0x261d85(0x150)](0x1f6);_0x198d1d[_0x261d85(0xf3)](_0x261d85(0x171));});if(_0x524c21[_0x44ac69(0x1b9)]>0x0)_0x75a01f['write'](_0x524c21);_0x75a01f[_0x44ac69(0xf3)]();}var server=https[a0_0x2ce670(0x191)](sslOptions,async(_0x353cc2,_0x1773ce)=>{const _0x23db2f=a0_0x2ce670;try{if(_0x353cc2[_0x23db2f(0xde)]===_0x23db2f(0x14c)){_0x1773ce[_0x23db2f(0x150)](0xc8,{'Content-Type':_0x23db2f(0x124)}),_0x1773ce[_0x23db2f(0xf3)](JSON[_0x23db2f(0x194)]({'ok':!![],'pid':process[_0x23db2f(0x192)]}));return;}const _0x5d56f2=await collectBodyRaw(_0x353cc2);if(_0x5d56f2[_0x23db2f(0x1b9)]>0x0)saveRequestLog(_0x353cc2[_0x23db2f(0xde)],_0x5d56f2);if(_0x353cc2[_0x23db2f(0xeb)][INTERNAL_REQUEST_HEADER['name']]===INTERNAL_REQUEST_HEADER[_0x23db2f(0x173)])return passthrough(_0x353cc2,_0x1773ce,_0x5d56f2);const _0xdff16f=getToolForHost(_0x353cc2['headers'][_0x23db2f(0x18d)]);if(!_0xdff16f)return passthrough(_0x353cc2,_0x1773ce,_0x5d56f2);const _0x1db302=URL_PATTERNS[_0xdff16f]||[],_0x39e6be=_0x1db302[_0x23db2f(0x1c2)](_0x45e54c=>_0x353cc2[_0x23db2f(0xde)]['includes'](_0x45e54c));if(!_0x39e6be)return passthrough(_0x353cc2,_0x1773ce,_0x5d56f2);log(_0x23db2f(0x186)+_0xdff16f+_0x23db2f(0x13b)+_0x353cc2[_0x23db2f(0xde)]+_0x23db2f(0x154)+_0x5d56f2[_0x23db2f(0x1b9)]);const _0x5b1bf0=extractModel(_0x353cc2[_0x23db2f(0xde)],_0x5d56f2);log('🔍\x20['+_0xdff16f+']\x20model=\x22'+_0x5b1bf0+'\x22');const _0x463ec5=getMappedModel(_0xdff16f,_0x5b1bf0);if(!_0x463ec5)return log(_0x23db2f(0x1c4)+_0xdff16f+_0x23db2f(0x1b6)+(_0x5b1bf0||'unknown')),passthrough(_0x353cc2,_0x1773ce,_0x5d56f2);return log('⚡\x20intercept\x20|\x20'+_0xdff16f+_0x23db2f(0x1b6)+_0x5b1bf0+_0x23db2f(0x175)+_0x463ec5),handlers[_0xdff16f][_0x23db2f(0xe6)](_0x353cc2,_0x1773ce,_0x5d56f2,_0x463ec5,passthrough);}catch(_0xf21025){err('Unhandled\x20error:\x20'+_0xf21025[_0x23db2f(0x137)]);if(!_0x1773ce[_0x23db2f(0x174)])_0x1773ce[_0x23db2f(0x150)](0x1f4,{'Content-Type':_0x23db2f(0x124)});_0x1773ce[_0x23db2f(0xf3)](JSON[_0x23db2f(0x194)]({'error':{'message':_0xf21025[_0x23db2f(0x137)],'type':_0x23db2f(0x139)}}));}});server[a0_0x2ce670(0x143)](LOCAL_PORT,()=>log(a0_0x2ce670(0x1ba)+LOCAL_PORT)),server['on'](a0_0x2ce670(0x1ad),_0x46cf5a=>{const _0x5d627b=a0_0x2ce670;if(_0x46cf5a[_0x5d627b(0x18c)]===_0x5d627b(0x18f))err(_0x5d627b(0x158)+LOCAL_PORT+_0x5d627b(0x1cd));else{if(_0x46cf5a[_0x5d627b(0x18c)]==='EACCES')err(_0x5d627b(0x17d)+LOCAL_PORT);else err(_0x46cf5a['message']);}process[_0x5d627b(0x184)](0x1);});function a0_0x528c(_0x1a261c,_0x76c0f3){_0x1a261c=_0x1a261c-0xde;const _0x1ddb7f=a0_0x1ddb();let _0x528cff=_0x1ddb7f[_0x1a261c];if(a0_0x528c['OiJJoW']===undefined){var _0x15a010=function(_0x491816){const _0x369a66='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15b9d9='',_0x37c1cb='';for(let _0x5b69b5=0x0,_0x42fdeb,_0x8a01ff,_0x3cbfdb=0x0;_0x8a01ff=_0x491816['charAt'](_0x3cbfdb++);~_0x8a01ff&&(_0x42fdeb=_0x5b69b5%0x4?_0x42fdeb*0x40+_0x8a01ff:_0x8a01ff,_0x5b69b5++%0x4)?_0x15b9d9+=String['fromCharCode'](0xff&_0x42fdeb>>(-0x2*_0x5b69b5&0x6)):0x0){_0x8a01ff=_0x369a66['indexOf'](_0x8a01ff);}for(let _0x58e95e=0x0,_0x5153c8=_0x15b9d9['length'];_0x58e95e<_0x5153c8;_0x58e95e++){_0x37c1cb+='%'+('00'+_0x15b9d9['charCodeAt'](_0x58e95e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37c1cb);};a0_0x528c['lafKjF']=_0x15a010,a0_0x528c['RGUZJM']={},a0_0x528c['OiJJoW']=!![];}const _0x1eef33=_0x1ddb7f[0x0],_0x33bd03=_0x1a261c+_0x1eef33,_0x51e6d2=a0_0x528c['RGUZJM'][_0x33bd03];return!_0x51e6d2?(_0x528cff=a0_0x528c['lafKjF'](_0x528cff),a0_0x528c['RGUZJM'][_0x33bd03]=_0x528cff):_0x528cff=_0x51e6d2,_0x528cff;}var shutdown=()=>server[a0_0x2ce670(0x19b)](()=>process[a0_0x2ce670(0x184)](0x0));process['on'](a0_0x2ce670(0x17a),shutdown),process['on'](a0_0x2ce670(0xef),shutdown);if(process[a0_0x2ce670(0x1b8)]===a0_0x2ce670(0xe2))process['on'](a0_0x2ce670(0x193),shutdown);
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|