n9router 0.3.87 → 0.3.89
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/callback.html +1 -1
- package/.next/standalone/.next/server/app/callback.rsc +12 -12
- package/.next/standalone/.next/server/app/callback.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/callback.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/callback.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/callback.segments/callback.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/basic-chat.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/cli-tools.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/cli-tools.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/combos.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/combos.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/endpoint.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/endpoint.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/mitm.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/mitm.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/profile.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/profile.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers/new.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers/new.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/quota.html +2 -2
- package/.next/standalone/.next/server/app/dashboard/quota.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/translator.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard/usage.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/usage.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.html +1 -1
- package/.next/standalone/.next/server/app/dashboard.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/landing.html +1 -1
- package/.next/standalone/.next/server/app/landing.rsc +12 -12
- package/.next/standalone/.next/server/app/landing.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/landing.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/landing.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/landing.segments/landing.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +12 -12
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.yvcis._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0148t9m._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b802lh._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kpc-o6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lc~.sk._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lp_pm5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pwrfp1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uw3x8s._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y.reft._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y5ae.7._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0itng60._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_00c58qj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_0_xhepz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_providers_[id]_page_0-3xvzc.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/0b285gqd-hcvu.js +1 -0
- package/.next/standalone/.next/static/chunks/{0fic3ew7j~9an.js → 0hgyabetclndg.js} +1 -1
- package/.next/standalone/mitm/paths.js +17 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/publish-npm.sh +2 -0
- package/.next/standalone/src/app/(dashboard)/dashboard/providers/[id]/page.js +2 -1
- package/.next/standalone/src/mitm/paths.js +17 -0
- package/.next/static/chunks/0b285gqd-hcvu.js +1 -0
- package/.next/static/chunks/{0fic3ew7j~9an.js → 0hgyabetclndg.js} +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/static/chunks/09g0cm09ynuao.js +0 -1
- package/.next/static/chunks/09g0cm09ynuao.js +0 -1
- /package/.next/standalone/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_ssgManifest.js +0 -0
- /package/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_buildManifest.js +0 -0
- /package/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{p9jVbJQhFsaISYB4CfDfF → XSoZ0BJFg1b0W2IGyybf7}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}let E=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",E),process.off("SIGINT",E),process.off("SIGTERM",E),process.off("exit",E),process.on("beforeExit",E),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E)),e.s(["getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.87",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
|
|
1
|
+
module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}let E=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",E),process.off("SIGINT",E),process.off("SIGTERM",E),process.off("exit",E),process.on("beforeExit",E),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E)),e.s(["getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.89",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0b802lh._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,o)=>{t.exports=e.x("os",()=>require("os"))},93695,(e,t,o)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,o)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},27699,(e,t,o)=>{t.exports=e.x("events",()=>require("events"))},88077,e=>{"use strict";let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Google has tightened Gemini CLI abuse detection and restricted Pro models to paid accounts (Mar 25, 2026). Using this provider may violate ToS and risk account bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"}},o={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo · Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}}},i={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"Antigravity has tightened abuse detection and restricted model access. Using this provider may violate ToS and risk account bans."},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},r={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},a="openai-compatible-",n="anthropic-compatible-",s={...t,...o,...i,...r};function l(e){for(let t of Object.values(s))if(t.alias===e||t.id===e)return t;return null}Object.values(s).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(s).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,s,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,r,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,o,"OAUTH_PROVIDERS",0,i,"OPENAI_COMPATIBLE_PREFIX",0,a,"getProviderAlias",0,function(e){let t=s[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(n)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(a)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.87",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},53526,e=>{"use strict";var t=e.i(20491);Object.entries(e.i(88077).AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let o=Object.entries(t.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,o])},55870,e=>{"use strict";var t=e.i(12943);e.i(88077),e.i(53526),t.default.version,e.s(["CONSOLE_LOG_CONFIG",0,{maxLines:200,pollIntervalMs:1e3}])},39838,e=>{"use strict";var t=e.i(27699),o=e.i(55870);let i=["log","info","warn","error","debug"];e.g._consoleLogBufferState||(e.g._consoleLogBufferState={logs:[],patched:!1,originals:{},emitter:new t.EventEmitter},e.g._consoleLogBufferState.emitter.setMaxListeners(50));let r=e.g._consoleLogBufferState;r.emitter||(r.emitter=new t.EventEmitter,r.emitter.setMaxListeners(50));let a=/\x1b\[[0-9;]*m/g;function n(e){return e.replace(a,"")}function s(e){if("string"==typeof e)return n(e);if(e instanceof Error)return n(e.stack||e.message||String(e));try{return n(JSON.stringify(e))}catch{return n(String(e))}}e.s(["clearConsoleLogs",0,function(){r.logs=[],r.emitter.emit("clear")},"getConsoleEmitter",0,function(){return r.emitter},"getConsoleLogs",0,function(){return r.logs},"initConsoleLogCapture",0,function(){if(!r.patched){for(let e of i)r.originals[e]=console[e],console[e]=(...t)=>{!function(e){r.logs.push(e);let t=o.CONSOLE_LOG_CONFIG.maxLines;r.logs.length>t&&(r.logs=r.logs.slice(-t)),r.emitter.emit("line",e)}(t.map(s).join(" ")),r.originals[e](...t)};r.patched=!0}}])},5453,e=>{"use strict";var t=e.i(47909),o=e.i(74017),i=e.i(96250),r=e.i(59756),a=e.i(61916),n=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),m=e.i(70101),g=e.i(26937),h=e.i(10372),x=e.i(93695);e.i(20232);var b=e.i(220),f=e.i(89171),w=e.i(39838);async function v(){try{let e=(0,w.getConsoleLogs)();return f.NextResponse.json({success:!0,logs:e})}catch(e){return console.error("Error getting console logs:",e),f.NextResponse.json({success:!1,error:e.message},{status:500})}}async function y(){try{return(0,w.clearConsoleLogs)(),f.NextResponse.json({success:!0})}catch(e){return console.error("Error clearing console logs:",e),f.NextResponse.json({success:!1,error:e.message},{status:500})}}(0,w.initConsoleLogCapture)(),e.s(["DELETE",0,y,"GET",0,v],56417);var I=e.i(56417);let E=new t.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/translator/console-logs/route",pathname:"/api/translator/console-logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/translator/console-logs/route.js",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:R}=E;async function O(e,t,i){i.requestMeta&&(0,r.setRequestMeta)(e,i.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/translator/console-logs/route";f=f.replace(/\/index$/,"")||"/";let w=await E.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:v,params:y,nextConfig:I,parsedUrl:C,isDraftMode:A,prerenderManifest:R,routerServerContext:O,isOnDemandRevalidate:_,revalidateOnlyGenerated:F,resolvedPathname:k,clientReferenceManifest:N,serverActionsManifest:P}=w,D=(0,s.normalizeAppPath)(f),S=!!(R.dynamicRoutes[D]||R.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(S&&!A){let e=!!R.routes[k],t=R.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await q();throw new x.NoFallbackError}}let L=null;!S||E.isDev||A||(L="/index"===(L=k)?"/":L);let M=!0===E.isDev||!S,T=S&&!M;P&&N&&(0,n.setManifestsSingleton)({page:f,clientReferenceManifest:N,serverActionsManifest:P});let j=e.method||"GET",B=(0,a.getTracer)(),G=B.getActiveScopeSpan(),H=!!(null==O?void 0:O.isWrappedByNextServer),U=!!(0,r.getRequestMeta)(e,"minimalMode"),V=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,I,R,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let K={params:y,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,o,i,r)=>E.onRequestError(e,t,i,r,O)},sharedContext:{buildId:v}},$=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let r,n=async e=>E.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let o=B.getRootSpanAttributes();if(!o)return;if(o.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${o.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=o.get("next.route");if(i){let t=`${j} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",i),r.updateName(t))}else e.updateName(`${j} ${f}`)}),s=async r=>{var a,s;let l=async({previousCacheEntry:o})=>{try{if(!U&&_&&F&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(r);e.fetchMetrics=K.renderOpts.fetchMetrics;let s=K.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let l=K.renderOpts.collectedTags;if(!S)return await (0,u.sendResponse)($,X,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let o=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:o,expire:i}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:T,isOnDemandRevalidate:_})},!1,O),t}},c=await E.handleResponse({req:e,nextConfig:I,cacheKey:L,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:F,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:U});if(!S)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return U&&S||d.delete(h.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)($,X,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};H&&G?await s(G):(r=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${j} ${f}`,kind:a.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},s),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:T,isOnDemandRevalidate:_})},!1,O),S)throw t;return await (0,u.sendResponse)($,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,R,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],5453)}];
|
|
1
|
+
module.exports=[46786,(e,t,o)=>{t.exports=e.x("os",()=>require("os"))},93695,(e,t,o)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,o)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,o)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},27699,(e,t,o)=>{t.exports=e.x("events",()=>require("events"))},88077,e=>{"use strict";let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Google has tightened Gemini CLI abuse detection and restricted Pro models to paid accounts (Mar 25, 2026). Using this provider may violate ToS and risk account bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"}},o={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo · Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}}},i={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"Antigravity has tightened abuse detection and restricted model access. Using this provider may violate ToS and risk account bans."},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},r={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},a="openai-compatible-",n="anthropic-compatible-",s={...t,...o,...i,...r};function l(e){for(let t of Object.values(s))if(t.alias===e||t.id===e)return t;return null}Object.values(s).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(s).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,s,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,r,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,o,"OAUTH_PROVIDERS",0,i,"OPENAI_COMPATIBLE_PREFIX",0,a,"getProviderAlias",0,function(e){let t=s[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(n)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(a)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.89",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},53526,e=>{"use strict";var t=e.i(20491);Object.entries(e.i(88077).AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let o=Object.entries(t.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,o])},55870,e=>{"use strict";var t=e.i(12943);e.i(88077),e.i(53526),t.default.version,e.s(["CONSOLE_LOG_CONFIG",0,{maxLines:200,pollIntervalMs:1e3}])},39838,e=>{"use strict";var t=e.i(27699),o=e.i(55870);let i=["log","info","warn","error","debug"];e.g._consoleLogBufferState||(e.g._consoleLogBufferState={logs:[],patched:!1,originals:{},emitter:new t.EventEmitter},e.g._consoleLogBufferState.emitter.setMaxListeners(50));let r=e.g._consoleLogBufferState;r.emitter||(r.emitter=new t.EventEmitter,r.emitter.setMaxListeners(50));let a=/\x1b\[[0-9;]*m/g;function n(e){return e.replace(a,"")}function s(e){if("string"==typeof e)return n(e);if(e instanceof Error)return n(e.stack||e.message||String(e));try{return n(JSON.stringify(e))}catch{return n(String(e))}}e.s(["clearConsoleLogs",0,function(){r.logs=[],r.emitter.emit("clear")},"getConsoleEmitter",0,function(){return r.emitter},"getConsoleLogs",0,function(){return r.logs},"initConsoleLogCapture",0,function(){if(!r.patched){for(let e of i)r.originals[e]=console[e],console[e]=(...t)=>{!function(e){r.logs.push(e);let t=o.CONSOLE_LOG_CONFIG.maxLines;r.logs.length>t&&(r.logs=r.logs.slice(-t)),r.emitter.emit("line",e)}(t.map(s).join(" ")),r.originals[e](...t)};r.patched=!0}}])},5453,e=>{"use strict";var t=e.i(47909),o=e.i(74017),i=e.i(96250),r=e.i(59756),a=e.i(61916),n=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),m=e.i(70101),g=e.i(26937),h=e.i(10372),x=e.i(93695);e.i(20232);var b=e.i(220),f=e.i(89171),w=e.i(39838);async function v(){try{let e=(0,w.getConsoleLogs)();return f.NextResponse.json({success:!0,logs:e})}catch(e){return console.error("Error getting console logs:",e),f.NextResponse.json({success:!1,error:e.message},{status:500})}}async function y(){try{return(0,w.clearConsoleLogs)(),f.NextResponse.json({success:!0})}catch(e){return console.error("Error clearing console logs:",e),f.NextResponse.json({success:!1,error:e.message},{status:500})}}(0,w.initConsoleLogCapture)(),e.s(["DELETE",0,y,"GET",0,v],56417);var I=e.i(56417);let E=new t.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/translator/console-logs/route",pathname:"/api/translator/console-logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/translator/console-logs/route.js",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:R}=E;async function O(e,t,i){i.requestMeta&&(0,r.setRequestMeta)(e,i.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/translator/console-logs/route";f=f.replace(/\/index$/,"")||"/";let w=await E.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:v,params:y,nextConfig:I,parsedUrl:C,isDraftMode:A,prerenderManifest:R,routerServerContext:O,isOnDemandRevalidate:_,revalidateOnlyGenerated:F,resolvedPathname:k,clientReferenceManifest:N,serverActionsManifest:P}=w,D=(0,s.normalizeAppPath)(f),S=!!(R.dynamicRoutes[D]||R.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(S&&!A){let e=!!R.routes[k],t=R.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await q();throw new x.NoFallbackError}}let L=null;!S||E.isDev||A||(L="/index"===(L=k)?"/":L);let M=!0===E.isDev||!S,T=S&&!M;P&&N&&(0,n.setManifestsSingleton)({page:f,clientReferenceManifest:N,serverActionsManifest:P});let j=e.method||"GET",B=(0,a.getTracer)(),G=B.getActiveScopeSpan(),H=!!(null==O?void 0:O.isWrappedByNextServer),U=!!(0,r.getRequestMeta)(e,"minimalMode"),V=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,I,R,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let K={params:y,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,o,i,r)=>E.onRequestError(e,t,i,r,O)},sharedContext:{buildId:v}},$=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let r,n=async e=>E.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let o=B.getRootSpanAttributes();if(!o)return;if(o.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${o.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=o.get("next.route");if(i){let t=`${j} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",i),r.updateName(t))}else e.updateName(`${j} ${f}`)}),s=async r=>{var a,s;let l=async({previousCacheEntry:o})=>{try{if(!U&&_&&F&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(r);e.fetchMetrics=K.renderOpts.fetchMetrics;let s=K.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let l=K.renderOpts.collectedTags;if(!S)return await (0,u.sendResponse)($,X,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let o=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:o,expire:i}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:T,isOnDemandRevalidate:_})},!1,O),t}},c=await E.handleResponse({req:e,nextConfig:I,cacheKey:L,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:F,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:U});if(!S)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return U&&S||d.delete(h.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)($,X,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};H&&G?await s(G):(r=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${j} ${f}`,kind:a.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},s),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:T,isOnDemandRevalidate:_})},!1,O),S)throw t;return await (0,u.sendResponse)($,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,R,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],5453)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0kpc-o6._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.89",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},54804,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),v=e.i(10372),m=e.i(93695);e.i(20232);var g=e.i(220),f=e.i(24836),b=e.i(12943);async function R(){let e=await new Promise(e=>{let t=f.default.get("https://registry.npmjs.org/9router/latest",{timeout:4e3},t=>{let r="";t.on("data",e=>r+=e),t.on("end",()=>{try{e(JSON.parse(r).version||null)}catch{e(null)}})});t.on("error",()=>e(null)),t.on("timeout",()=>{t.destroy(),e(null)})}),t=b.default.version,r=!!e&&function(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let e=0;e<3;e++){if(r[e]>n[e])return 1;if(r[e]<n[e])return -1}return 0}(e,t)>0;return Response.json({currentVersion:t,latestVersion:e,hasUpdate:r})}e.s(["GET",0,R],85284);var w=e.i(85284);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:N}=y;async function A(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),y.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/version/route";f=f.replace(/\/index$/,"")||"/";let b=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:E,parsedUrl:C,isDraftMode:N,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:T,resolvedPathname:q,clientReferenceManifest:_,serverActionsManifest:P}=b,S=(0,i.normalizeAppPath)(f),j=!!(A.dynamicRoutes[S]||A.routes[q]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(j&&!N){let e=!!A.routes[q],t=A.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await D();throw new m.NoFallbackError}}let I=null;!j||y.isDev||N||(I="/index"===(I=q)?"/":I);let H=!0===y.isDev||!j,M=j&&!H;P&&_&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:_,serverActionsManifest:P});let U=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==k?void 0:k.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,E,A,V);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>y.onRequestError(e,t,n,a,k)},sharedContext:{buildId:R}},L=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let a,o=async e=>y.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${U} ${f}`)}),i=async a=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!V&&O&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(L,W,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),t}},u=await y.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:V});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return V&&j||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(L,W,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};K&&F?await i(F):(a=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof m.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,k),j)throw t;return await (0,c.sendResponse)(L,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,y,"serverHooks",0,N,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C],54804)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0lc~.sk._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),o=e.i(50227),n=e.i(60526),s=e.i(2157);let a="u">typeof caches&&"object"==typeof caches,i=function(){if(a)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=n.default.homedir();return o.default.join(e,".n9router")}(),l=a?null:o.default.join(i,"request-details.json");a||s.default.existsSync(i)||s.default.mkdirSync(i,{recursive:!0});let c=null;async function u(){if(a)return null;if(!c){let e=new r.JSONFile(l),o=new t.Low(e,{records:[]});await o.read(),o.data?.records||(o.data={records:[]}),c=o}return c}let d=null,p=0;async function f(){if(d&&Date.now()-p<5e3)return d;try{let{getSettings:t}=await e.A(62724),r=await t(),o="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:o,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),d}let y=[],h=null,E=!1;async function m(){if(!a&&!E&&0!==y.length){E=!0;try{let e=[...y];y=[];let t=await u(),r=await f();for(let o of e){o.id||(o.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),o=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${o}`}(o.model)),o.timestamp||(o.timestamp=new Date().toISOString()),o.request?.headers&&(o.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(o.request.headers));let e={id:o.id,provider:o.provider||null,model:o.model||null,connectionId:o.connectionId||null,timestamp:o.timestamp,status:o.status||null,latency:o.latency||{},tokens:o.tokens||{},request:o.request||{},providerRequest:o.providerRequest||{},providerResponse:o.providerResponse||{},response:o.response||{}},n=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>n&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{E=!1}}}async function _(e){if(a)return;let t=await f();t.enabled&&(y.push(e),y.length>=t.batchSize?(await m(),h&&(clearTimeout(h),h=null)):h||(h=setTimeout(()=>{m().catch(()=>{}),h=null},t.flushIntervalMs)))}async function w(e={}){if(a)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,o=e.page||1,n=e.pageSize||50,s=Math.ceil(r/n);return{details:t.slice((o-1)*n,o*n),pagination:{page:o,pageSize:n,totalItems:r,totalPages:s,hasNext:o<s,hasPrev:o>1}}}let R=async()=>{h&&(clearTimeout(h),h=null),y.length>0&&await m()};a||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,w,"saveRequestDetail",0,_])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.87",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,r={}){let o,n=(o=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${o}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...r};return n&&(s.Authorization=n),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},r={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},o={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,o,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,r,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),r=e.i(86345);let o="u">typeof caches&&"object"==typeof caches,n=globalThis.fetch,s=new Map,a=new Map,i=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],l=["8.8.8.8","8.8.4.4"];function c(e){return null==e?"":String(e).trim()}async function u(t){let o=a.get(t);if(o&&Date.now()<o.expiry)return o.ip;try{let o=await e.A(57408),{promisify:n}=await e.A(34777),s=new o.Resolver;s.setServers(l);let i=n(s.resolve4.bind(s)),c=await i(t);return a.set(t,{ip:c[0],expiry:Date.now()+r.MEMORY_CONFIG.dnsCacheTtlMs}),c[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let r,o=c(t);if(!o)return!1;try{r=new URL(e).hostname.toLowerCase()}catch{return!1}return o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?r.endsWith(e)||r===e.slice(1):r===e||r.endsWith(`.${e}`)))}function p(e){let t=c(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function f(t){let o=p(t);if(!o)return null;if(!s.has(o)){s.size>=r.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(o,new t({uri:o}))}return s.get(o)}async function y(r,o,n){let s=await e.A(67955),a=await e.A(8884),i=s.default??s,l=a.default??a;return new Promise((e,s)=>{let a=new l.Socket;a.connect(443,o,()=>{let o={socket:a,servername:r.hostname,rejectUnauthorized:!1,path:r.pathname+r.search,method:n.method||"POST",headers:{...n.headers,Host:r.hostname}},l=i.request(o,r=>{let o={ok:r.statusCode>=200&&r.statusCode<300,status:r.statusCode,statusText:r.statusMessage,headers:new Map(Object.entries(r.headers)),body:t.Readable.toWeb(r),text:async()=>{let e=[];for await(let t of r)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await o.text())};e(o)});l.on("error",s),n.body&&l.write("string"==typeof n.body?n.body:JSON.stringify(n.body)),l.end()}),a.on("error",s)})}async function h(e,t={},r=null){let o="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let r=c(t?.url??t?.connectionProxyUrl);if(!r)return null;let o=c(t?.noProxy??t?.connectionNoProxy);return o&&d(e,o)?null:p(r)}(o,r),a=s?null:p(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(o)),l=s||a;if(function(e){try{let t=new URL(e).hostname;return i.some(e=>t.includes(e))}catch{return!1}}(o)){if(l)try{let r=await f(l);return await n(e,{...t,dispatcher:r})}catch(e){if(r?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(o),r=await u(e.hostname);if(r)return await y(e,r,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(l)try{let r=await f(l);return await n(e,{...t,dispatcher:r})}catch(e){if(r?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return n(e,t)}async function E(e,t={}){return h(e,t,null)}o||globalThis.fetch===E||(globalThis.fetch=E),e.s(["proxyAwareFetch",0,h])}];
|
|
1
|
+
module.exports=[92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),o=e.i(50227),n=e.i(60526),s=e.i(2157);let a="u">typeof caches&&"object"==typeof caches,i=function(){if(a)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=n.default.homedir();return o.default.join(e,".n9router")}(),l=a?null:o.default.join(i,"request-details.json");a||s.default.existsSync(i)||s.default.mkdirSync(i,{recursive:!0});let c=null;async function u(){if(a)return null;if(!c){let e=new r.JSONFile(l),o=new t.Low(e,{records:[]});await o.read(),o.data?.records||(o.data={records:[]}),c=o}return c}let d=null,p=0;async function f(){if(d&&Date.now()-p<5e3)return d;try{let{getSettings:t}=await e.A(62724),r=await t(),o="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:o,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),d}let y=[],h=null,E=!1;async function m(){if(!a&&!E&&0!==y.length){E=!0;try{let e=[...y];y=[];let t=await u(),r=await f();for(let o of e){o.id||(o.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),o=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${o}`}(o.model)),o.timestamp||(o.timestamp=new Date().toISOString()),o.request?.headers&&(o.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(o.request.headers));let e={id:o.id,provider:o.provider||null,model:o.model||null,connectionId:o.connectionId||null,timestamp:o.timestamp,status:o.status||null,latency:o.latency||{},tokens:o.tokens||{},request:o.request||{},providerRequest:o.providerRequest||{},providerResponse:o.providerResponse||{},response:o.response||{}},n=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>n&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{E=!1}}}async function _(e){if(a)return;let t=await f();t.enabled&&(y.push(e),y.length>=t.batchSize?(await m(),h&&(clearTimeout(h),h=null)):h||(h=setTimeout(()=>{m().catch(()=>{}),h=null},t.flushIntervalMs)))}async function w(e={}){if(a)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,o=e.page||1,n=e.pageSize||50,s=Math.ceil(r/n);return{details:t.slice((o-1)*n,o*n),pagination:{page:o,pageSize:n,totalItems:r,totalPages:s,hasNext:o<s,hasPrev:o>1}}}let R=async()=>{h&&(clearTimeout(h),h=null),y.length>0&&await m()};a||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,w,"saveRequestDetail",0,_])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.89",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,r={}){let o,n=(o=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${o}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...r};return n&&(s.Authorization=n),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},r={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},o={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,o,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,r,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),r=e.i(86345);let o="u">typeof caches&&"object"==typeof caches,n=globalThis.fetch,s=new Map,a=new Map,i=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],l=["8.8.8.8","8.8.4.4"];function c(e){return null==e?"":String(e).trim()}async function u(t){let o=a.get(t);if(o&&Date.now()<o.expiry)return o.ip;try{let o=await e.A(57408),{promisify:n}=await e.A(34777),s=new o.Resolver;s.setServers(l);let i=n(s.resolve4.bind(s)),c=await i(t);return a.set(t,{ip:c[0],expiry:Date.now()+r.MEMORY_CONFIG.dnsCacheTtlMs}),c[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let r,o=c(t);if(!o)return!1;try{r=new URL(e).hostname.toLowerCase()}catch{return!1}return o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?r.endsWith(e)||r===e.slice(1):r===e||r.endsWith(`.${e}`)))}function p(e){let t=c(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function f(t){let o=p(t);if(!o)return null;if(!s.has(o)){s.size>=r.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(o,new t({uri:o}))}return s.get(o)}async function y(r,o,n){let s=await e.A(67955),a=await e.A(8884),i=s.default??s,l=a.default??a;return new Promise((e,s)=>{let a=new l.Socket;a.connect(443,o,()=>{let o={socket:a,servername:r.hostname,rejectUnauthorized:!1,path:r.pathname+r.search,method:n.method||"POST",headers:{...n.headers,Host:r.hostname}},l=i.request(o,r=>{let o={ok:r.statusCode>=200&&r.statusCode<300,status:r.statusCode,statusText:r.statusMessage,headers:new Map(Object.entries(r.headers)),body:t.Readable.toWeb(r),text:async()=>{let e=[];for await(let t of r)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await o.text())};e(o)});l.on("error",s),n.body&&l.write("string"==typeof n.body?n.body:JSON.stringify(n.body)),l.end()}),a.on("error",s)})}async function h(e,t={},r=null){let o="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let r=c(t?.url??t?.connectionProxyUrl);if(!r)return null;let o=c(t?.noProxy??t?.connectionNoProxy);return o&&d(e,o)?null:p(r)}(o,r),a=s?null:p(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(o)),l=s||a;if(function(e){try{let t=new URL(e).hostname;return i.some(e=>t.includes(e))}catch{return!1}}(o)){if(l)try{let r=await f(l);return await n(e,{...t,dispatcher:r})}catch(e){if(r?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(o),r=await u(e.hostname);if(r)return await y(e,r,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(l)try{let r=await f(l);return await n(e,{...t,dispatcher:r})}catch(e){if(r?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return n(e,t)}async function E(e,t={}){return h(e,t,null)}o||globalThis.fetch===E||(globalThis.fetch=E),e.s(["proxyAwareFetch",0,h])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0lp_pm5._.js.map
|