keyrouter 0.5.112 → 1.0.1
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/README.md +25 -24
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +17 -17
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/!KGRhc2hib2FyZCk/dashboard/prompt-injection/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +17 -17
- package/app/.next-cli-build/server/chunks/1051.js +1 -1
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/2172.js +1 -1
- package/app/.next-cli-build/server/chunks/241.js +1 -1
- package/app/.next-cli-build/server/chunks/5299.js +9 -9
- package/app/.next-cli-build/server/chunks/5330.js +1 -1
- package/app/.next-cli-build/server/chunks/6457.js +2 -2
- package/app/.next-cli-build/server/chunks/6844.js +1 -1
- package/app/.next-cli-build/server/chunks/8128.js +1 -1
- package/app/.next-cli-build/server/chunks/8682.js +1 -1
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/9100.js +1 -1
- package/app/.next-cli-build/server/chunks/915.js +1 -1
- package/app/.next-cli-build/server/chunks/9604.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +2 -2
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/static/chunks/{5497-77e34471f37e6768.js → 5497-4143e2f4a33b35c0.js} +1 -1
- package/app/.next-cli-build/static/chunks/761-00700c1c25957243.js +132 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-7feaa4a67a8eb771.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f01d3cbfee3be6ee.js → page-3529b621905c9456.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-c7eb81dfb0b4fd77.js +1 -0
- package/app/.next-cli-build/static/chunks/app/landing/page-38fc3c430a1a29dc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/{layout-550c275a217c95ee.js → layout-71be9ce7abb4aae6.js} +1 -1
- package/app/package.json +1 -1
- package/app/public/i18n/literals/fa.json +1 -1
- package/app/public/i18n/literals/id.json +1 -1
- package/app/public/i18n/literals/km.json +1 -1
- package/app/public/i18n/literals/pt-BR.json +1 -1
- package/app/public/i18n/literals/th.json +1 -1
- package/app/public/i18n/literals/zh-CN.json +1 -1
- package/app/src/lib/updater/updater.js +1 -1
- package/app/src/mitm/server.js +1 -1
- package/app/src/shared/utils/apiKey.js +1 -1
- package/cli.js +2 -2
- package/hooks/trayRuntime.js +1 -1
- package/package.json +1 -1
- package/src/cli/api/client.js +2 -2
- package/src/cli/commands/connect.js +4 -4
- package/src/cli/commands/xaiVideo.js +1 -1
- package/src/cli/menus/providers.js +1 -1
- package/src/cli/menus/settings.js +1 -1
- package/app/.next-cli-build/static/chunks/761-3602d74d7fb3c4f7.js +0 -132
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-8e4de2642dc5b61a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-879d27966cca2817.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-a571fd8ce400407b.js +0 -1
- /package/app/.next-cli-build/static/{KpzwnjevLsu722eDHato6 → wTD5mq2ZL1sjwGEojp_4w}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{KpzwnjevLsu722eDHato6 → wTD5mq2ZL1sjwGEojp_4w}/_ssgManifest.js +0 -0
|
@@ -263,7 +263,7 @@ ${e}`),j.join("\n\n")}(y),A=y.some(a=>"user"===a.role&&"string"==typeof a.conten
|
|
|
263
263
|
|
|
264
264
|
`)),b.enqueue(a.encode(e.$U)),b.close()}finally{await l.close().catch(()=>{}),await d.close().catch(()=>{});let{releaseGeminiBrowser:a}=await c.e(9745).then(c.bind(c,92126));await a(f)}}},{highWaterMark:16384});return{response:new Response(g,{status:200,headers:{...e.uB}}),url:D,headers:{},transformedBody:b}}let s=await x({page:l,baseCount:o.count,baseText:o.lastText,signal:h});return{response:new Response(JSON.stringify(G(s,B)),{status:200,headers:{"Content-Type":"application/json"}}),url:D,headers:{},transformedBody:b}}catch(c){let a=c instanceof Error?c.message:"Unknown error";if((0,f.BE)(a))return{response:R(503,"Gemini Web needs a Chrome/Chromium binary. Install Google Chrome, set KEYROUTER_BROWSER_BIN or CHROME_PATH to an existing Chrome, or run `npx playwright-core install chromium`."),url:D,headers:{},transformedBody:b};if(c instanceof Error&&("TimeoutError"===c.name||a.includes("waitForSelector")||a.includes("Timeout")||a.includes("actionability")||a.includes("interception")))return{response:R(400,a),url:D,headers:{},transformedBody:b};return{response:R(500,a),url:D,headers:{},transformedBody:b}}finally{K&&h?.removeEventListener("abort",K);try{await J?.close()}catch{}if(C){let{releaseGeminiBrowser:a}=await c.e(9745).then(c.bind(c,92126));await a(C)}}}async generateMedia({prompt:a,n:b=1,size:d,credentials:e,signal:f,log:g}){if(!a)throw Error("prompt is required for image generation");let h=Q(e);if(!h)throw Error("Missing Gemini cookies");let j=[];for(let e=0;e<Math.max(1,b);e++){let b=null,e=null;try{let{acquireGeminiBrowser:g}=await c.e(9745).then(c.bind(c,92126));b=await g(F),e=await b.newContext({userAgent:E}),await e.addCookies((0,i.EU)(h,".google.com"));let k=await e.newPage(),l=await M(k),m=await N(k,l);await m.click(),await k.keyboard.insertText(function(a,b){let c=b?` (aspect ratio ${b})`:"";return`Generate an image${c}: ${a}`}(a,d)),await k.waitForTimeout(300),await k.keyboard.press("Enter");let n=await C(k,{signal:f});j.push(n)}finally{try{await e?.close()}catch{}if(b){let{releaseGeminiBrowser:a}=await c.e(9745).then(c.bind(c,92126));await a(b)}}}return j}}},32447:(a,b,c)=>{c.d(b,{BL:()=>g});var d=c(96179),e=c(52007);let f=["anthropic_version","anthropic_beta","client_metadata","mcp_servers","stop_sequences","thinking","top_k"];class g extends d.L{constructor(){super("kimchi")}transformRequest(a,b,c,d){let g,h=super.transformRequest(a,b,c,d);if(!h||"object"!=typeof h)return h;for(let a of(!function(a){var b;if(!a?.system||!Array.isArray(a.messages))return;let c=("string"==typeof(b=a.system)?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:"string"==typeof a?.text?a.text:"").filter(Boolean).join("\n"):"").trim();if(!c)return;let d=a.messages.find(a=>a?.role==="system");d?"string"==typeof d.content?d.content=`${c}
|
|
265
265
|
|
|
266
|
-
${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):a.messages.unshift({role:"system",content:c})}(h),f))void 0!==h[a]&&delete h[a];if(delete h.system,g=(0,e.gK)(a),(g?.provider==="anthropic"||g?.upstreamProvider==="anthropic"||/(^|[-_/])(?:claude|anthropic)(?:[-_/]|$)/i.test(String(a||"")))&&(delete h.reasoning_effort,delete h.reasoning,delete h.thinking),Array.isArray(h?.messages))for(let a of h.messages)a&&"object"==typeof a&&(delete a.cache_control,Array.isArray(a.content)&&(a.content=a.content.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,signature:c,...d}=a;return d})));Array.isArray(h?.tools)&&(h.tools=h.tools.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,...c}=a;return c}));if(Array.isArray(h?.messages))for(let a of h.messages)a&&"assistant"===a.role&&"string"==typeof a.reasoning_content&&a.reasoning_content.length>8&&delete a.reasoning_content;return h}}},36732:(a,b,c)=>{c.d(b,{Rb:()=>h});var d=c(96179),e=c(12132);let f=new Set(["mimo-v2.6-pro","mimo-v2.6-flash","mimo-v2.6-pro-ultraspeed"]),g="__mimoAccountCookie";class h extends d.L{constructor(){super("xiaomi-mimo")}static isAccountRoute(a,b){let c,d,e=(d=(c=String(a||"")).indexOf("/"))>=0?c.slice(d+1):c;return!!f.has(e)&&!!(b?.[g]||b?.providerSpecificData?.mimoPassToken)}isAccountRoute(a,b){return h.isAccountRoute(a,b)}buildUrl(a,b,c=0,d=null){return this.isAccountRoute(a,d)?`${(0,e.resolveMimoServerBase)(d?.providerSpecificData)}/api/route/chat/completions`:super.buildUrl(a,b,c,d)}buildHeaders(a,b=!0,c,d){return this.isAccountRoute(d,a)&&a?.[g]?{"Content-Type":"application/json",Accept:b?"text/event-stream":"application/json","User-Agent":e.MIMO_API_UA,Cookie:a[g]}:super.buildHeaders(a,b,c,d)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);if(this.isAccountRoute(a,d)){let a=e.reasoning_effort||b?.reasoning_effort||b?.output_config?.effort;if(a){delete e.reasoning_effort;let b="xhigh"===String(a).toLowerCase()?"high":String(a).toLowerCase();e.output_config={...e.output_config||{},effort:b}}null==e.temperature&&(e.temperature=1),null==e.top_p&&(e.top_p=.95)}return e}async execute(a){let{model:b,credentials:c,proxyOptions:d=null}=a;if(!this.isAccountRoute(b,c))return super.execute(a);let f=await (0,e.getMimoAccountCookie)(c?.providerSpecificData,d);if(!f)return super.execute(a);c[g]=f;let h=await super.execute(a);if(401===h.response.status){(0,e.invalidateMimoAccountCookieCache)();let b=await (0,e.getMimoAccountCookie)(c?.providerSpecificData,d).catch(()=>null);if(b)return c[g]=b,super.execute(a)}return h}}},49059:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f="You are a helpful AI assistant that helps with software engineering tasks.",g=/you are claude code|claude.?code.+official.+cli|anthropic.+official.+cli|anxthxropic.+official.+cli|you are (?:cursor|windsurf|cline|aider|continue|copilot|cody)|you are an? (?:ai )?(?:coding |code )?agent|cc_entrypoint\s*=\s*(?:cli|vscode|jetbrains|gui)|claude.?code.+issues|give feedback.+claude.?code|you are .{0,30}(?:powerful )?ai agent|orchestration capabilities|OhMyOpenCode|<agent-identity>|<Role>|<Behavior_Instructions>/i;Array.isArray(e.messages)&&(e.messages=e.messages.map(a=>{let b;if(!a||"system"!==a.role)return a;let c="string"==typeof(b=a.content)?b:Array.isArray(b)?b.map(a=>a&&"string"==typeof a.text?a.text:"").join("\n"):"";return c&&(c.length>2e3||g.test(c))?"string"==typeof a.content?{...a,content:f}:{...a,content:[{type:"text",text:f}]}:a}));let h=e.reasoning_effort;return"none"===h||"off"===h?delete e.reasoning_effort:h&&(e.reasoning_summary="auto"),e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},49227:(a,b,c)=>{c.d(b,{hG:()=>C});var d=c(77598),e=c.n(d),f=c(74957),g=c(35024),h=c(93943),i=c(37981),j=c(57247),k=c(90737),l=c(41004),m=c(80662),n=c(19713);let o=null;async function p(a="endpoint-proxy-salt"){let b=function(){if(o)return o;try{o=(0,n.machineIdSync)()}catch{o=e().randomUUID()}return o}();return e().createHash("sha256").update(b+a).digest("hex").substring(0,16)}let q=/^(rs|fc|resp|msg)_/,r=new Set(["web_search","x_search","web_search_preview","file_search","image_generation","code_interpreter","mcp","local_shell"]),s=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","include","temperature","top_p","max_output_tokens","parallel_tool_calls","text","metadata","prompt_cache_key"]),t=["low","medium","high","xhigh"],u=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={type:"object",properties:{input:{type:"string"}},required:["input"]},w=new Map,x=new WeakMap;function y(a){let b="string"==typeof a?a.trim().toLowerCase():"";return"max"===b?"xhigh":t.includes(b)?b:"high"}function z(a){return"string"==typeof a?a:void 0===a?"":JSON.stringify(a)}function A(a){return"string"==typeof a&&u.test(a)}function B(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let{internal_chat_message_metadata_passthrough:b,...c}=a;if("reasoning"===a.type)return A(a.id)&&"string"==typeof a.encrypted_content?c:null;if("custom_tool_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",call_id:b,name:c,arguments:JSON.stringify({input:z(a.input??a.arguments)})}:null}if("custom_tool_call_output"===a.type||"function_call_output"===a.type){let b=a.call_id||a.id;return b?{type:"function_call_output",call_id:b,output:z(a.output)}:null}if("function_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",...A(a.id)?{id:a.id}:{},call_id:b,name:c,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments??{}),..."string"==typeof a.status?{status:a.status}:{}}:null}return c}class C extends f.H{constructor(){super("grok-cli",g.xq["grok-cli"]),this._currentSessionId=null,this._currentReqId=null,this._currentTurnIdx=1,this._agentId=null}buildUrl(){return this.config.baseUrl}async refreshCredentials(a,b,c=null){return a?.refreshToken?(0,h.Vq)("grok-cli",a,b,c):null}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);for(let[a,b]of Object.entries(this.config.headers||{}))null!=b&&void 0===c[a]&&(c[a]=b);c["x-grok-client-identifier"]=this.config.clientIdentifier||c["x-grok-client-identifier"]||k.rK,c["x-grok-client-version"]=this.config.clientVersion||c["x-grok-client-version"]||k.uG;let d=this._currentSessionId||a?.connectionId||e().randomUUID(),f=this._currentReqId||e().randomUUID();c["x-grok-session-id"]=d,c["x-grok-conv-id"]=d,c["x-grok-req-id"]=f,c["x-grok-turn-idx"]=String(this._currentTurnIdx||1),this._agentId&&(c["x-grok-agent-id"]=this._agentId),this._currentModel&&(c["x-grok-model-override"]=this._currentModel);let g=a?.providerSpecificData||{},h=g.email||a?.email,i=g.userId||a?.userId||a?.providerUserId;return h&&(c["x-email"]=h),i&&(c["x-userid"]=i),c}parseError(a,b){if(402===a.status&&b)try{let a=JSON.parse(b),c=a?.code||"",d=a?.error||a?.message||b;return{status:402,message:"string"==typeof d?d:b,code:"string"==typeof c?c:void 0}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){let f;this._currentSessionId=(f={prompt_cache_key:b?.prompt_cache_key,session_id:b?.session_id,conversation_id:b?.conversation_id,metadata:b?.metadata},(0,m.oV)({headers:d?.rawHeaders,body:f,connectionId:d?.connectionId||d?.id,workspaceId:d?.providerSpecificData?.workspaceId,scope:"grok-cli"})),this._currentReqId=e().randomUUID(),this._agentId=d?.providerSpecificData?.deviceId||d?.providerSpecificData?.agentId||null;let g=(0,i.me)(b.input);g&&(b.input=g),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(Array.isArray(b.messages)&&b.messages.length>0?(b.input=b.messages.map(a=>({type:"message",role:a.role||"user",content:"string"==typeof a.content?a.content:JSON.stringify(a.content??"")})),delete b.messages):b.input=[{type:"message",role:"user",content:"..."}]),function(a){if(!Array.isArray(a?.input))return;let b=a.input.map(B).filter(Boolean),c=new Set(b.filter(a=>a?.type==="function_call"&&a.call_id).map(a=>a.call_id));a.input=b.filter(a=>a?.type!=="function_call_output"||c.has(a.call_id))}(b),Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&q.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&q.test(a.id)&&!A(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set,c=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d="string"==typeof a.type?a.type:"";if("function"!==d){if(r.has(d))return c.add(d),!0;if(!d&&a.function);else if(d&&"string"!=typeof a.name)return!1}if(!("function"===d||""===d||a.function||"string"==typeof a.name)||r.has(d))return r.has(d);let e=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,f=("string"==typeof a.name?a.name:"string"==typeof e?.name?e.name:"").trim();if(!f)return!1;let g="string"==typeof a.description?a.description:"string"==typeof e?.description?e.description:"",h="custom"===d?v:a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:e?.parameters&&"object"==typeof e.parameters&&!Array.isArray(e.parameters)?e.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=f.slice(0,128),g&&(a.description=g),a.parameters=h,b.add(a.name),!0}),0===a.tools.length){delete a.tools,delete a.tool_choice;return}if(a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)){let d="string"==typeof a.tool_choice.type?a.tool_choice.type:"";if("function"===d||"custom"===d){let c=a.tool_choice.name??a.tool_choice.function?.name,d="string"==typeof c?c.trim().slice(0,128):"";d&&b.has(d)?a.tool_choice={type:"function",name:d}:delete a.tool_choice}else c.has(d)||delete a.tool_choice}}(b),this._currentTurnIdx=function(a,b,c=null){let d=function(a){if(!Array.isArray(a))return 1;let b=0;for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c))continue;let a="string"==typeof c.type?c.type:"";"user"!==c.role||a&&"message"!==a||(b+=1)}return Math.max(1,b)}(b);if(!a)return d;if(c&&x.has(c))return x.get(c);let e=Date.now(),f=w.get(a),g=f&&e-f.lastUsed<=l.v1.sessionTtlMs?f.turn:0;f&&w.delete(a);let h=g>0?Math.max(d,g+ +!!c):d;for(;w.size>=5e3;)w.delete(w.keys().next().value);return w.set(a,{turn:h,lastUsed:e}),c&&x.set(c,h),h}(this._currentSessionId,b.input,b),b.stream=!0,b.store=!1;let h=function(a){if(!a||"string"!=typeof a)return null;for(let b of t)if(a.endsWith(`-${b}`))return b;return null}(b.model||a),n=b.model||a;h&&(n=n.replace(RegExp(`-${h}$`),"")),(n=(0,j.kt)("gcli",n)||n)===(b.model||a)&&(n=(0,j.kt)("grok-cli",n)||n),b.model=n,this._currentModel=n;let o=(0,k.Au)(n);if(b.reasoning&&"object"==typeof b.reasoning?(o?b.reasoning.effort=y(b.reasoning.effort||b.reasoning_effort||h):delete b.reasoning.effort,b.reasoning.summary||(b.reasoning.summary="concise")):(b.reasoning={summary:"concise"},o&&(b.reasoning.effort=y(b.reasoning_effort||h))),delete b.reasoning_effort,b.reasoning&&"none"!==b.reasoning.effort){let a=Array.isArray(b.include)?b.include:[];a.includes("reasoning.encrypted_content")||a.push("reasoning.encrypted_content"),b.include=a}for(let a of(delete b.messages,delete b.max_tokens,delete b.max_completion_tokens,delete b.n,delete b.seed,delete b.logprobs,delete b.top_logprobs,delete b.frequency_penalty,delete b.presence_penalty,delete b.logit_bias,delete b.user,delete b.stream_options,delete b.prompt_cache_retention,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))s.has(a)||delete b[a];return b}async execute(a){if(this._agentId||a.credentials?.providerSpecificData?.deviceId)a.credentials?.providerSpecificData?.deviceId&&(this._agentId=a.credentials.providerSpecificData.deviceId);else try{let a=await p("grok-cli-agent");this._agentId=[a.slice(0,8),a.slice(8,12),"5"+a.slice(13,16),"a"+a.slice(17,20),a.slice(0,12).padEnd(12,"0")].join("-")}catch{this._agentId=e().randomUUID()}return super.execute(a)}}},51349:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-intl")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto");let g=Array.isArray(e.messages)?e.messages:[];for(let a of(e.messages=[{role:"system",content:"You are CodeBuddy Code."}],g))!a||"object"!=typeof a||["system","developer"].includes(a.role)||("user"===a.role&&"string"==typeof a.content?e.messages.push({...a,content:[{type:"text",text:a.content}]}):e.messages.push({...a}));return e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},53307:(a,b,c)=>{c.d(b,{sh:()=>u});var d=c(74957);let e="https://uncensored.com",f="https://clerk.uncensored.com",g="5.127.1",h="https://internal.chatuncensored.ai/v2/image-gen",i={"1:1":{imageWidth:"1024",imageHeight:"1024"},"16:9":{imageWidth:"1024",imageHeight:"576"},"9:16":{imageWidth:"576",imageHeight:"1024"},"4:3":{imageWidth:"1024",imageHeight:"768"},"3:4":{imageWidth:"768",imageHeight:"1024"},"3:2":{imageWidth:"1152",imageHeight:"768"},"2:3":{imageWidth:"768",imageHeight:"1152"},"4:5":{imageWidth:"896",imageHeight:"1120"},"5:4":{imageWidth:"1120",imageHeight:"896"},"21:9":{imageWidth:"1344",imageHeight:"576"}},j={"seedream-v4.5":{name:"Seedream v4.5",aspects:["1:1","16:9","9:16","4:3","3:4"]},"seedream-v5":{name:"Seedream v5",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"seedream-v5-flash":{name:"Seedream v5 Flash",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3","4:5","5:4","21:9"],resolutions:["1k","1.5k","2k"]},"nano-banana-pro-ultra":{name:"Nano Banana Pro Ultra",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["4k","8k"]},"nano-banana-pro":{name:"Nano Banana Pro",aspects:["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"nano-banana":{name:"Nano Banana",aspects:["1:1","9:16","16:9","3:4","4:3","3:2","2:3","5:4","4:5","21:9"]},"nano-banana-2":{name:"Nano Banana 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"gpt-image":{name:"GPT Image 1.5",aspects:["1:1","2:3","3:2"],qualities:["medium","high"]},"gpt-image-2":{name:"GPT Image 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},"gpt-image-2.5-flare":{name:"GPT Image 2.5 Flare",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"gpt-image-2.5-sunburst":{name:"GPT Image 2.5 Sunburst",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"wan-2.6":{name:"Wan 2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.6-image":{name:"Wan 2.6",upstream:"wan-2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image":{name:"Wan 2.7",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image-pro":{name:"Wan 2.7 Pro",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"prefect-pony-xl":{name:"Prefect Pony XL",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"1.0":{name:"Flux.1",aspects:[]},"1.1":{name:"Flux.1.1",aspects:[]},"1.2":{name:"Wan 2.6 (Flux tier)",aspects:[]},"2.0":{name:"Flux.2",aspects:[]},"flux-2-max":{name:"Flux 2 Max",aspects:[]},SDXL:{name:"SDXL uncensored",aspects:[]},realism:{name:"Realism",aspects:[]},"realism-2":{name:"Realism 2",aspects:[]},"z-image-turbo":{name:"Z Image Turbo",aspects:[]}},k={default:{name:"Standard",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},turbo:{name:"Turbo",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored-v2":{name:"Wan Ultra Uncensored v2",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored":{name:"Wan Ultra Uncensored",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.6":{name:"Wan v2.6",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],seconds:[5,8]},"wan-2.6-ultra":{name:"Wan 2.6 Ultra Uncensored",t2v:!0,i2v:!0},"wan-2.7":{name:"Wan 2.7",t2v:!0,i2v:!0},"wan-2.7-pro":{name:"Wan 2.7 Pro",t2v:!0,i2v:!0},"wan-2.7-uncensored":{name:"Wan 2.7 Uncensored",t2v:!0,i2v:!0},"wan-2.7-uncensored-v2":{name:"Wan 2.7 Uncensored v2",t2v:!0,i2v:!0},"wan-3.0":{name:"Wan 3.0",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored":{name:"Wan 3.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored-pro":{name:"Wan 3.0 Uncensored Pro",t2v:!0,i2v:!0,audio:!0},"sora-2":{name:"Sora 2",t2v:!0,i2v:!0,seconds:[4,8,12]},"sora-2-pro":{name:"Sora 2 Pro",t2v:!0,i2v:!0,seconds:[4,8,12]},"grok-imagine-video":{name:"Grok Imagine Video",t2v:!0,i2v:!0},"bytedance-seedance-2.0":{name:"Seedance 2.0",t2v:!0,i2v:!0},"seedance-2.0-fast":{name:"Seedance 2.0 Fast",t2v:!0,i2v:!0},"seedance-2.0-uncensored":{name:"Seedance 2.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-fast-uncensored":{name:"Seedance 2.0 Fast Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-uncensored":{name:"Seedance 2.0 Mini Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-turbo":{name:"Seedance 2.0 Mini Turbo Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-v1.5-pro-uncensored":{name:"Seedance v1.5 Pro Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5-uncensored":{name:"Seedance 2.5 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5":{name:"Seedance 2.5",t2v:!0,i2v:!0,audio:!0},"vidu-q3-uncensored":{name:"Vidu Q3 Uncensored",t2v:!0,i2v:!0},"av-gen-v2":{name:"AV-Gen v2 with audio",t2v:!0,i2v:!0,audio:!0},"cosmos-predict":{name:"Cosmos Predict 2.5",t2v:!0,i2v:!0},"minimax-h3":{name:"MiniMax H3",t2v:!0,i2v:!0},"happyhorse-1.0":{name:"Happy Horse 1.0",t2v:!0,i2v:!0},"wan/v2.2-a14b":{name:"Wan v2.2-a14b",t2v:!0,i2v:!0}};function l(a){let b=new Map;for(let c of String(a||"").split(";")){let a=c.indexOf("=");if(a<0)continue;let d=c.slice(0,a).trim();d&&b.set(d,c.slice(a+1).trim())}return b}function m(a){try{let b=a.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(Buffer.from(b+"=".repeat((4-b.length%4)%4),"base64").toString("utf8"))}catch{return null}}function n(a){return[...a.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}function o(a,b){for(let c of"function"==typeof a.headers.getSetCookie?a.headers.getSetCookie():[]){let a=String(c).split(";")[0],d=a.indexOf("=");if(d>0&&a.slice(0,d).trim()===b)return a.slice(d+1).trim()}return""}async function p(a,b,c){let d=m(a)?.sid;if("string"==typeof d&&d)return{sid:d,rotatedClient:""};let e=await fetch(`${f}/v1/client?_clerk_js_version=${g}`,{headers:b,signal:c});if(!e.ok)return{sid:"",rotatedClient:""};let h=o(e,"__client"),i=await e.json().catch(()=>null),j=i?.response??i?.client??i,k=Array.isArray(j?.sessions)?j.sessions:[],l=k.find(a=>a?.status==="active")??k[0];return{sid:"string"==typeof l?.id?l.id:"",rotatedClient:h}}async function q(a,b){let c=l(a),d=c.get("__client");if(!d)throw Object.assign(Error("UC credential missing the __client cookie — paste the full uncensored.com Cookie header from a logged-in session"),{status:401});let h={Cookie:n(c),Origin:e,Referer:`${e}/`,Accept:"application/json"},i=await p(d,h,b),j=i.sid;if(!j)throw Object.assign(Error("UC Clerk session not found — the __client cookie has no active session. Log in again via Login via Browser"),{status:401});let k=await fetch(`${f}/v1/client/sessions/${encodeURIComponent(j)}/tokens?_clerk_js_version=${g}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Origin:e,Referer:`${e}/`,Cookie:n(c)},body:"",signal:b});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC Clerk token mint failed (HTTP ${k.status}) ${a}`),{status:k.status})}let q=o(k,"__client")||i.rotatedClient,r=await k.json().catch(()=>null),s=r?.jwt;if("string"!=typeof s||!s)throw Object.assign(Error("UC Clerk token mint returned no jwt"),{status:502});let t=m(s)?.uid;return{jwt:s,uid:"string"==typeof t?t:"",rotatedClient:q}}async function r(a,{signal:b,log:c,intervalMs:d=5e3,timeoutMs:f=3e5}){let g=Date.now()+f;for(;Date.now()<g;){if(b?.aborted)throw Error("aborted");await new Promise(a=>setTimeout(a,d));let f=0;try{f=(await fetch(a,{method:"HEAD",headers:{Referer:`${e}/`},signal:b})).status}catch{f=0}if(200===f)return;f>=400&&f<500&&429!==f&&c?.warn?.("UC-WEB",`result poll got HTTP ${f} — continuing until timeout`)}throw Error("UC result did not become available in time")}async function s(a,{signal:b}){let c=await fetch(a,{headers:{Referer:`${e}/`},signal:b});if(!c.ok)throw Error(`UC result download failed (HTTP ${c.status})`);return{b64:Buffer.from(await c.arrayBuffer()).toString("base64"),mime:(c.headers.get("content-type")||"").split(";")[0]||"application/octet-stream"}}async function t(a,b,c){let d=/^data:[^;]*;base64,(.*)$/.exec(String(a));if(d)return Buffer.from(d[1],"base64");if(/^https?:\/\//i.test(String(a))){let c=await fetch(a,{signal:b,headers:{Accept:"image/*","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"}});if(!c.ok)throw Error(`input image download failed (HTTP ${c.status})`);return Buffer.from(await c.arrayBuffer())}try{return Buffer.from(String(a),"base64")}catch{return c?.error?.("UC-WEB","could not decode input image"),null}}class u extends d.H{constructor(){super("uc-web",{id:"uc-web",baseUrl:"https://internal.chatuncensored.ai"})}async execute(){return{response:new Response(JSON.stringify({error:{message:"uc-web is a media provider — use /v1/images/generations or /v1/videos/generations",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:{}}}async generateMedia({prompt:a,kind:b="image",size:c,model:d,duration:f,resolution:g,images:m,credentials:o,signal:p,log:u}){if("image"!==b&&"video"!==b)throw Error("uc-web supports image and video generation only");if(!a?.trim())throw Error("prompt is required");let v=String(o?.apiKey||""),{jwt:w,uid:x,rotatedClient:y}=await q(v,p),z=function(a,b){if(!b)return"";let c=l(a);return c.get("__client")===b?"":(c.set("__client",b),n(c))}(v,y);z&&o&&(o.apiKey=z);let A={Authorization:`Bearer ${w}`,Origin:e,Referer:`${e}/`,"Content-Type":"application/json"};if("image"===b){let b=d||"seedream-v4.5";if(!j[b])throw Object.assign(Error(`Unknown UC image model "${b}" — see the provider's model list`),{status:400});let e=j[b],f={prompt:a,mode:"dev",model_version:e.upstream||b,m_n_user:!0,moderationMode:"SUPER_LIGHT",country:"US",vdiscount:!1,...function(a,b){let c=String(a||"").trim(),d=Array.isArray(b)&&b.length?b:null,e=i[c]&&(!d||d.includes(c))?{aspect_ratio:c,...i[c]}:null;if(e)return e;if(c.includes("x")){let[a,b]=c.split("x").map(Number);if(Number.isFinite(a)&&Number.isFinite(b)&&a>0&&b>0){let c=null,e=1/0;for(let[f,g]of Object.entries(i)){if(d&&!d.includes(f))continue;let h=Math.abs(Number(g.imageWidth)/Number(g.imageHeight)-a/b);h<e&&(e=h,c=f)}if(c)return{aspect_ratio:c,...i[c]}}}let f=d?.[0]||"1:1";return{aspect_ratio:f,...i[f]}}(c,e.aspects)};if(e.resolutions?.length){let a=String(g||"").toLowerCase();f.resolution=e.resolutions.includes(a)?a:e.resolutions[0]}let k=await fetch(h,{method:"POST",headers:A,body:JSON.stringify(f),signal:p});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC image request failed (HTTP ${k.status}) ${a}`),{status:k.status})}let l=await k.json().catch(()=>null),m="string"==typeof l?.url?l.url:"";if(!m)throw Error("UC image response carried no result url");return await r(m,{signal:p,log:u}),[await s(m,{signal:p})]}let B=d||"default";if(!k[B])throw Object.assign(Error(`Unknown UC video model "${B}" — see the provider's model list`),{status:400});let C=k[B],D=Array.isArray(m)?m[0]:m;if(D&&!1===C.i2v)throw Error(`UC video model "${B}" does not accept an input image`);if(!D&&!1===C.t2v)throw Error(`UC video model "${B}" requires an input image`);let E=Number(f)>0?Number(f):C.seconds?.[0]??5,F=C.resolutions?.length?C.resolutions.includes(String(g||""))?String(g):C.resolutions[0]:"480p",G={prompt:a,media_blob_name:null,num_frames:Math.round(16*E)+1,frames_per_second:16,num_inference_steps:30,guide_scale:5,shift:5,aspect_ratio:C.aspects?.includes("auto")?"auto":"9:16",pro_mode:"wan-3.0-uncensored-pro"===B,turbo:"turbo"===B,resolution:F,sora_resolution:F,end_frame_blob_name:null,model:B,seconds:E,video_to_video_duration:E,vdiscount:!1};if(D){if(!x)throw Object.assign(Error("Could not derive the account uid — re-paste the full Cookie header"),{status:401});let a=await t(D,p,u);if(!a)throw Error("UC image-to-video could not decode the input image");let b=await fetch("https://internal-6.pubyar.com/generate-signed-url",{method:"POST",headers:A,body:JSON.stringify({content_type:"image/png",user_identifier:x}),signal:p});if(!b.ok){let a=(await b.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC signed-url request failed (HTTP ${b.status}) ${a}`),{status:b.status})}let c=await b.json().catch(()=>null);if(!c?.signed_url||!c?.blob_name)throw Error("UC signed-url response missing signed_url or blob_name");let d=await fetch(c.signed_url,{method:"PUT",headers:{"Content-Type":"image/png"},body:new Uint8Array(a),signal:p});if(!d.ok)throw Object.assign(Error(`UC input-image upload failed (HTTP ${d.status})`),{status:d.status});G.media_blob_name=c.blob_name}let H=await fetch("https://internal.chatuncensored.ai/image_to_video",{method:"POST",headers:A,body:JSON.stringify(G),signal:p});if(!H.ok){let a=(await H.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC video request failed (HTTP ${H.status}) ${a}`),{status:H.status})}let I=await H.json().catch(()=>null),J="string"==typeof I?.url?I.url:"";if(!J)throw Error("UC video response carried no result url");let K=Number.isFinite(Number(I?.timeout_seconds))&&Number(I.timeout_seconds)>0?1e3*Number(I.timeout_seconds):3e5;return await r(J,{signal:p,log:u,timeoutMs:K}),[await s(J,{signal:p})]}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{getExecutor:()=>Q});var e=c(39536),f=c(98625),g=c(19696),h=c(95128),i=c(11655),j=c(61433),k=c(77333),l=c(76467),m=c(32447),n=c(19932),o=c(19946),p=c(73870),q=c(63094),r=c(13120),s=c(17373),t=c(77919),u=c(49227),v=c(23013),w=c(59192),x=c(29166),y=c(20690),z=c(88331),A=c(53307),B=c(70298),C=c(9708),D=c(90926),E=c(26878),F=c(36732),G=c(16046),H=c(49059),I=c(51349),J=c(85308),K=c(98665),L=c(93509),M=c(96179),N=c(83243),O=c(95089);c(74957);var P=a([o]);o=(P.then?(await P)():P)[0];let R={antigravity:new e.c,azure:new f.P,"gemini-cli":new h.V,github:new i.x,iflow:new j.r,qoder:new k.DH,"qoder-cn":new k.DH("qoder-cn"),kiro:new l.B,kimchi:new m.BL,codex:new n.T,cursor:new o.ou,cu:new o.ou,vertex:new p.w("vertex"),"vertex-partner":new p.w("vertex-partner"),opencode:new q.j9,"opencode-go":new r.H,"opencode-zen":new s.mO,"grok-web":new t.$,"grok-cli":new u.hG,gcli:new u.hG,gb:new u.hG,"perplexity-web":new v.Ay,"deepseek-web":new w.id,"gemini-web":new x.dQ,"muse-web":new y._5,"veoaifree-web":new z.Q,"veo-free":new z.Q,"uc-web":new A.sh,"chatgpt-web":new B.RF,"ollama-local":new C.D,commandcode:new D.Ak,"xiaomi-tokenplan":new E.F,"xiaomi-mimo":new F.Rb,"mimo-free":new G.Yh,mmf:new G.Yh,"codebuddy-cn":new H.v,"codebuddy-intl":new I.m,trae:new J.A,zed:new K.A,windsurf:new L.Ay,"minimax-code":new N.M("minimax-code"),"minimax-code-global":new N.M("minimax-code-global"),"devin-cli":new O.c,bedrock:new g.UD,br:new g.UD,"bedrock-xai":new g.UD("bedrock-xai"),brx:new g.UD("bedrock-xai")},S=new Map;function Q(a){return R[a]?R[a]:(S.has(a)||S.set(a,new M.L(a)),S.get(a))}d()}catch(a){d(a)}})},59192:(a,b,c)=>{c.d(b,{id:()=>ao});var d=c(74957),e=c(78959),f=c(92536),g=c(73024),h=c(76760),i=c.n(h),j=c(75919);new Uint32Array(10);let k=[],l=[],m=new Uint32Array(24),n=new Uint32Array(24);{let a=1n,b=1,c=0;for(let d=0;d<24;d++){let e=c,f=(2*b+3*c)%5;b=e,c=f,k.push(2*(5*c+b)),l.push((d+1)*(d+2)/2%64);let g=0n;for(let b=0;b<7;b++)2n&(a=(a<<1n^(a>>7n)*113n)%256n)&&(g^=1n<<(1n<<BigInt(b))-1n);m[d]=Number(4294967295n&g),n[d]=Number(g>>32n&4294967295n)}}let o=/^[a-f0-9]{64}$/i,p=0;function q(){let a=Error("DeepSeek PoW computation aborted");return a.name="AbortError",a}async function r(a,b,c,d,e,f={}){return function(a,b={}){let{signal:c}=b;if(c?.aborted)return Promise.reject(q());if(p>=2)return Promise.reject(Error("DeepSeek PoW worker capacity reached (2)"));let d=function(a){if(void 0===a)return 1e4;if(!Number.isSafeInteger(a)||a<1||a>3e4)throw Error("DeepSeek PoW timeout must be an integer from 1 to 30000ms");return a}(b.timeoutMs);return p+=1,new Promise((b,e)=>{let f;try{f=new j.Worker(function(){let a=i().join(process.cwd(),"open-sse/lib/deepseek-pow-worker.mjs");if(!(0,g.existsSync)(a))throw Error(`DeepSeek PoW worker script not found at ${a}`);return a}(),{workerData:a})}catch(a){p=Math.max(0,p-1),e(a instanceof Error?a:Error(String(a)));return}let h=!1,k=(a,b)=>{h||(h=!0,clearTimeout(m),c?.removeEventListener("abort",l),p=Math.max(0,p-1),b&&f.terminate(),a())},l=()=>{k(()=>e(q()),!0)},m=setTimeout(()=>{k(()=>e(Error(`DeepSeek PoW computation exceeded ${d}ms`)),!0)},d);c?.addEventListener("abort",l,{once:!0}),f.once("message",a=>{!Number.isSafeInteger(a)||a<-1?k(()=>e(Error("DeepSeek PoW worker returned an invalid answer")),!0):k(()=>b(a),!1)}),f.once("error",a=>{k(()=>e(a),!0)}),f.once("exit",a=>{0!==a?k(()=>e(Error(`DeepSeek PoW worker exited with code ${a}`)),!1):k(()=>e(Error("DeepSeek PoW worker exited without an answer")),!1)})})}(function(a,b,c,d,e){if("DeepSeekHashV1"!==a)throw Error(`Unsupported DeepSeek PoW algorithm: ${a}`);if(!o.test(b))throw Error("DeepSeek PoW challenge must be a 64-character SHA3-256 hex digest");if("string"!=typeof c||0===c.length||c.length>1024)throw Error("DeepSeek PoW salt must contain 1-1024 characters");if(!Number.isSafeInteger(d)||d<1||d>25e4)throw Error("DeepSeek PoW difficulty must be an integer from 1 to 250000");if(!Number.isSafeInteger(e)||e<0)throw Error("DeepSeek PoW expiry must be a non-negative safe integer");return{challenge:b.toLowerCase(),prefix:`${c}_${e}_`,difficulty:d}}(a,b,c,d,e),f)}var s=c(14229),t=c(70452);let u=new((c.n(t))())({strict:!1,allErrors:!1,validateFormats:!1}),v=new WeakMap;function w(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function x(a,b,c){let d=Array.isArray(a)?a.find(a=>a?.function?.name===b)??null:null;if(!d)return!1;let e=d.function?.parameters;if(void 0===e)return!0;if(("object"!=typeof e||null===e)&&"boolean"!=typeof e)return!1;let f=v.get(a);f||(f=new Map,v.set(a,f));let g=f.get(b);if(void 0===g){try{g=u.compile(e)}catch{g=null}f.set(b,g)}return!!g&&!0===g(c)}function y(a,b,c){if(!b.toolCalls)return b;let d=(0,s.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,s.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};let g=b._nonce;if(void 0!==g&&g!==d)return{content:a,toolCalls:null};let{_nonce:h,...i}=b;if(!x(c,f.function.name,i))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(i)}})}return{content:b.content,toolCalls:e}}function z(a){return"string"==typeof a&&!!a.trim()&&(!!/<\/?(?:|||\|\|?)DSML(?:|||\|\|?)\s*(?:calls|invoke|parameter)\b/i.test(a)||/<\/?(?:tool|tool_call)(?::|\s|>)/i.test(a))}function A(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let B=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function C(a,b){let c=RegExp(`\\b${b}\\s*=\\s*("|')`).exec(a);if(!c)return null;let d=c[1],e=c.index+c[0].length,f="";for(;e<a.length;){let b=a[e];if("\\"===b){f+=a[e+1]??"",e+=2;continue}if(b===d)break;f+=b,e+=1}return f}function D(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let E=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function F(a){return"string"==typeof a&&a.length>0?a:null}let G="[||]",H=`${G}{2}DSML${G}{2}`,I=RegExp(`</?${H}\\s*(?:calls|invoke|parameter)\\b[^>]*>|<${H}\\s*/\\s*(?:calls|invoke|parameter)\\s*>`,"gi");function J(a,b,c){let d=[],e=RegExp(`(?:</?${H}\\s*${b}\\b([^>]*)>|<${H}\\s*/\\s*${b}\\s*>)`,"gi"),f=null;for(;null!==(f=e.exec(a));)d.push({start:c+f.index,end:c+e.lastIndex,attrs:f[1]??""});return d}function K(a,b,c,d,e){let f=C(a.attrs,"name");if(!f)return null;let g=b?b.start:d,h=J(c.slice(a.end,g),"parameter",a.end),i={},j=a.end;for(let a=0;a<h.length;a+=1){let b=h[a],d=C(b.attrs,"name");if(!d)continue;let e=h[a+1],f=c.slice(b.end,e?e.start:g).trim();i[d]=""!==f?f:C(b.attrs,"content")??"",j=e?e.end:g}if(!Object.values(i).some(a=>""!==a))return null;let k=(0,s.Ub)(f,e)??f;return{start:a.start,end:b?b.end:j,name:k,args:i}}let L=/<[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)([^>]*)>/gi,M=/<\/[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)\s*>/gi,N=/<(?:(?:\|DSML\|)|(?:||DSML||))invoke\b([^>]*)>([\s\S]*?)<\/(?:(?:\|DSML\|)|(?:||DSML||))invoke\s*>/gi,O=/<(?:(?:\|DSML\|)|(?:||DSML||))parameter\b([^>]*)>([\s\S]*?)(?:<\/(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>|<(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>)/gi,P=/<(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\b[^>]*>[^]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\s*>/i,Q=/(?:<\|tool_call_begin\|>|<|tool▁call▁begin|>)[\s\n]*([^<\s]+)[\s\n]*(?:<\|tool_call_argument_begin\|>|<|tool▁call▁argument▁begin|>)([\s\S]*?)(?:<\|tool_call_argument_end\|>|<|tool▁call▁argument▁end|>)[\s\n]*(?:<\|tool_call_end\|>|<|tool▁call▁end|>)/g;function R(a){try{return JSON.parse(a)}catch{return null}}function S(a,b,c){let d=Array.isArray(c)?c.find(a=>a?.function?.name===b):void 0,e=d?.function?.parameters?.properties;if(!e||"object"!=typeof e)return a;for(let[b,c]of Object.entries(a))e[b]?.type==="string"&&"string"!=typeof c&&(a[b]=JSON.stringify(c));return a}function T(a,b="call",c){var d,e,f;if("string"!=typeof a||0===a.length)return{content:a??"",toolCalls:null};a=a.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"");let g=(0,s.x2)(c),h=(d=a,RegExp(`</?${H}\\s*(?:calls|invoke|parameter)\\b`,"i").test(d))?function(a,b){let c=[],d=[],e=RegExp(`<${H}\\s*calls\\s*>([\\s\\S]*?)(?:</${H}\\s*calls\\s*>|<${H}\\s*/\\s*calls\\s*>)`,"gi"),f=RegExp(`(?:</${H}\\s*calls\\s*>|<${H}\\s*/\\s*calls\\s*>)\\s*$`,"i"),g=[],h=null;for(;null!==(h=e.exec(a));){let i={start:h.index,end:e.lastIndex};g.push(i);let j=h[1],k=h.index+h[0].indexOf(j),l=f.exec(h[0]);d.push({start:h.index,end:k}),d.push({start:h.index+(l?l.index:h[0].length),end:h.index+h[0].length});let m=J(j,"invoke",k);for(let d=0;d<m.length;d+=1){if(!C(m[d].attrs,"name"))continue;let e=K(m[d],m[d+1],a,k+j.length,b);e&&c.push(e),m[d+1]&&(d+=1)}}let i=J(a,"invoke",0).filter(a=>!g.some(b=>a.start>=b.start&&a.end<=b.end));for(let d=0;d<i.length;d+=1){if(!C(i[d].attrs,"name"))continue;let e=K(i[d],i[d+1],a,a.length,b);e&&c.push(e),i[d+1]&&(d+=1)}return{calls:c.sort((a,b)=>a.start-b.start),strip:d}}(a,g):null,i=h&&h.calls.length>0?h:null;if(!i){let d=/<tool\b|<tool:/.test(a),g=a=>(a.toolCalls?.length??0)>0||!d,h=function(a,b,c){if(!/<(?:(?:||DSML||)|(?:\|DSML\|))/.test(a))return{content:a,toolCalls:null,recognized:!1};let d=(0,s.x2)(c),e=(0,s.OA)(c),f=[],g=[],h=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,i=null,j=!1,k=!1;for(;null!==(i=h.exec(a));){let a;j=!0;let l=(0,s.Ub)(i[2],d);if(!e||!l){k=!0;continue}let m=function(a){let b={},c=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,d=null;for(;null!==(d=c.exec(a));){let a=d[2].trim();b[d[1]]=R(a)??a}if(Object.keys(b).length>0)return b;let e=R(a.trim()||"{}");return e&&"object"==typeof e&&!Array.isArray(e)&&Object.assign(b,e),b}(i[3]),n=w(m.arguments);if((m._nonce??n?._nonce)!==e){k=!0;continue}if(n){let{_nonce:b,...c}=n;a=c}else{let{_nonce:b,name:c,...d}=m;a=d}if(!x(c,l,a)){k=!0;continue}f.push({id:`${b}_${f.length}`,type:"function",function:{name:l,arguments:JSON.stringify(a)}}),g.push({start:i.index,end:h.lastIndex})}if(k||0===f.length)return{content:a,toolCalls:null,recognized:j};let l=/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,m=null;for(;null!==(m=l.exec(a));)g.push({start:m.index,end:l.lastIndex});return{content:(0,s.LW)(a,g),toolCalls:f,recognized:!0}}(a,b,c);if(h.recognized&&g(h))return y(a,h,c);let i=function(a,b,c){let d=(0,s.x2)(c),e=[],f=[];Q.lastIndex=0;let g=null;for(;null!==(g=Q.exec(a));){let a=(0,s.Ub)(g[1],d),h=R(g[2].trim());if(!a||!h||"object"!=typeof h||Array.isArray(h))continue;let i=S(h,a,c);e.push({id:`${b}_${e.length}`,type:"function",function:{name:a,arguments:JSON.stringify(i)}}),f.push({start:g.index,end:g.index+g[0].length})}!function(a,b,c,d,e,f){N.lastIndex=0;let g=null;for(;null!==(g=N.exec(a));){let a=C(g[1]||"","name"),h=a?(0,s.Ub)(a,c):null;if(!h)continue;let{args:i,found:j}=function(a){let b={},c=!1;O.lastIndex=0;let d=null;for(;null!==(d=O.exec(a));){let a=C(d[1]||"","name");if(!a)continue;let e=d[2].trim();b[a]=R(e)??e,c=!0}return{args:b,found:c}}(g[2]);if(!j&&g[2].trim())continue;let k=S(i,h,d);e.push({id:`${b}_${e.length}`,type:"function",function:{name:h,arguments:JSON.stringify(k)}}),f.push({start:g.index,end:g.index+g[0].length})}}(a,b,d,c,e,f),e.length>0&&function(a,b){let c=/<(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>[\s\S]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>/gi,d=null;for(;null!==(d=c.exec(a));){let a=d.index,c=a+d[0].length;b.some(b=>b.start>=a&&b.end<=c)&&b.push({start:a,end:c})}}(a,f);let h=P.test(a)||/<(?:(?:\|tool_call_)|(?:|tool▁call▁))/.test(a);return 0===e.length?{content:a,toolCalls:null,recognized:h}:{content:(0,s.LW)(a,f),toolCalls:e,recognized:h}}(a,b,c);if(i.recognized&&g(i))return y(a,i,c);e=(f=e=a).includes("DSML")?f.replace(L,(a,b,c)=>{let d=b.toLowerCase();if("calls"===d)return"";let e=C(c,"name"),f=null!==e?` name="${e}"`:"";return"invoke"===d?`<tool${f}>`:`<parameter${f}>`}).replace(M,(a,b)=>{let c=b.toLowerCase();return"calls"===c?"":"invoke"===c?"</tool>":"</parameter>"}):f,(/[||]{1,2}DSML[||]{1,2}/i.test(e)||/<parameter\b/i.test(e)||/<\/(?:parameter|invoke|arguments|calls|tool_calls|function_calls)>/i.test(e)||e.includes("This response is AI-generated, for reference only."))&&(e=(e=e.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"")).replace(/<\/?(?:[||]{1,2})DSML(?:[||]{1,2})\s*(?:calls|tool_calls|function_calls)>/gi,"").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?invoke\b/gi,"<$1tool").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?parameter\b/gi,"<$1parameter").replace(/(}\s*)<\/(?:parameter|invoke|calls|tool_calls|function_calls)>/gi,"$1"),/<parameter\b/i.test(e)&&!/<tool\b/i.test(e)&&(e=e.replace(/((?:<parameter\b[\s\S]*?<\/parameter>\s*)+)/gi,"<tool>$1</tool>"))),a=e}let j=function(a){let b=[],c=null;for(B.lastIndex=0;null!==(c=B.exec(a));)b.push({start:c.index,end:B.lastIndex,closing:"/"===c[1],suffix:c[2]?c[2].slice(1):"",attrs:c[3]||""});return b}(a);if(0===j.length&&!i)return y(a,(0,s.uQ)(a,b,c),c);let k=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){let a=c?.function;if(!a?.name)continue;let d=a.parameters,e=d?.properties;e&&"object"==typeof e&&!Array.isArray(e)?b.set(a.name,new Set(Object.keys(e))):b.set(a.name,new Set)}return b}(c),l=function(a,b){let c=[],d=[];for(let b of a){if(!b.closing){d.push(b);continue}let a=d.pop();a&&c.push({open:a,close:b,innerStart:a.end,innerEnd:b.start})}for(let a of d){let d={start:b,end:b,closing:!0,suffix:"",attrs:""};c.push({open:a,close:d,innerStart:a.end,innerEnd:b})}return c}(j,a.length),m=[],n=(0,s.OA)(c);for(let b of l.filter(a=>!l.some(b=>b!==a&&b.open.start>=a.innerStart&&b.close.end<=a.innerEnd)).sort((a,b)=>a.open.start-b.open.start)){let c=b.open.suffix||C(b.open.attrs,"name")||C(b.open.attrs,"id")||"",d=a.slice(b.innerStart,b.innerEnd).replace(I,""),e=function(a,b,c,d){let e,f=b.trim(),g=D(f,"name"),h=D(f,"arguments")??D(f,"parameters"),i=h?null:function(a){let b={},c=!1,d=null;for(E.lastIndex=0;null!==(d=E.exec(a));){let a=d[1]||"",e=d[2],f=C(a,"name");if(!f)continue;let g=C(a,"content")??("string"==typeof e?e.trim():"");b[f]=g,c=!0}return c?b:null}(f),j=!!g||!!h||!!i,k=j?null:(0,s.n)(f);if(!k&&!j){let a=function(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d="",e=!1;for(let f=b;f<a.length;f+=1){let g=a[f];if(e){e=!1;continue}if(d){"\\"===g?e=!0:g===d&&(d="");continue}if('"'===g||"'"===g){d=g;continue}if("{"===g){c+=1;continue}if("}"===g&&0==(c-=1))return a.slice(b,f+1)}return null}(f);a&&(k=(0,s.n)(a))}let l=k?F(k.name)??F(k.type):null,m=g?(0,s.Ub)(g,c):null,n=l?(0,s.Ub)(l,c):null,o=a?(0,s.Ub)(a,c):null,p=null,q=!1,r=(a,b)=>{!p&&a&&(p=a,q=b)};if(r(m,!1),r(n,!1),r(o,!0),r(g,!1),r(l,!1),r(a,!0),!p&&!a&&k){let a=F(k.command),b=a?(0,s.Ub)(a,c):null;b&&(p=b,q=!1)}if(!p&&i&&d&&d.size>0){let a=Object.keys(i);if(a.length>0){let b=[];for(let[c,e]of d)e.size>0&&a.every(a=>e.has(a))&&b.push(c);1===b.length&&(p=b[0],q=!1)}}if(!p)return null;if(h)e=(0,s.n)(h)??h;else if(i)e=i;else if(k)if(void 0!==k.arguments)e=k.arguments;else if(void 0!==k.params)e=k.params;else if(q)e=k;else{let{name:a,type:b,id:c,command:d,arguments:f,params:g,...h}=k;e=h}else e={};return{name:p,arguments:(0,s.r3)(e)}}(c,d,g,k);if(e){if(n){let a=(0,s.n)(d);if(a&&"string"==typeof a.name&&void 0!==a._nonce&&a._nonce!==n)continue}m.push({start:b.open.start,end:b.close.end,call:e})}}let o=[];if(i)for(let a of(o=i.strip,i.calls))m.push({start:a.start,end:a.end,call:{name:a.name,arguments:(0,s.r3)(a.args)}});if(0===m.length)return{content:a,toolCalls:null};m.sort((a,b)=>a.start-b.start);let p=[],q=[];for(let a of m)p.push({id:`${b}_${p.length}`,type:"function",function:{name:a.call.name,arguments:a.call.arguments}}),q.push({start:a.start,end:a.end});let r=[...q,...o,...j.filter(a=>!q.some(b=>a.start>=b.start&&a.end<=b.end)).map(a=>({start:a.start,end:a.end}))],t=(0,s.LW)(a,r);return p.length>0&&(t=t.replace(/<parameter\b[^>]*>[\s\S]*?(?:<\/parameter>|$)/gi,"").replace(/<\/?(?:parameter|invoke|tool|calls|tool_calls|function_calls)\b[^>]*>/gi,"").replace(/\n{3,}/g,"\n\n").trim()),function(a,b,c){if(!b.toolCalls)return b;let d=(0,s.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,s.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};if(!("_nonce"in b)){e.push(f);continue}if(b._nonce!==d)return{content:a,toolCalls:null};let{_nonce:g,...h}=b;if(!x(c,f.function.name,h))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(h)}})}return{content:b.content,toolCalls:e}}(a,{content:t,toolCalls:p},c)}function U(a,{min:b=-Number.MAX_SAFE_INTEGER,max:c=Number.MAX_SAFE_INTEGER}={}){return Number.isSafeInteger(a)&&a>=b&&a<=c}async function V(a){let b=await fetch("https://chat.deepseek.com/api/v0/chat/create_pow_challenge",{method:"POST",headers:{...a.headers,"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`},body:JSON.stringify({target_path:a.targetPath}),signal:a.signal??void 0});if(!b.ok)throw Error(`create_pow_challenge HTTP ${b.status}`);let c=await b.json(),d={...c?.data?.biz_data?.challenge??c?.biz_data?.challenge,target_path:a.targetPath};if(!d||"string"!=typeof d.algorithm||"string"!=typeof d.challenge||"string"!=typeof d.salt||"string"!=typeof d.signature||!U(d.difficulty,{min:1})||!U(d.expire_at,{min:0})||"string"!=typeof d.target_path)throw Error("Invalid DeepSeek PoW challenge");return d}function W(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function X(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function Y(a,b){let c=a.replace(/FINISHED/g,"").replace(/^(SEARCH|WEB_SEARCH|SEARCHING)\s*/i,"");return X(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function Z(a,b){return 0===a.length||b.toLowerCase().includes("search-silent")?"":a.filter(a=>a.cite_index).sort((a,b)=>(a.cite_index||0)-(b.cite_index||0)).map(a=>`[${a.cite_index}]: [${a.title}](${a.url})`).join("\n")}let $="https://chat.deepseek.com",_=`${$}/api`,aa=`${_}/v0/chat/completion`,ab={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:$,Referer:`${$}/`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","X-Client-Bundle-Id":"com.deepseek.chat","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"2.0.0"},ac=new Map,ad=new Map;function ae(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function af(a){let b=a?.apiKey||a?.accessToken;if("string"!=typeof b||0===b.length)return null;try{let a=JSON.parse(b);if("string"==typeof a?.value)return a.value}catch{}return b}function ag(a,b,c){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c??`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}function ah(){let a=Date.now(),b=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)});return`intercom-HWWAFSESTIME=${a}; HWWAFSESID=${Array.from({length:18},()=>Math.floor(16*Math.random()).toString(16)).join("")}; Hm_lvt_${b()}=${Math.floor(a/1e3)}; _frid=${b()}`}async function ai(a,b){let c=await r(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at,{signal:b});if(c<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:c,signature:a.signature,target_path:a.target_path})).toString("base64")}async function aj(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=!1,j=b||"deepseek-web",k=W(j),l=[],m=a=>{let b=Y(a,j);if(!b)return;let c=h;!c&&k?c="thinking":!c&&X(j)&&(c="content"),"thinking"===c?g+=b:f+=b},n=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?h="thinking":("ANSWER"===c||"RESPONSE"===c)&&(h="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?h="thinking":("ANSWER"===b||"RESPONSE"===b)&&(h="content")}m(a.content)}};for(;;){let{done:a,value:b}=await d.read();if(a)break;let f=(e+=c.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let b=a.replace(/^data:\s*/,"").trim();try{let a=JSON.parse(b),c=a?.p,d=a?.v;if("response/status"===c&&"FINISHED"===d&&(i=!0),d&&"object"==typeof d&&d.response&&(!0===d.response.thinking_enabled?h="thinking":!1===d.response.thinking_enabled&&(h="content"),Array.isArray(d.response.fragments)))for(let a of d.response.fragments)n(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)n(a,!0);else d&&"object"==typeof d&&n(d,!0);if("response"===c&&Array.isArray(d))for(let a of d)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(h="thinking");if("response/search_status"===c)continue;if("response/search_results"===c&&Array.isArray(d)){if(a?.o!=="BATCH")l.length=0,l.push(...d);else for(let a of d){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);l[c]&&(l[c].cite_index=a.v)}}continue}if("string"==typeof d)m(d);else if(Array.isArray(d)&&"response"===c){for(let a of d)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&m(b)}}}catch{}}}let o=Z(l,j);if(o&&(f+=`
|
|
266
|
+
${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):a.messages.unshift({role:"system",content:c})}(h),f))void 0!==h[a]&&delete h[a];if(delete h.system,g=(0,e.gK)(a),(g?.provider==="anthropic"||g?.upstreamProvider==="anthropic"||/(^|[-_/])(?:claude|anthropic)(?:[-_/]|$)/i.test(String(a||"")))&&(delete h.reasoning_effort,delete h.reasoning,delete h.thinking),Array.isArray(h?.messages))for(let a of h.messages)a&&"object"==typeof a&&(delete a.cache_control,Array.isArray(a.content)&&(a.content=a.content.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,signature:c,...d}=a;return d})));Array.isArray(h?.tools)&&(h.tools=h.tools.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,...c}=a;return c}));if(Array.isArray(h?.messages))for(let a of h.messages)a&&"assistant"===a.role&&"string"==typeof a.reasoning_content&&a.reasoning_content.length>8&&delete a.reasoning_content;return h}}},36732:(a,b,c)=>{c.d(b,{Rb:()=>h});var d=c(96179),e=c(12132);let f=new Set(["mimo-v2.6-pro","mimo-v2.6-flash","mimo-v2.6-pro-ultraspeed"]),g="__mimoAccountCookie";class h extends d.L{constructor(){super("xiaomi-mimo")}static isAccountRoute(a,b){let c,d,e=(d=(c=String(a||"")).indexOf("/"))>=0?c.slice(d+1):c;return!!f.has(e)&&!!(b?.[g]||b?.providerSpecificData?.mimoPassToken)}isAccountRoute(a,b){return h.isAccountRoute(a,b)}buildUrl(a,b,c=0,d=null){return this.isAccountRoute(a,d)?`${(0,e.resolveMimoServerBase)(d?.providerSpecificData)}/api/route/chat/completions`:super.buildUrl(a,b,c,d)}buildHeaders(a,b=!0,c,d){return this.isAccountRoute(d,a)&&a?.[g]?{"Content-Type":"application/json",Accept:b?"text/event-stream":"application/json","User-Agent":e.MIMO_API_UA,Cookie:a[g]}:super.buildHeaders(a,b,c,d)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);if(this.isAccountRoute(a,d)){let a=e.reasoning_effort||b?.reasoning_effort||b?.output_config?.effort;if(a){delete e.reasoning_effort;let b="xhigh"===String(a).toLowerCase()?"high":String(a).toLowerCase();e.output_config={...e.output_config||{},effort:b}}null==e.temperature&&(e.temperature=1),null==e.top_p&&(e.top_p=.95)}return e}async execute(a){let{model:b,credentials:c,proxyOptions:d=null}=a;if(!this.isAccountRoute(b,c))return super.execute(a);let f=await (0,e.getMimoAccountCookie)(c?.providerSpecificData,d);if(!f)return super.execute(a);c[g]=f;let h=await super.execute(a);if(401===h.response.status){(0,e.invalidateMimoAccountCookieCache)();let b=await (0,e.getMimoAccountCookie)(c?.providerSpecificData,d).catch(()=>null);if(b)return c[g]=b,super.execute(a)}return h}}},49059:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f="You are a helpful AI assistant that helps with software engineering tasks.",g=/you are claude code|claude.?code.+official.+cli|anthropic.+official.+cli|anxthxropic.+official.+cli|you are (?:cursor|windsurf|cline|aider|continue|copilot|cody)|you are an? (?:ai )?(?:coding |code )?agent|cc_entrypoint\s*=\s*(?:cli|vscode|jetbrains|gui)|claude.?code.+issues|give feedback.+claude.?code|you are .{0,30}(?:powerful )?ai agent|orchestration capabilities|OhMyOpenCode|<agent-identity>|<Role>|<Behavior_Instructions>/i;Array.isArray(e.messages)&&(e.messages=e.messages.map(a=>{let b;if(!a||"system"!==a.role)return a;let c="string"==typeof(b=a.content)?b:Array.isArray(b)?b.map(a=>a&&"string"==typeof a.text?a.text:"").join("\n"):"";return c&&(c.length>2e3||g.test(c))?"string"==typeof a.content?{...a,content:f}:{...a,content:[{type:"text",text:f}]}:a}));let h=e.reasoning_effort;return"none"===h||"off"===h?delete e.reasoning_effort:h&&(e.reasoning_summary="auto"),e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},49227:(a,b,c)=>{c.d(b,{hG:()=>C});var d=c(77598),e=c.n(d),f=c(74957),g=c(35024),h=c(93943),i=c(37981),j=c(57247),k=c(90737),l=c(41004),m=c(80662),n=c(19713);let o=null;async function p(a="keyrouter-salt"){let b=function(){if(o)return o;try{o=(0,n.machineIdSync)()}catch{o=e().randomUUID()}return o}();return e().createHash("sha256").update(b+a).digest("hex").substring(0,16)}let q=/^(rs|fc|resp|msg)_/,r=new Set(["web_search","x_search","web_search_preview","file_search","image_generation","code_interpreter","mcp","local_shell"]),s=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","include","temperature","top_p","max_output_tokens","parallel_tool_calls","text","metadata","prompt_cache_key"]),t=["low","medium","high","xhigh"],u=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={type:"object",properties:{input:{type:"string"}},required:["input"]},w=new Map,x=new WeakMap;function y(a){let b="string"==typeof a?a.trim().toLowerCase():"";return"max"===b?"xhigh":t.includes(b)?b:"high"}function z(a){return"string"==typeof a?a:void 0===a?"":JSON.stringify(a)}function A(a){return"string"==typeof a&&u.test(a)}function B(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let{internal_chat_message_metadata_passthrough:b,...c}=a;if("reasoning"===a.type)return A(a.id)&&"string"==typeof a.encrypted_content?c:null;if("custom_tool_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",call_id:b,name:c,arguments:JSON.stringify({input:z(a.input??a.arguments)})}:null}if("custom_tool_call_output"===a.type||"function_call_output"===a.type){let b=a.call_id||a.id;return b?{type:"function_call_output",call_id:b,output:z(a.output)}:null}if("function_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",...A(a.id)?{id:a.id}:{},call_id:b,name:c,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments??{}),..."string"==typeof a.status?{status:a.status}:{}}:null}return c}class C extends f.H{constructor(){super("grok-cli",g.xq["grok-cli"]),this._currentSessionId=null,this._currentReqId=null,this._currentTurnIdx=1,this._agentId=null}buildUrl(){return this.config.baseUrl}async refreshCredentials(a,b,c=null){return a?.refreshToken?(0,h.Vq)("grok-cli",a,b,c):null}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);for(let[a,b]of Object.entries(this.config.headers||{}))null!=b&&void 0===c[a]&&(c[a]=b);c["x-grok-client-identifier"]=this.config.clientIdentifier||c["x-grok-client-identifier"]||k.rK,c["x-grok-client-version"]=this.config.clientVersion||c["x-grok-client-version"]||k.uG;let d=this._currentSessionId||a?.connectionId||e().randomUUID(),f=this._currentReqId||e().randomUUID();c["x-grok-session-id"]=d,c["x-grok-conv-id"]=d,c["x-grok-req-id"]=f,c["x-grok-turn-idx"]=String(this._currentTurnIdx||1),this._agentId&&(c["x-grok-agent-id"]=this._agentId),this._currentModel&&(c["x-grok-model-override"]=this._currentModel);let g=a?.providerSpecificData||{},h=g.email||a?.email,i=g.userId||a?.userId||a?.providerUserId;return h&&(c["x-email"]=h),i&&(c["x-userid"]=i),c}parseError(a,b){if(402===a.status&&b)try{let a=JSON.parse(b),c=a?.code||"",d=a?.error||a?.message||b;return{status:402,message:"string"==typeof d?d:b,code:"string"==typeof c?c:void 0}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){let f;this._currentSessionId=(f={prompt_cache_key:b?.prompt_cache_key,session_id:b?.session_id,conversation_id:b?.conversation_id,metadata:b?.metadata},(0,m.oV)({headers:d?.rawHeaders,body:f,connectionId:d?.connectionId||d?.id,workspaceId:d?.providerSpecificData?.workspaceId,scope:"grok-cli"})),this._currentReqId=e().randomUUID(),this._agentId=d?.providerSpecificData?.deviceId||d?.providerSpecificData?.agentId||null;let g=(0,i.me)(b.input);g&&(b.input=g),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(Array.isArray(b.messages)&&b.messages.length>0?(b.input=b.messages.map(a=>({type:"message",role:a.role||"user",content:"string"==typeof a.content?a.content:JSON.stringify(a.content??"")})),delete b.messages):b.input=[{type:"message",role:"user",content:"..."}]),function(a){if(!Array.isArray(a?.input))return;let b=a.input.map(B).filter(Boolean),c=new Set(b.filter(a=>a?.type==="function_call"&&a.call_id).map(a=>a.call_id));a.input=b.filter(a=>a?.type!=="function_call_output"||c.has(a.call_id))}(b),Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&q.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&q.test(a.id)&&!A(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set,c=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d="string"==typeof a.type?a.type:"";if("function"!==d){if(r.has(d))return c.add(d),!0;if(!d&&a.function);else if(d&&"string"!=typeof a.name)return!1}if(!("function"===d||""===d||a.function||"string"==typeof a.name)||r.has(d))return r.has(d);let e=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,f=("string"==typeof a.name?a.name:"string"==typeof e?.name?e.name:"").trim();if(!f)return!1;let g="string"==typeof a.description?a.description:"string"==typeof e?.description?e.description:"",h="custom"===d?v:a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:e?.parameters&&"object"==typeof e.parameters&&!Array.isArray(e.parameters)?e.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=f.slice(0,128),g&&(a.description=g),a.parameters=h,b.add(a.name),!0}),0===a.tools.length){delete a.tools,delete a.tool_choice;return}if(a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)){let d="string"==typeof a.tool_choice.type?a.tool_choice.type:"";if("function"===d||"custom"===d){let c=a.tool_choice.name??a.tool_choice.function?.name,d="string"==typeof c?c.trim().slice(0,128):"";d&&b.has(d)?a.tool_choice={type:"function",name:d}:delete a.tool_choice}else c.has(d)||delete a.tool_choice}}(b),this._currentTurnIdx=function(a,b,c=null){let d=function(a){if(!Array.isArray(a))return 1;let b=0;for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c))continue;let a="string"==typeof c.type?c.type:"";"user"!==c.role||a&&"message"!==a||(b+=1)}return Math.max(1,b)}(b);if(!a)return d;if(c&&x.has(c))return x.get(c);let e=Date.now(),f=w.get(a),g=f&&e-f.lastUsed<=l.v1.sessionTtlMs?f.turn:0;f&&w.delete(a);let h=g>0?Math.max(d,g+ +!!c):d;for(;w.size>=5e3;)w.delete(w.keys().next().value);return w.set(a,{turn:h,lastUsed:e}),c&&x.set(c,h),h}(this._currentSessionId,b.input,b),b.stream=!0,b.store=!1;let h=function(a){if(!a||"string"!=typeof a)return null;for(let b of t)if(a.endsWith(`-${b}`))return b;return null}(b.model||a),n=b.model||a;h&&(n=n.replace(RegExp(`-${h}$`),"")),(n=(0,j.kt)("gcli",n)||n)===(b.model||a)&&(n=(0,j.kt)("grok-cli",n)||n),b.model=n,this._currentModel=n;let o=(0,k.Au)(n);if(b.reasoning&&"object"==typeof b.reasoning?(o?b.reasoning.effort=y(b.reasoning.effort||b.reasoning_effort||h):delete b.reasoning.effort,b.reasoning.summary||(b.reasoning.summary="concise")):(b.reasoning={summary:"concise"},o&&(b.reasoning.effort=y(b.reasoning_effort||h))),delete b.reasoning_effort,b.reasoning&&"none"!==b.reasoning.effort){let a=Array.isArray(b.include)?b.include:[];a.includes("reasoning.encrypted_content")||a.push("reasoning.encrypted_content"),b.include=a}for(let a of(delete b.messages,delete b.max_tokens,delete b.max_completion_tokens,delete b.n,delete b.seed,delete b.logprobs,delete b.top_logprobs,delete b.frequency_penalty,delete b.presence_penalty,delete b.logit_bias,delete b.user,delete b.stream_options,delete b.prompt_cache_retention,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))s.has(a)||delete b[a];return b}async execute(a){if(this._agentId||a.credentials?.providerSpecificData?.deviceId)a.credentials?.providerSpecificData?.deviceId&&(this._agentId=a.credentials.providerSpecificData.deviceId);else try{let a=await p("grok-cli-agent");this._agentId=[a.slice(0,8),a.slice(8,12),"5"+a.slice(13,16),"a"+a.slice(17,20),a.slice(0,12).padEnd(12,"0")].join("-")}catch{this._agentId=e().randomUUID()}return super.execute(a)}}},51349:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-intl")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto");let g=Array.isArray(e.messages)?e.messages:[];for(let a of(e.messages=[{role:"system",content:"You are CodeBuddy Code."}],g))!a||"object"!=typeof a||["system","developer"].includes(a.role)||("user"===a.role&&"string"==typeof a.content?e.messages.push({...a,content:[{type:"text",text:a.content}]}):e.messages.push({...a}));return e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},53307:(a,b,c)=>{c.d(b,{sh:()=>u});var d=c(74957);let e="https://uncensored.com",f="https://clerk.uncensored.com",g="5.127.1",h="https://internal.chatuncensored.ai/v2/image-gen",i={"1:1":{imageWidth:"1024",imageHeight:"1024"},"16:9":{imageWidth:"1024",imageHeight:"576"},"9:16":{imageWidth:"576",imageHeight:"1024"},"4:3":{imageWidth:"1024",imageHeight:"768"},"3:4":{imageWidth:"768",imageHeight:"1024"},"3:2":{imageWidth:"1152",imageHeight:"768"},"2:3":{imageWidth:"768",imageHeight:"1152"},"4:5":{imageWidth:"896",imageHeight:"1120"},"5:4":{imageWidth:"1120",imageHeight:"896"},"21:9":{imageWidth:"1344",imageHeight:"576"}},j={"seedream-v4.5":{name:"Seedream v4.5",aspects:["1:1","16:9","9:16","4:3","3:4"]},"seedream-v5":{name:"Seedream v5",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"seedream-v5-flash":{name:"Seedream v5 Flash",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3","4:5","5:4","21:9"],resolutions:["1k","1.5k","2k"]},"nano-banana-pro-ultra":{name:"Nano Banana Pro Ultra",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["4k","8k"]},"nano-banana-pro":{name:"Nano Banana Pro",aspects:["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"nano-banana":{name:"Nano Banana",aspects:["1:1","9:16","16:9","3:4","4:3","3:2","2:3","5:4","4:5","21:9"]},"nano-banana-2":{name:"Nano Banana 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"gpt-image":{name:"GPT Image 1.5",aspects:["1:1","2:3","3:2"],qualities:["medium","high"]},"gpt-image-2":{name:"GPT Image 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},"gpt-image-2.5-flare":{name:"GPT Image 2.5 Flare",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"gpt-image-2.5-sunburst":{name:"GPT Image 2.5 Sunburst",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"wan-2.6":{name:"Wan 2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.6-image":{name:"Wan 2.6",upstream:"wan-2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image":{name:"Wan 2.7",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image-pro":{name:"Wan 2.7 Pro",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"prefect-pony-xl":{name:"Prefect Pony XL",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"1.0":{name:"Flux.1",aspects:[]},"1.1":{name:"Flux.1.1",aspects:[]},"1.2":{name:"Wan 2.6 (Flux tier)",aspects:[]},"2.0":{name:"Flux.2",aspects:[]},"flux-2-max":{name:"Flux 2 Max",aspects:[]},SDXL:{name:"SDXL uncensored",aspects:[]},realism:{name:"Realism",aspects:[]},"realism-2":{name:"Realism 2",aspects:[]},"z-image-turbo":{name:"Z Image Turbo",aspects:[]}},k={default:{name:"Standard",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},turbo:{name:"Turbo",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored-v2":{name:"Wan Ultra Uncensored v2",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored":{name:"Wan Ultra Uncensored",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.6":{name:"Wan v2.6",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],seconds:[5,8]},"wan-2.6-ultra":{name:"Wan 2.6 Ultra Uncensored",t2v:!0,i2v:!0},"wan-2.7":{name:"Wan 2.7",t2v:!0,i2v:!0},"wan-2.7-pro":{name:"Wan 2.7 Pro",t2v:!0,i2v:!0},"wan-2.7-uncensored":{name:"Wan 2.7 Uncensored",t2v:!0,i2v:!0},"wan-2.7-uncensored-v2":{name:"Wan 2.7 Uncensored v2",t2v:!0,i2v:!0},"wan-3.0":{name:"Wan 3.0",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored":{name:"Wan 3.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored-pro":{name:"Wan 3.0 Uncensored Pro",t2v:!0,i2v:!0,audio:!0},"sora-2":{name:"Sora 2",t2v:!0,i2v:!0,seconds:[4,8,12]},"sora-2-pro":{name:"Sora 2 Pro",t2v:!0,i2v:!0,seconds:[4,8,12]},"grok-imagine-video":{name:"Grok Imagine Video",t2v:!0,i2v:!0},"bytedance-seedance-2.0":{name:"Seedance 2.0",t2v:!0,i2v:!0},"seedance-2.0-fast":{name:"Seedance 2.0 Fast",t2v:!0,i2v:!0},"seedance-2.0-uncensored":{name:"Seedance 2.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-fast-uncensored":{name:"Seedance 2.0 Fast Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-uncensored":{name:"Seedance 2.0 Mini Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-turbo":{name:"Seedance 2.0 Mini Turbo Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-v1.5-pro-uncensored":{name:"Seedance v1.5 Pro Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5-uncensored":{name:"Seedance 2.5 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5":{name:"Seedance 2.5",t2v:!0,i2v:!0,audio:!0},"vidu-q3-uncensored":{name:"Vidu Q3 Uncensored",t2v:!0,i2v:!0},"av-gen-v2":{name:"AV-Gen v2 with audio",t2v:!0,i2v:!0,audio:!0},"cosmos-predict":{name:"Cosmos Predict 2.5",t2v:!0,i2v:!0},"minimax-h3":{name:"MiniMax H3",t2v:!0,i2v:!0},"happyhorse-1.0":{name:"Happy Horse 1.0",t2v:!0,i2v:!0},"wan/v2.2-a14b":{name:"Wan v2.2-a14b",t2v:!0,i2v:!0}};function l(a){let b=new Map;for(let c of String(a||"").split(";")){let a=c.indexOf("=");if(a<0)continue;let d=c.slice(0,a).trim();d&&b.set(d,c.slice(a+1).trim())}return b}function m(a){try{let b=a.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(Buffer.from(b+"=".repeat((4-b.length%4)%4),"base64").toString("utf8"))}catch{return null}}function n(a){return[...a.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}function o(a,b){for(let c of"function"==typeof a.headers.getSetCookie?a.headers.getSetCookie():[]){let a=String(c).split(";")[0],d=a.indexOf("=");if(d>0&&a.slice(0,d).trim()===b)return a.slice(d+1).trim()}return""}async function p(a,b,c){let d=m(a)?.sid;if("string"==typeof d&&d)return{sid:d,rotatedClient:""};let e=await fetch(`${f}/v1/client?_clerk_js_version=${g}`,{headers:b,signal:c});if(!e.ok)return{sid:"",rotatedClient:""};let h=o(e,"__client"),i=await e.json().catch(()=>null),j=i?.response??i?.client??i,k=Array.isArray(j?.sessions)?j.sessions:[],l=k.find(a=>a?.status==="active")??k[0];return{sid:"string"==typeof l?.id?l.id:"",rotatedClient:h}}async function q(a,b){let c=l(a),d=c.get("__client");if(!d)throw Object.assign(Error("UC credential missing the __client cookie — paste the full uncensored.com Cookie header from a logged-in session"),{status:401});let h={Cookie:n(c),Origin:e,Referer:`${e}/`,Accept:"application/json"},i=await p(d,h,b),j=i.sid;if(!j)throw Object.assign(Error("UC Clerk session not found — the __client cookie has no active session. Log in again via Login via Browser"),{status:401});let k=await fetch(`${f}/v1/client/sessions/${encodeURIComponent(j)}/tokens?_clerk_js_version=${g}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Origin:e,Referer:`${e}/`,Cookie:n(c)},body:"",signal:b});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC Clerk token mint failed (HTTP ${k.status}) ${a}`),{status:k.status})}let q=o(k,"__client")||i.rotatedClient,r=await k.json().catch(()=>null),s=r?.jwt;if("string"!=typeof s||!s)throw Object.assign(Error("UC Clerk token mint returned no jwt"),{status:502});let t=m(s)?.uid;return{jwt:s,uid:"string"==typeof t?t:"",rotatedClient:q}}async function r(a,{signal:b,log:c,intervalMs:d=5e3,timeoutMs:f=3e5}){let g=Date.now()+f;for(;Date.now()<g;){if(b?.aborted)throw Error("aborted");await new Promise(a=>setTimeout(a,d));let f=0;try{f=(await fetch(a,{method:"HEAD",headers:{Referer:`${e}/`},signal:b})).status}catch{f=0}if(200===f)return;f>=400&&f<500&&429!==f&&c?.warn?.("UC-WEB",`result poll got HTTP ${f} — continuing until timeout`)}throw Error("UC result did not become available in time")}async function s(a,{signal:b}){let c=await fetch(a,{headers:{Referer:`${e}/`},signal:b});if(!c.ok)throw Error(`UC result download failed (HTTP ${c.status})`);return{b64:Buffer.from(await c.arrayBuffer()).toString("base64"),mime:(c.headers.get("content-type")||"").split(";")[0]||"application/octet-stream"}}async function t(a,b,c){let d=/^data:[^;]*;base64,(.*)$/.exec(String(a));if(d)return Buffer.from(d[1],"base64");if(/^https?:\/\//i.test(String(a))){let c=await fetch(a,{signal:b,headers:{Accept:"image/*","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"}});if(!c.ok)throw Error(`input image download failed (HTTP ${c.status})`);return Buffer.from(await c.arrayBuffer())}try{return Buffer.from(String(a),"base64")}catch{return c?.error?.("UC-WEB","could not decode input image"),null}}class u extends d.H{constructor(){super("uc-web",{id:"uc-web",baseUrl:"https://internal.chatuncensored.ai"})}async execute(){return{response:new Response(JSON.stringify({error:{message:"uc-web is a media provider — use /v1/images/generations or /v1/videos/generations",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:{}}}async generateMedia({prompt:a,kind:b="image",size:c,model:d,duration:f,resolution:g,images:m,credentials:o,signal:p,log:u}){if("image"!==b&&"video"!==b)throw Error("uc-web supports image and video generation only");if(!a?.trim())throw Error("prompt is required");let v=String(o?.apiKey||""),{jwt:w,uid:x,rotatedClient:y}=await q(v,p),z=function(a,b){if(!b)return"";let c=l(a);return c.get("__client")===b?"":(c.set("__client",b),n(c))}(v,y);z&&o&&(o.apiKey=z);let A={Authorization:`Bearer ${w}`,Origin:e,Referer:`${e}/`,"Content-Type":"application/json"};if("image"===b){let b=d||"seedream-v4.5";if(!j[b])throw Object.assign(Error(`Unknown UC image model "${b}" — see the provider's model list`),{status:400});let e=j[b],f={prompt:a,mode:"dev",model_version:e.upstream||b,m_n_user:!0,moderationMode:"SUPER_LIGHT",country:"US",vdiscount:!1,...function(a,b){let c=String(a||"").trim(),d=Array.isArray(b)&&b.length?b:null,e=i[c]&&(!d||d.includes(c))?{aspect_ratio:c,...i[c]}:null;if(e)return e;if(c.includes("x")){let[a,b]=c.split("x").map(Number);if(Number.isFinite(a)&&Number.isFinite(b)&&a>0&&b>0){let c=null,e=1/0;for(let[f,g]of Object.entries(i)){if(d&&!d.includes(f))continue;let h=Math.abs(Number(g.imageWidth)/Number(g.imageHeight)-a/b);h<e&&(e=h,c=f)}if(c)return{aspect_ratio:c,...i[c]}}}let f=d?.[0]||"1:1";return{aspect_ratio:f,...i[f]}}(c,e.aspects)};if(e.resolutions?.length){let a=String(g||"").toLowerCase();f.resolution=e.resolutions.includes(a)?a:e.resolutions[0]}let k=await fetch(h,{method:"POST",headers:A,body:JSON.stringify(f),signal:p});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC image request failed (HTTP ${k.status}) ${a}`),{status:k.status})}let l=await k.json().catch(()=>null),m="string"==typeof l?.url?l.url:"";if(!m)throw Error("UC image response carried no result url");return await r(m,{signal:p,log:u}),[await s(m,{signal:p})]}let B=d||"default";if(!k[B])throw Object.assign(Error(`Unknown UC video model "${B}" — see the provider's model list`),{status:400});let C=k[B],D=Array.isArray(m)?m[0]:m;if(D&&!1===C.i2v)throw Error(`UC video model "${B}" does not accept an input image`);if(!D&&!1===C.t2v)throw Error(`UC video model "${B}" requires an input image`);let E=Number(f)>0?Number(f):C.seconds?.[0]??5,F=C.resolutions?.length?C.resolutions.includes(String(g||""))?String(g):C.resolutions[0]:"480p",G={prompt:a,media_blob_name:null,num_frames:Math.round(16*E)+1,frames_per_second:16,num_inference_steps:30,guide_scale:5,shift:5,aspect_ratio:C.aspects?.includes("auto")?"auto":"9:16",pro_mode:"wan-3.0-uncensored-pro"===B,turbo:"turbo"===B,resolution:F,sora_resolution:F,end_frame_blob_name:null,model:B,seconds:E,video_to_video_duration:E,vdiscount:!1};if(D){if(!x)throw Object.assign(Error("Could not derive the account uid — re-paste the full Cookie header"),{status:401});let a=await t(D,p,u);if(!a)throw Error("UC image-to-video could not decode the input image");let b=await fetch("https://internal-6.pubyar.com/generate-signed-url",{method:"POST",headers:A,body:JSON.stringify({content_type:"image/png",user_identifier:x}),signal:p});if(!b.ok){let a=(await b.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC signed-url request failed (HTTP ${b.status}) ${a}`),{status:b.status})}let c=await b.json().catch(()=>null);if(!c?.signed_url||!c?.blob_name)throw Error("UC signed-url response missing signed_url or blob_name");let d=await fetch(c.signed_url,{method:"PUT",headers:{"Content-Type":"image/png"},body:new Uint8Array(a),signal:p});if(!d.ok)throw Object.assign(Error(`UC input-image upload failed (HTTP ${d.status})`),{status:d.status});G.media_blob_name=c.blob_name}let H=await fetch("https://internal.chatuncensored.ai/image_to_video",{method:"POST",headers:A,body:JSON.stringify(G),signal:p});if(!H.ok){let a=(await H.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC video request failed (HTTP ${H.status}) ${a}`),{status:H.status})}let I=await H.json().catch(()=>null),J="string"==typeof I?.url?I.url:"";if(!J)throw Error("UC video response carried no result url");let K=Number.isFinite(Number(I?.timeout_seconds))&&Number(I.timeout_seconds)>0?1e3*Number(I.timeout_seconds):3e5;return await r(J,{signal:p,log:u,timeoutMs:K}),[await s(J,{signal:p})]}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{getExecutor:()=>Q});var e=c(39536),f=c(98625),g=c(19696),h=c(95128),i=c(11655),j=c(61433),k=c(77333),l=c(76467),m=c(32447),n=c(19932),o=c(19946),p=c(73870),q=c(63094),r=c(13120),s=c(17373),t=c(77919),u=c(49227),v=c(23013),w=c(59192),x=c(29166),y=c(20690),z=c(88331),A=c(53307),B=c(70298),C=c(9708),D=c(90926),E=c(26878),F=c(36732),G=c(16046),H=c(49059),I=c(51349),J=c(85308),K=c(98665),L=c(93509),M=c(96179),N=c(83243),O=c(95089);c(74957);var P=a([o]);o=(P.then?(await P)():P)[0];let R={antigravity:new e.c,azure:new f.P,"gemini-cli":new h.V,github:new i.x,iflow:new j.r,qoder:new k.DH,"qoder-cn":new k.DH("qoder-cn"),kiro:new l.B,kimchi:new m.BL,codex:new n.T,cursor:new o.ou,cu:new o.ou,vertex:new p.w("vertex"),"vertex-partner":new p.w("vertex-partner"),opencode:new q.j9,"opencode-go":new r.H,"opencode-zen":new s.mO,"grok-web":new t.$,"grok-cli":new u.hG,gcli:new u.hG,gb:new u.hG,"perplexity-web":new v.Ay,"deepseek-web":new w.id,"gemini-web":new x.dQ,"muse-web":new y._5,"veoaifree-web":new z.Q,"veo-free":new z.Q,"uc-web":new A.sh,"chatgpt-web":new B.RF,"ollama-local":new C.D,commandcode:new D.Ak,"xiaomi-tokenplan":new E.F,"xiaomi-mimo":new F.Rb,"mimo-free":new G.Yh,mmf:new G.Yh,"codebuddy-cn":new H.v,"codebuddy-intl":new I.m,trae:new J.A,zed:new K.A,windsurf:new L.Ay,"minimax-code":new N.M("minimax-code"),"minimax-code-global":new N.M("minimax-code-global"),"devin-cli":new O.c,bedrock:new g.UD,br:new g.UD,"bedrock-xai":new g.UD("bedrock-xai"),brx:new g.UD("bedrock-xai")},S=new Map;function Q(a){return R[a]?R[a]:(S.has(a)||S.set(a,new M.L(a)),S.get(a))}d()}catch(a){d(a)}})},59192:(a,b,c)=>{c.d(b,{id:()=>ao});var d=c(74957),e=c(78959),f=c(92536),g=c(73024),h=c(76760),i=c.n(h),j=c(75919);new Uint32Array(10);let k=[],l=[],m=new Uint32Array(24),n=new Uint32Array(24);{let a=1n,b=1,c=0;for(let d=0;d<24;d++){let e=c,f=(2*b+3*c)%5;b=e,c=f,k.push(2*(5*c+b)),l.push((d+1)*(d+2)/2%64);let g=0n;for(let b=0;b<7;b++)2n&(a=(a<<1n^(a>>7n)*113n)%256n)&&(g^=1n<<(1n<<BigInt(b))-1n);m[d]=Number(4294967295n&g),n[d]=Number(g>>32n&4294967295n)}}let o=/^[a-f0-9]{64}$/i,p=0;function q(){let a=Error("DeepSeek PoW computation aborted");return a.name="AbortError",a}async function r(a,b,c,d,e,f={}){return function(a,b={}){let{signal:c}=b;if(c?.aborted)return Promise.reject(q());if(p>=2)return Promise.reject(Error("DeepSeek PoW worker capacity reached (2)"));let d=function(a){if(void 0===a)return 1e4;if(!Number.isSafeInteger(a)||a<1||a>3e4)throw Error("DeepSeek PoW timeout must be an integer from 1 to 30000ms");return a}(b.timeoutMs);return p+=1,new Promise((b,e)=>{let f;try{f=new j.Worker(function(){let a=i().join(process.cwd(),"open-sse/lib/deepseek-pow-worker.mjs");if(!(0,g.existsSync)(a))throw Error(`DeepSeek PoW worker script not found at ${a}`);return a}(),{workerData:a})}catch(a){p=Math.max(0,p-1),e(a instanceof Error?a:Error(String(a)));return}let h=!1,k=(a,b)=>{h||(h=!0,clearTimeout(m),c?.removeEventListener("abort",l),p=Math.max(0,p-1),b&&f.terminate(),a())},l=()=>{k(()=>e(q()),!0)},m=setTimeout(()=>{k(()=>e(Error(`DeepSeek PoW computation exceeded ${d}ms`)),!0)},d);c?.addEventListener("abort",l,{once:!0}),f.once("message",a=>{!Number.isSafeInteger(a)||a<-1?k(()=>e(Error("DeepSeek PoW worker returned an invalid answer")),!0):k(()=>b(a),!1)}),f.once("error",a=>{k(()=>e(a),!0)}),f.once("exit",a=>{0!==a?k(()=>e(Error(`DeepSeek PoW worker exited with code ${a}`)),!1):k(()=>e(Error("DeepSeek PoW worker exited without an answer")),!1)})})}(function(a,b,c,d,e){if("DeepSeekHashV1"!==a)throw Error(`Unsupported DeepSeek PoW algorithm: ${a}`);if(!o.test(b))throw Error("DeepSeek PoW challenge must be a 64-character SHA3-256 hex digest");if("string"!=typeof c||0===c.length||c.length>1024)throw Error("DeepSeek PoW salt must contain 1-1024 characters");if(!Number.isSafeInteger(d)||d<1||d>25e4)throw Error("DeepSeek PoW difficulty must be an integer from 1 to 250000");if(!Number.isSafeInteger(e)||e<0)throw Error("DeepSeek PoW expiry must be a non-negative safe integer");return{challenge:b.toLowerCase(),prefix:`${c}_${e}_`,difficulty:d}}(a,b,c,d,e),f)}var s=c(14229),t=c(70452);let u=new((c.n(t))())({strict:!1,allErrors:!1,validateFormats:!1}),v=new WeakMap;function w(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function x(a,b,c){let d=Array.isArray(a)?a.find(a=>a?.function?.name===b)??null:null;if(!d)return!1;let e=d.function?.parameters;if(void 0===e)return!0;if(("object"!=typeof e||null===e)&&"boolean"!=typeof e)return!1;let f=v.get(a);f||(f=new Map,v.set(a,f));let g=f.get(b);if(void 0===g){try{g=u.compile(e)}catch{g=null}f.set(b,g)}return!!g&&!0===g(c)}function y(a,b,c){if(!b.toolCalls)return b;let d=(0,s.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,s.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};let g=b._nonce;if(void 0!==g&&g!==d)return{content:a,toolCalls:null};let{_nonce:h,...i}=b;if(!x(c,f.function.name,i))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(i)}})}return{content:b.content,toolCalls:e}}function z(a){return"string"==typeof a&&!!a.trim()&&(!!/<\/?(?:|||\|\|?)DSML(?:|||\|\|?)\s*(?:calls|invoke|parameter)\b/i.test(a)||/<\/?(?:tool|tool_call)(?::|\s|>)/i.test(a))}function A(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let B=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function C(a,b){let c=RegExp(`\\b${b}\\s*=\\s*("|')`).exec(a);if(!c)return null;let d=c[1],e=c.index+c[0].length,f="";for(;e<a.length;){let b=a[e];if("\\"===b){f+=a[e+1]??"",e+=2;continue}if(b===d)break;f+=b,e+=1}return f}function D(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let E=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function F(a){return"string"==typeof a&&a.length>0?a:null}let G="[||]",H=`${G}{2}DSML${G}{2}`,I=RegExp(`</?${H}\\s*(?:calls|invoke|parameter)\\b[^>]*>|<${H}\\s*/\\s*(?:calls|invoke|parameter)\\s*>`,"gi");function J(a,b,c){let d=[],e=RegExp(`(?:</?${H}\\s*${b}\\b([^>]*)>|<${H}\\s*/\\s*${b}\\s*>)`,"gi"),f=null;for(;null!==(f=e.exec(a));)d.push({start:c+f.index,end:c+e.lastIndex,attrs:f[1]??""});return d}function K(a,b,c,d,e){let f=C(a.attrs,"name");if(!f)return null;let g=b?b.start:d,h=J(c.slice(a.end,g),"parameter",a.end),i={},j=a.end;for(let a=0;a<h.length;a+=1){let b=h[a],d=C(b.attrs,"name");if(!d)continue;let e=h[a+1],f=c.slice(b.end,e?e.start:g).trim();i[d]=""!==f?f:C(b.attrs,"content")??"",j=e?e.end:g}if(!Object.values(i).some(a=>""!==a))return null;let k=(0,s.Ub)(f,e)??f;return{start:a.start,end:b?b.end:j,name:k,args:i}}let L=/<[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)([^>]*)>/gi,M=/<\/[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)\s*>/gi,N=/<(?:(?:\|DSML\|)|(?:||DSML||))invoke\b([^>]*)>([\s\S]*?)<\/(?:(?:\|DSML\|)|(?:||DSML||))invoke\s*>/gi,O=/<(?:(?:\|DSML\|)|(?:||DSML||))parameter\b([^>]*)>([\s\S]*?)(?:<\/(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>|<(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>)/gi,P=/<(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\b[^>]*>[^]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\s*>/i,Q=/(?:<\|tool_call_begin\|>|<|tool▁call▁begin|>)[\s\n]*([^<\s]+)[\s\n]*(?:<\|tool_call_argument_begin\|>|<|tool▁call▁argument▁begin|>)([\s\S]*?)(?:<\|tool_call_argument_end\|>|<|tool▁call▁argument▁end|>)[\s\n]*(?:<\|tool_call_end\|>|<|tool▁call▁end|>)/g;function R(a){try{return JSON.parse(a)}catch{return null}}function S(a,b,c){let d=Array.isArray(c)?c.find(a=>a?.function?.name===b):void 0,e=d?.function?.parameters?.properties;if(!e||"object"!=typeof e)return a;for(let[b,c]of Object.entries(a))e[b]?.type==="string"&&"string"!=typeof c&&(a[b]=JSON.stringify(c));return a}function T(a,b="call",c){var d,e,f;if("string"!=typeof a||0===a.length)return{content:a??"",toolCalls:null};a=a.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"");let g=(0,s.x2)(c),h=(d=a,RegExp(`</?${H}\\s*(?:calls|invoke|parameter)\\b`,"i").test(d))?function(a,b){let c=[],d=[],e=RegExp(`<${H}\\s*calls\\s*>([\\s\\S]*?)(?:</${H}\\s*calls\\s*>|<${H}\\s*/\\s*calls\\s*>)`,"gi"),f=RegExp(`(?:</${H}\\s*calls\\s*>|<${H}\\s*/\\s*calls\\s*>)\\s*$`,"i"),g=[],h=null;for(;null!==(h=e.exec(a));){let i={start:h.index,end:e.lastIndex};g.push(i);let j=h[1],k=h.index+h[0].indexOf(j),l=f.exec(h[0]);d.push({start:h.index,end:k}),d.push({start:h.index+(l?l.index:h[0].length),end:h.index+h[0].length});let m=J(j,"invoke",k);for(let d=0;d<m.length;d+=1){if(!C(m[d].attrs,"name"))continue;let e=K(m[d],m[d+1],a,k+j.length,b);e&&c.push(e),m[d+1]&&(d+=1)}}let i=J(a,"invoke",0).filter(a=>!g.some(b=>a.start>=b.start&&a.end<=b.end));for(let d=0;d<i.length;d+=1){if(!C(i[d].attrs,"name"))continue;let e=K(i[d],i[d+1],a,a.length,b);e&&c.push(e),i[d+1]&&(d+=1)}return{calls:c.sort((a,b)=>a.start-b.start),strip:d}}(a,g):null,i=h&&h.calls.length>0?h:null;if(!i){let d=/<tool\b|<tool:/.test(a),g=a=>(a.toolCalls?.length??0)>0||!d,h=function(a,b,c){if(!/<(?:(?:||DSML||)|(?:\|DSML\|))/.test(a))return{content:a,toolCalls:null,recognized:!1};let d=(0,s.x2)(c),e=(0,s.OA)(c),f=[],g=[],h=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,i=null,j=!1,k=!1;for(;null!==(i=h.exec(a));){let a;j=!0;let l=(0,s.Ub)(i[2],d);if(!e||!l){k=!0;continue}let m=function(a){let b={},c=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,d=null;for(;null!==(d=c.exec(a));){let a=d[2].trim();b[d[1]]=R(a)??a}if(Object.keys(b).length>0)return b;let e=R(a.trim()||"{}");return e&&"object"==typeof e&&!Array.isArray(e)&&Object.assign(b,e),b}(i[3]),n=w(m.arguments);if((m._nonce??n?._nonce)!==e){k=!0;continue}if(n){let{_nonce:b,...c}=n;a=c}else{let{_nonce:b,name:c,...d}=m;a=d}if(!x(c,l,a)){k=!0;continue}f.push({id:`${b}_${f.length}`,type:"function",function:{name:l,arguments:JSON.stringify(a)}}),g.push({start:i.index,end:h.lastIndex})}if(k||0===f.length)return{content:a,toolCalls:null,recognized:j};let l=/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,m=null;for(;null!==(m=l.exec(a));)g.push({start:m.index,end:l.lastIndex});return{content:(0,s.LW)(a,g),toolCalls:f,recognized:!0}}(a,b,c);if(h.recognized&&g(h))return y(a,h,c);let i=function(a,b,c){let d=(0,s.x2)(c),e=[],f=[];Q.lastIndex=0;let g=null;for(;null!==(g=Q.exec(a));){let a=(0,s.Ub)(g[1],d),h=R(g[2].trim());if(!a||!h||"object"!=typeof h||Array.isArray(h))continue;let i=S(h,a,c);e.push({id:`${b}_${e.length}`,type:"function",function:{name:a,arguments:JSON.stringify(i)}}),f.push({start:g.index,end:g.index+g[0].length})}!function(a,b,c,d,e,f){N.lastIndex=0;let g=null;for(;null!==(g=N.exec(a));){let a=C(g[1]||"","name"),h=a?(0,s.Ub)(a,c):null;if(!h)continue;let{args:i,found:j}=function(a){let b={},c=!1;O.lastIndex=0;let d=null;for(;null!==(d=O.exec(a));){let a=C(d[1]||"","name");if(!a)continue;let e=d[2].trim();b[a]=R(e)??e,c=!0}return{args:b,found:c}}(g[2]);if(!j&&g[2].trim())continue;let k=S(i,h,d);e.push({id:`${b}_${e.length}`,type:"function",function:{name:h,arguments:JSON.stringify(k)}}),f.push({start:g.index,end:g.index+g[0].length})}}(a,b,d,c,e,f),e.length>0&&function(a,b){let c=/<(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>[\s\S]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>/gi,d=null;for(;null!==(d=c.exec(a));){let a=d.index,c=a+d[0].length;b.some(b=>b.start>=a&&b.end<=c)&&b.push({start:a,end:c})}}(a,f);let h=P.test(a)||/<(?:(?:\|tool_call_)|(?:|tool▁call▁))/.test(a);return 0===e.length?{content:a,toolCalls:null,recognized:h}:{content:(0,s.LW)(a,f),toolCalls:e,recognized:h}}(a,b,c);if(i.recognized&&g(i))return y(a,i,c);e=(f=e=a).includes("DSML")?f.replace(L,(a,b,c)=>{let d=b.toLowerCase();if("calls"===d)return"";let e=C(c,"name"),f=null!==e?` name="${e}"`:"";return"invoke"===d?`<tool${f}>`:`<parameter${f}>`}).replace(M,(a,b)=>{let c=b.toLowerCase();return"calls"===c?"":"invoke"===c?"</tool>":"</parameter>"}):f,(/[||]{1,2}DSML[||]{1,2}/i.test(e)||/<parameter\b/i.test(e)||/<\/(?:parameter|invoke|arguments|calls|tool_calls|function_calls)>/i.test(e)||e.includes("This response is AI-generated, for reference only."))&&(e=(e=e.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"")).replace(/<\/?(?:[||]{1,2})DSML(?:[||]{1,2})\s*(?:calls|tool_calls|function_calls)>/gi,"").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?invoke\b/gi,"<$1tool").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?parameter\b/gi,"<$1parameter").replace(/(}\s*)<\/(?:parameter|invoke|calls|tool_calls|function_calls)>/gi,"$1"),/<parameter\b/i.test(e)&&!/<tool\b/i.test(e)&&(e=e.replace(/((?:<parameter\b[\s\S]*?<\/parameter>\s*)+)/gi,"<tool>$1</tool>"))),a=e}let j=function(a){let b=[],c=null;for(B.lastIndex=0;null!==(c=B.exec(a));)b.push({start:c.index,end:B.lastIndex,closing:"/"===c[1],suffix:c[2]?c[2].slice(1):"",attrs:c[3]||""});return b}(a);if(0===j.length&&!i)return y(a,(0,s.uQ)(a,b,c),c);let k=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){let a=c?.function;if(!a?.name)continue;let d=a.parameters,e=d?.properties;e&&"object"==typeof e&&!Array.isArray(e)?b.set(a.name,new Set(Object.keys(e))):b.set(a.name,new Set)}return b}(c),l=function(a,b){let c=[],d=[];for(let b of a){if(!b.closing){d.push(b);continue}let a=d.pop();a&&c.push({open:a,close:b,innerStart:a.end,innerEnd:b.start})}for(let a of d){let d={start:b,end:b,closing:!0,suffix:"",attrs:""};c.push({open:a,close:d,innerStart:a.end,innerEnd:b})}return c}(j,a.length),m=[],n=(0,s.OA)(c);for(let b of l.filter(a=>!l.some(b=>b!==a&&b.open.start>=a.innerStart&&b.close.end<=a.innerEnd)).sort((a,b)=>a.open.start-b.open.start)){let c=b.open.suffix||C(b.open.attrs,"name")||C(b.open.attrs,"id")||"",d=a.slice(b.innerStart,b.innerEnd).replace(I,""),e=function(a,b,c,d){let e,f=b.trim(),g=D(f,"name"),h=D(f,"arguments")??D(f,"parameters"),i=h?null:function(a){let b={},c=!1,d=null;for(E.lastIndex=0;null!==(d=E.exec(a));){let a=d[1]||"",e=d[2],f=C(a,"name");if(!f)continue;let g=C(a,"content")??("string"==typeof e?e.trim():"");b[f]=g,c=!0}return c?b:null}(f),j=!!g||!!h||!!i,k=j?null:(0,s.n)(f);if(!k&&!j){let a=function(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d="",e=!1;for(let f=b;f<a.length;f+=1){let g=a[f];if(e){e=!1;continue}if(d){"\\"===g?e=!0:g===d&&(d="");continue}if('"'===g||"'"===g){d=g;continue}if("{"===g){c+=1;continue}if("}"===g&&0==(c-=1))return a.slice(b,f+1)}return null}(f);a&&(k=(0,s.n)(a))}let l=k?F(k.name)??F(k.type):null,m=g?(0,s.Ub)(g,c):null,n=l?(0,s.Ub)(l,c):null,o=a?(0,s.Ub)(a,c):null,p=null,q=!1,r=(a,b)=>{!p&&a&&(p=a,q=b)};if(r(m,!1),r(n,!1),r(o,!0),r(g,!1),r(l,!1),r(a,!0),!p&&!a&&k){let a=F(k.command),b=a?(0,s.Ub)(a,c):null;b&&(p=b,q=!1)}if(!p&&i&&d&&d.size>0){let a=Object.keys(i);if(a.length>0){let b=[];for(let[c,e]of d)e.size>0&&a.every(a=>e.has(a))&&b.push(c);1===b.length&&(p=b[0],q=!1)}}if(!p)return null;if(h)e=(0,s.n)(h)??h;else if(i)e=i;else if(k)if(void 0!==k.arguments)e=k.arguments;else if(void 0!==k.params)e=k.params;else if(q)e=k;else{let{name:a,type:b,id:c,command:d,arguments:f,params:g,...h}=k;e=h}else e={};return{name:p,arguments:(0,s.r3)(e)}}(c,d,g,k);if(e){if(n){let a=(0,s.n)(d);if(a&&"string"==typeof a.name&&void 0!==a._nonce&&a._nonce!==n)continue}m.push({start:b.open.start,end:b.close.end,call:e})}}let o=[];if(i)for(let a of(o=i.strip,i.calls))m.push({start:a.start,end:a.end,call:{name:a.name,arguments:(0,s.r3)(a.args)}});if(0===m.length)return{content:a,toolCalls:null};m.sort((a,b)=>a.start-b.start);let p=[],q=[];for(let a of m)p.push({id:`${b}_${p.length}`,type:"function",function:{name:a.call.name,arguments:a.call.arguments}}),q.push({start:a.start,end:a.end});let r=[...q,...o,...j.filter(a=>!q.some(b=>a.start>=b.start&&a.end<=b.end)).map(a=>({start:a.start,end:a.end}))],t=(0,s.LW)(a,r);return p.length>0&&(t=t.replace(/<parameter\b[^>]*>[\s\S]*?(?:<\/parameter>|$)/gi,"").replace(/<\/?(?:parameter|invoke|tool|calls|tool_calls|function_calls)\b[^>]*>/gi,"").replace(/\n{3,}/g,"\n\n").trim()),function(a,b,c){if(!b.toolCalls)return b;let d=(0,s.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,s.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};if(!("_nonce"in b)){e.push(f);continue}if(b._nonce!==d)return{content:a,toolCalls:null};let{_nonce:g,...h}=b;if(!x(c,f.function.name,h))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(h)}})}return{content:b.content,toolCalls:e}}(a,{content:t,toolCalls:p},c)}function U(a,{min:b=-Number.MAX_SAFE_INTEGER,max:c=Number.MAX_SAFE_INTEGER}={}){return Number.isSafeInteger(a)&&a>=b&&a<=c}async function V(a){let b=await fetch("https://chat.deepseek.com/api/v0/chat/create_pow_challenge",{method:"POST",headers:{...a.headers,"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`},body:JSON.stringify({target_path:a.targetPath}),signal:a.signal??void 0});if(!b.ok)throw Error(`create_pow_challenge HTTP ${b.status}`);let c=await b.json(),d={...c?.data?.biz_data?.challenge??c?.biz_data?.challenge,target_path:a.targetPath};if(!d||"string"!=typeof d.algorithm||"string"!=typeof d.challenge||"string"!=typeof d.salt||"string"!=typeof d.signature||!U(d.difficulty,{min:1})||!U(d.expire_at,{min:0})||"string"!=typeof d.target_path)throw Error("Invalid DeepSeek PoW challenge");return d}function W(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function X(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function Y(a,b){let c=a.replace(/FINISHED/g,"").replace(/^(SEARCH|WEB_SEARCH|SEARCHING)\s*/i,"");return X(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function Z(a,b){return 0===a.length||b.toLowerCase().includes("search-silent")?"":a.filter(a=>a.cite_index).sort((a,b)=>(a.cite_index||0)-(b.cite_index||0)).map(a=>`[${a.cite_index}]: [${a.title}](${a.url})`).join("\n")}let $="https://chat.deepseek.com",_=`${$}/api`,aa=`${_}/v0/chat/completion`,ab={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:$,Referer:`${$}/`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","X-Client-Bundle-Id":"com.deepseek.chat","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"2.0.0"},ac=new Map,ad=new Map;function ae(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function af(a){let b=a?.apiKey||a?.accessToken;if("string"!=typeof b||0===b.length)return null;try{let a=JSON.parse(b);if("string"==typeof a?.value)return a.value}catch{}return b}function ag(a,b,c){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c??`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}function ah(){let a=Date.now(),b=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)});return`intercom-HWWAFSESTIME=${a}; HWWAFSESID=${Array.from({length:18},()=>Math.floor(16*Math.random()).toString(16)).join("")}; Hm_lvt_${b()}=${Math.floor(a/1e3)}; _frid=${b()}`}async function ai(a,b){let c=await r(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at,{signal:b});if(c<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:c,signature:a.signature,target_path:a.target_path})).toString("base64")}async function aj(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=!1,j=b||"deepseek-web",k=W(j),l=[],m=a=>{let b=Y(a,j);if(!b)return;let c=h;!c&&k?c="thinking":!c&&X(j)&&(c="content"),"thinking"===c?g+=b:f+=b},n=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?h="thinking":("ANSWER"===c||"RESPONSE"===c)&&(h="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?h="thinking":("ANSWER"===b||"RESPONSE"===b)&&(h="content")}m(a.content)}};for(;;){let{done:a,value:b}=await d.read();if(a)break;let f=(e+=c.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let b=a.replace(/^data:\s*/,"").trim();try{let a=JSON.parse(b),c=a?.p,d=a?.v;if("response/status"===c&&"FINISHED"===d&&(i=!0),d&&"object"==typeof d&&d.response&&(!0===d.response.thinking_enabled?h="thinking":!1===d.response.thinking_enabled&&(h="content"),Array.isArray(d.response.fragments)))for(let a of d.response.fragments)n(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)n(a,!0);else d&&"object"==typeof d&&n(d,!0);if("response"===c&&Array.isArray(d))for(let a of d)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(h="thinking");if("response/search_status"===c)continue;if("response/search_results"===c&&Array.isArray(d)){if(a?.o!=="BATCH")l.length=0,l.push(...d);else for(let a of d){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);l[c]&&(l[c].cite_index=a.v)}}continue}if("string"==typeof d)m(d);else if(Array.isArray(d)&&"response"===c){for(let a of d)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&m(b)}}}catch{}}}let o=Z(l,j);if(o&&(f+=`
|
|
267
267
|
|
|
268
268
|
${o}`),!i)throw Error("DeepSeek web session ended before completion (no FINISHED signal received) — likely a dropped cookie session or network interruption upstream. Retry the request.");return{content:f,reasoningContent:g}}async function ak(a,b,c){let d=ac.get(a);if(d&&d.expiresAt>Math.floor(Date.now()/1e3))return d.accessToken;c?.info?.("DEEPSEEK-WEB","Acquiring access token from /users/current...");let e=await fetch(`${_}/v0/users/current`,{headers:{Authorization:`Bearer ${a}`,...ab},signal:b??void 0});if(401===e.status||403===e.status)throw Error("Token invalid or expired — get a new userToken from DeepSeek localStorage");if(!e.ok)throw Error(`users/current HTTP ${e.status}`);let f=await e.json();if(f?.code&&0!==f.code){let b=f.msg||f?.data?.biz_msg||`error code ${f.code}`;throw ac.delete(a),Error(`DeepSeek rejected token: ${b}`)}let g=f?.data?.biz_data||f?.biz_data;if(!g?.token){let a=f?.msg||f?.data?.biz_msg||"Unknown error";throw Error(`Failed to acquire token: ${a}`)}let h=g.token;return ae(ac),ac.set(a,{accessToken:h,expiresAt:Math.floor(Date.now()/1e3)+3600}),c?.info?.("DEEPSEEK-WEB",`Access token acquired (${h.length} chars)`),h}async function al(a,b){let c=await fetch(`${_}/v0/chat_session/create`,{method:"POST",headers:{...ab,"Content-Type":"application/json",Authorization:`Bearer ${a}`,Cookie:ah()},body:JSON.stringify({}),signal:b??void 0});if(!c.ok)throw Error(`chat_session/create HTTP ${c.status}`);let d=await c.json(),e=d?.data?.biz_data||d?.biz_data,f=e?.chat_session?.id;if(!f)throw Error(`No session id: code=${d?.code}`);return f}async function am(a,b){try{await fetch(`${_}/v0/chat_session/delete`,{method:"POST",headers:{...ab,"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({chat_session_id:b})})}catch{}}async function an(a,b,c="/api/v0/chat/completion"){return V({accessToken:a,headers:ab,signal:b,targetPath:c})}class ao extends d.H{constructor(){super("deepseek-web",{baseUrl:$})}async testConnection(a,b){try{let c=af(a);if(!c)return!1;return!!await ak(c,b)}catch{return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:g,log:h}){var i,j;let k,l,m=b||{},n=m.tools,o=Array.isArray(n)&&n.length>0,p=o?function(a){if(!Array.isArray(a)||0===a.length)return"";let b=(0,s.OA)(a);if(!b)return"";let c=[];for(let d of a){let a=d?.function;if(!a?.name)continue;let e="string"==typeof a.description&&a.description?a.description:"",f="";try{let c=w(a.parameters),d=w(c?.properties),e=Array.isArray(c?.required)?c.required.filter(a=>"string"==typeof a):[],g=c?{...c,properties:{...d??{},_nonce:{type:"string",const:b}},required:[...new Set([...e,"_nonce"])]}:a.parameters;f=g?JSON.stringify(g):""}catch{f=""}c.push(`- ${a.name}${e?`: ${e}`:""}${f?`
|
|
269
269
|
parameters: ${f}`:""}`)}return 0===c.length?"":["You can call tools. To call a tool, output ONLY this exact block (no markdown fence):",`<tool>{"name": "<tool_name>", "arguments": { ... }, "_nonce": "${b}"}</tool>`,"Rules:","- Use exactly <tool>...</tool>. Do NOT use <tool:name>, <tool_call>, <name>, <parameter>, id=/name= attributes, <||DSML||> markers, or code fences.",`- Include the secret binding "_nonce": "${b}" exactly as shown.`,'- "name" must be one of the tools below; "arguments" must be a JSON object.',"- When a tool is needed, emit the <tool> block instead of only describing the plan.","- Emit one <tool> block per call; you may put several blocks back to back.","- If your runtime forces DSML instead, every DSML invoke MUST include this exact binding:",`<||DSML|| parameter name="_nonce" string="true">${b}</||DSML|| parameter>`," A DSML invoke without that binding is invalid and will be rejected.","- If no tool is needed, just answer normally without any <tool> block.","","Available tools:",...c].join("\n")}(n):"",q=Array.isArray(m.messages)?m.messages:[],r=p?[{role:"system",content:p},...q]:q,t=d??{},u=af(t);if(!u)return{response:ag(400,"Missing userToken — paste it from DeepSeek localStorage (DevTools → Application → Local Storage → chat.deepseek.com → userToken)"),url:aa,headers:{},transformedBody:b};let{modelType:v,thinkingEnabled:x,searchEnabled:y}=(l=(k=(a||"").toLowerCase()).includes("pro")||k.includes("expert")?"expert":"default",{modelType:l,thinkingEnabled:k.includes("r1")||k.includes("think")||k.includes("reason")||m?.thinking_enabled===!0||m?.thinking===!0||!!m?.reasoning_effort,searchEnabled:k.includes("search")||m?.search_enabled===!0||m?.search===!0||m?.web_search===!0}),B=t.providerSpecificData??{},C=!0===B.persistSession,D="number"==typeof B.historyWindow&&B.historyWindow>0?B.historyWindow:0;try{let b=Date.now(),d=await ak(u,g,h);h?.info?.("DEEPSEEK-WEB",`Token acquired in ${Date.now()-b}ms`);let k=o?function(a,b){let c=[];b&&c.push(b);let d=[],e=new Map,f=!1;for(let b of a)if("system"===b.role){let a=A(b.content).trim();a&&c.push(a)}else if("user"===b.role){let a=A(b.content).trim();a&&d.push(`User: ${a}`)}else if("assistant"===b.role){let a=A(b.content).trim(),c=Array.isArray(b.tool_calls)?b.tool_calls:[],g=[];for(let b of(a&&g.push(a),c)){let a="string"==typeof b?.function?.name?b.function.name:"",c=b?.function?.arguments,d="string"==typeof c&&c?c:JSON.stringify(c??{});b?.id&&e.set(b.id,a),g.push(`<tool>{"name": ${JSON.stringify(a)}, "arguments": ${d}}</tool>`),f=!0}g.length&&d.push(`Assistant: ${g.join("\n")}`)}else if("tool"===b.role){let a=A(b.content).trim(),c=b.tool_call_id&&e.get(b.tool_call_id)||b.name||"tool";d.push(`Tool result (${c}): ${a||"(no output)"}`),f=!0}let g=[];return c.length&&g.push(c.join("\n\n")),d.length&&g.push(d.join("\n\n")),f&&g.push("Continue the task using the tool results above. Do NOT repeat tool calls that already succeeded; perform the next step or give the final answer."),g.join("\n\n").replace(/!\[.*?\]\(.*?\)/g,"")}(q,p):function(a,b=0){if(0===a.length)return"";let c=[],d=[],e=new Map,f="";for(let b of a){var g;let a=(Array.isArray(g=b.content)?g.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):String(g||"")).trim();if("system"===b.role)a&&c.push(a);else if("user"===b.role||"assistant"===b.role)for(let c of(a&&d.push({role:b.role,text:a}),"user"===b.role&&(f=a),Array.isArray(b.tool_calls)?b.tool_calls:[]))c?.id&&"string"==typeof c.function?.name&&e.set(c.id,c.function.name);else if("tool"===b.role&&a){let c=b.tool_call_id&&e.get(b.tool_call_id)||b.name||"tool";d.push({role:"tool",text:`(${c}) ${a}`})}}let h=[];c.length>0&&h.push(c.join("\n\n"));let i=b>0?b:20*(d.length>1);if(i>0&&d.length>1){let a=d.slice(-i).map(a=>"assistant"===a.role?`Assistant: ${a.text}`:"tool"===a.role?`Tool result ${a.text}`:`User: ${a.text}`).join("\n\n");h.push(a)}else f&&h.push(f);return h.join("\n\n").replace(/!\[.*?\]\(.*?\)/g,"")}(r,D);h?.info?.("DEEPSEEK-WEB",`model_type=${v}, thinking=${x}, search=${y}, stream=${!1!==c}, persist=${C}, window=${D}`);let l=async(a,b=k)=>{let c=await an(d,g),e=await ai(c,g),f={...ab,"Content-Type":"application/json",Authorization:`Bearer ${d}`,"X-Ds-Pow-Response":e,"X-Client-Timezone-Offset":String(-60*new Date().getTimezoneOffset()),Cookie:ah()},h={chat_session_id:a,parent_message_id:null,model_type:v,prompt:b,ref_file_ids:Array.isArray(m.ref_file_ids)?m.ref_file_ids:[],thinking_enabled:x,search_enabled:y,preempt:!1};return{resp:await fetch(aa,{method:"POST",headers:f,body:JSON.stringify(h),signal:g??void 0}),reqHeaders:f,requestPayload:h}},t=async()=>{if(C){let a=ad.get(u);if(a)return{sessionId:a.sessionId,reused:!0};let b=await al(d,g);return ae(ad),ad.set(u,{sessionId:b,createdAt:Date.now()}),{sessionId:b,reused:!1}}return{sessionId:await al(d,g),reused:!1}};b=Date.now();let{sessionId:w,reused:B}=await t();h?.info?.("DEEPSEEK-WEB",`Session ${B?"reused":"created"} in ${Date.now()-b}ms`),b=Date.now(),h?.info?.("DEEPSEEK-WEB",`POST ${aa}`);let{resp:E,reqHeaders:F,requestPayload:G}=await l(w);if(h?.info?.("DEEPSEEK-WEB",`Completion response in ${Date.now()-b}ms, status=${E.status}`),!E.ok&&C&&B&&(h?.warn?.("DEEPSEEK-WEB","Reused session failed — retrying with a fresh session"),ad.delete(u),w=await al(d,g),ae(ad),ad.set(u,{sessionId:w,createdAt:Date.now()}),B=!1,{resp:E,reqHeaders:F,requestPayload:G}=await l(w)),!E.ok){let a=E.status,b=`DeepSeek API error (${a})`;401===a||403===a?(ac.delete(u),b="DeepSeek token expired — get a fresh userToken from localStorage."):429===a&&(b="DeepSeek rate limited. Wait and retry."),h?.warn?.("DEEPSEEK-WEB",b);try{let a=await E.json();a?.code&&0!==a.code&&(b=`DeepSeek error ${a.code}: ${a.msg}`)}catch{}return C&&ad.delete(u),am(d,w).catch(()=>{}),{response:ag(a,b),url:aa,headers:F,transformedBody:G}}if((E.headers.get("content-type")||"").includes("application/json"))try{let a=await E.json(),b=function(a){if(!a||"object"!=typeof a)return null;let b="number"==typeof a.code?a.code:void 0,c=a.msg,d=a.data?.biz_msg;return void 0!==b&&0!==b?{code:b,message:("string"==typeof c?c:"string"==typeof d?d:"")||`DeepSeek error ${b}`}:null}(a);if(b){let a=`DeepSeek error ${b.code}: ${b.message}`;h?.warn?.("DEEPSEEK-WEB",a);let c=40003===b.code?401:40002===b.code?429:502;return 40003===b.code&&ac.delete(u),C&&ad.delete(u),am(d,w).catch(()=>{}),{response:ag(c,a,b.code),url:aa,headers:F,transformedBody:G}}return C||am(d,w).catch(()=>{}),{response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json"}}),url:aa,headers:F,transformedBody:G}}catch{}let H=C?async()=>{}:()=>am(d,w),I="string"==typeof a&&a.trim()?a.trim():"deepseek-web";if(o){let{content:a,reasoningContent:b}=await aj(E.body,I),i=T(a,`call-${Date.now()}`,n),j=async a=>(await H(),{response:ag(502,a),url:aa,headers:F,transformedBody:G});if(function(a,b){if(z(a))return!0;if("string"!=typeof a||!a.trim())return!1;let c=(0,s.n)(a);if(!c||void 0===c.arguments)return!1;let d=[c.name,c.command].find(a=>"string"==typeof a&&a.length>0)??null;return!!d&&!!(0,s.Ub)(d,(0,s.x2)(b))}(i.content,n)){h?.warn?.("DEEPSEEK-WEB","Malformed tool envelope — retrying once with nonce binding"),ad.delete(u),await am(d,w).catch(()=>{}),w=await al(d,g),C&&(ae(ad),ad.set(u,{sessionId:w,createdAt:Date.now()}));let c=[k,"Your previous response used an invalid tool envelope and was rejected.","Retry the requested next action from scratch. Follow the client tool contract exactly, including its _nonce binding and argument schema. Do not emit bare JSON or unbound DSML."].join("\n\n");if({resp:E,reqHeaders:F,requestPayload:G}=await l(w,c),!E.ok)return j("DeepSeek tool-call repair request failed.");if({content:a,reasoningContent:b}=await aj(E.body,I),i=T(a,`call-${Date.now()}`,n),z(i.content))return j("DeepSeek emitted an invalid tool call after repair.")}return await H(),function(a){let{stream:b,clientModel:c,content:d,reasoningContent:g,toolCalls:h,reqHeaders:i,requestPayload:j}=a,k=!!h&&h.length>0,l=k?"tool_calls":"stop",m=`chatcmpl-${Date.now()}`,n=Math.floor(Date.now()/1e3);if(b){let a=new TextEncoder,b=(b,d,e)=>{b.enqueue(a.encode((0,f.N)({id:m,object:"chat.completion.chunk",created:n,model:c,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]})))};return{response:new Response(new ReadableStream({start(c){b(c,{role:"assistant",content:""},null),g&&b(c,{reasoning_content:g},null),d&&b(c,{content:d},null),k&&b(c,{tool_calls:h.map((a,b)=>({index:b,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}))},null),b(c,{},l),c.enqueue(a.encode(e.$U)),c.close()}}),{status:200,headers:{...e.uB}}),url:aa,headers:i,transformedBody:j}}let o={role:"assistant",content:d||""};return g&&(o.reasoning_content=g),k&&(o.tool_calls=h,d||(o.content=null)),{response:new Response(JSON.stringify({id:m,object:"chat.completion",created:n,model:c,choices:[{index:0,message:o,finish_reason:l,logprobs:null}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}}),url:aa,headers:i,transformedBody:j}}({stream:!1!==c,clientModel:I,content:i.content,reasoningContent:b,toolCalls:i.toolCalls,reqHeaders:F,requestPayload:G})}if(!1!==c){let a,b,c,d,g,h,k,l,m,n,o=(i=E.body,a=new TextEncoder,b=new TextDecoder,c=I||"deepseek-web",d=`chatcmpl-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,g=Math.floor(Date.now()/1e3),h=!1,k="",l=W(c),m=[],j=new ReadableStream({async start(j){var n;let o,p=i.getReader(),q="",r=(b,e)=>{j.enqueue(a.encode((0,f.N)({id:d,object:"chat.completion.chunk",created:g,model:c,system_fingerprint:null,choices:[{index:0,delta:b,finish_reason:e??null,logprobs:null}]})))},s=()=>{h||(h=!0,r({role:"assistant",content:""}))},{finishOnce:t,hasFinished:u}=(n=()=>{let b=Z(m,c);b&&(s(),r({content:`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=6457,exports.ids=[6457],exports.modules={66457:(a,b,c)=>{c.d(b,{rI:()=>bd,cw:()=>bb,Lh:()=>ba,Z2:()=>aq,Lx:()=>be,DA:()=>bc,u7:()=>a9,rH:()=>a5,Rg:()=>ae,mh:()=>a4,cb:()=>ad,Al:()=>J,jd:()=>o,Dd:()=>H,SF:()=>aB,oN:()=>a2,H4:()=>a6,Qn:()=>$,Jv:()=>af,A1:()=>aM,nN:()=>Q,si:()=>aT,D:()=>aJ,xh:()=>aC,a$:()=>aG,Kp:()=>aH,hp:()=>aI,ss:()=>P,C7:()=>m,X$:()=>aa,LC:()=>aX});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"tunnel"),j=g().join(i,"state.json"),k="abcdefghijklmnpqrstuvwxyz23456789";function l(){e().existsSync(i)||e().mkdirSync(i,{recursive:!0})}function m(){try{if(e().existsSync(j))return JSON.parse(e().readFileSync(j,"utf8"))}catch{}return null}function n(a){l(),e().writeFileSync(j,JSON.stringify(a,null,2))}function o(){let a="";for(let b=0;b<6;b++)a+=k.charAt(Math.floor(Math.random()*k.length));return a}var p=c(55591),q=c.n(p),r=c(21820),s=c.n(r),t=c(79646);let u=g().join(i,"cloudflared.pid");function v(){try{if(e().existsSync(u))return parseInt(e().readFileSync(u,"utf8"))}catch{}return null}function w(a=null){try{if(!e().existsSync(u)||null!==a&&v()!==a)return!1;return e().unlinkSync(u),!0}catch{}return!1}let x=g().join(h.n,"bin"),y="cloudflared",z="win32"===s().platform(),A=z?`${y}.exe`:y,B=g().join(x,A),C="http2",D=new Set(["http2","quic","auto"]),E={darwin:{x64:"cloudflared-darwin-amd64.tgz",arm64:"cloudflared-darwin-arm64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-386.exe"},linux:{x64:"cloudflared-linux-amd64",arm64:"cloudflared-linux-arm64"}},F={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},G={downloading:!1,progress:0};function H(){return{downloading:G.downloading,progress:G.progress}}let I=null;async function J(){return I||(I=K().finally(()=>{I=null}))}async function K(){e().existsSync(x)||e().mkdirSync(x,{recursive:!0});let a=`${B}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(B))if(function(a){try{if(e().statSync(a).size<1048576)return!1;let b=e().openSync(a,"r"),c=Buffer.alloc(4);e().readSync(b,c,0,4,0),e().closeSync(b);let d=c.toString("hex");if(z)return d.startsWith("4d5a");if("darwin"===s().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(B))return z||e().chmodSync(B,"755"),B;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(B);let b=function(){let a=s().platform(),b=s().arch(),c=E[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||F[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(x,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);q().get(b,b=>{if([301,302,303,307,308].includes(b.statusCode)){g.close(),e().unlinkSync(c),a(b.headers.location,c).then(d).catch(f);return}if(200!==b.statusCode){g.close(),e().unlinkSync(c),f(Error(`Download failed with status ${b.statusCode}`));return}let h=parseInt(b.headers["content-length"],10)||0,i=0;G.downloading=!0,G.progress=0,b.on("data",a=>{i+=a.length,h>0&&(G.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{G.downloading=!1,G.progress=100,g.close(()=>d(c))}),g.on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,t.execSync)(`tar -xzf "${d}" -C "${x}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,B),z||e().chmodSync(B,"755"),B}let L=null,M=null,N=!1;async function O(a,b){var c;let d=await J(),f=e().mkdtempSync(g().join(s().tmpdir(),"cloudflared-quick-")),h=g().join(f,"config.yml");e().writeFileSync(h,"# quick-tunnel config placeholder\n","utf8");let i=!1,j=()=>{if(!i){i=!0;try{e().rmSync(f,{recursive:!0,force:!0})}catch(a){}}},k=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||C).trim().toLowerCase(),m=D.has(k)?k:C,n=(0,t.spawn)(d,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",h,"--no-autoupdate","--retries","99"],{detached:!1,windowsHide:!0,cwd:s().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:m},stdio:["ignore","pipe","pipe"]});return L=n,c=n.pid,l(),e().writeFileSync(u,c.toString()),new Promise((c,d)=>{let e=!1,f="",g=setTimeout(()=>{e||(e=!0,j(),d(Error(`Quick tunnel timed out. Last log: ${f.slice(-800)||"(empty)"}`)))},9e4),h=null,i=a=>{let d=a.toString();f=(f+d).slice(-4e3);let i=function(a){let b=[];for(let c of a.matchAll(/https:\/\/([a-z0-9-]+)\.trycloudflare\.com/gi)){let a=c[1];"api"!==a&&b.push(`https://${a}.trycloudflare.com`)}return b.length?b[b.length-1]:null}(d);if(i){if(!e){e=!0,h=i,clearTimeout(g),j(),console.log(`[Tunnel] cloudflared URL: ${i}`),c({child:n,tunnelUrl:i});return}i!==h&&(console.log(`[Tunnel] cloudflared URL changed: ${i}`),h=i,b&&b(i))}};n.stdout.on("data",i),n.stderr.on("data",i),n.on("error",a=>{e||(e=!0,clearTimeout(g),j(),d(a))}),n.on("exit",(b,c)=>{if(L===n&&(L=null),w(n.pid),N){N=!1,clearTimeout(g),j(),e||(e=!0,d(Error("cloudflared killed")));return}if(console.log(`[Tunnel] cloudflared exit code=${b} signal=${c}`),!e){e=!0,clearTimeout(g),j();let c=f.slice(-600).trim()||"(empty)";1===b?d(Error(`cloudflared quick tunnel exited (code 1). Common causes: (1) outbound port 7844 (TCP/UDP) blocked, (2) TryCloudflare service issue, (3) cannot reach 127.0.0.1:${a}, (4) protocol (http2/quic) blocked by network. Last log: ${c}`)):2===b?d(Error(`cloudflared exited (code 2). Bad arguments. Last log: ${c}`)):d(Error(`cloudflared exited (code ${b}). Last log: ${c}`));return}M&&M(),j()})})}function P(a){if(N=!0,L){try{L.kill()}catch(a){}L=null}let b=v();if(b){try{process.kill(b)}catch(a){}w()}if(a)try{if(z){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,t.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,t.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function Q(){let a=v();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}var R=c(14985),S=c.n(R);let T=new(S()).promises.Resolver;async function U(a,b){let c=a=>Promise.race([a(),new Promise((a,c)=>setTimeout(()=>c(Error("dns timeout")),b))]).then(()=>!0).catch(()=>!1);return!!await c(()=>T.resolve4(a))||c(()=>S().promises.resolve4(a))}T.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);let V=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us";async function W(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function X(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<6e4;){if(b.cancelled)throw Error("cancelled");if(await W(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 60000ms")}var Y=c(89718);let Z={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function $(){return Z}let _=null;function aa(a){_=a}async function ab(a,b){await fetch(`${V}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function ac(a){if(a.cancelled)throw Error("tunnel cancelled")}async function ad(a=20128){console.log(`[Tunnel] enable start (port=${a})`),Z.cancelToken={cancelled:!1},Z.activeLocalPort=a,Z.spawnInProgress=!0;let b=Z.cancelToken;try{if(Q()){let a=m();if(a?.tunnelUrl&&a?.shortId){let b=`https://r${a.shortId}.abc-tunnel.us`,[c,d]=await Promise.all([W(a.tunnelUrl),W(b)]);if(c&&d)return console.log(`[Tunnel] already running, reuse: ${a.tunnelUrl}`),{success:!0,tunnelUrl:a.tunnelUrl,shortId:a.shortId,publicUrl:b,alreadyRunning:!0};console.log(`[Tunnel] stale (direct=${c} public=${d}), respawn`)}}P(a),console.log("[Tunnel] killed existing cloudflared"),ac(b);let c=m(),d=c?.shortId||o(),e=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await ab(d,a),n({shortId:d,tunnelUrl:a}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:a}))};M=()=>{console.warn("[Tunnel] cloudflared exited unexpectedly, scheduling respawn"),_&&_()};let{tunnelUrl:f}=await O(a,e);console.log(`[Tunnel] spawned: ${f}`),ac(b);let g=`https://r${d}.abc-tunnel.us`;return await ab(d,f),n({shortId:d,tunnelUrl:f}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:f}),console.log(`[Tunnel] registered shortId=${d} publicUrl=${g}`),await X(g,b),console.log("[Tunnel] public URL healthy"),await W(f)?console.log("[Tunnel] direct URL healthy"):console.warn("[Tunnel] direct URL not reachable yet, continuing via publicUrl"),console.log("[Tunnel] enable success"),{success:!0,tunnelUrl:f,shortId:d,publicUrl:g}}catch(a){throw/cloudflared killed|tunnel cancelled/.test(a.message)||console.error(`[Tunnel] enable error: ${a.message}`),a}finally{Z.spawnInProgress=!1}}async function ae(){console.log("[Tunnel] disable"),Z.cancelToken.cancelled=!0,M=null;try{P(Z.activeLocalPort)}catch(a){console.warn(`[Tunnel] kill warn: ${a.message}`)}w();let a=m();return a&&n({shortId:a.shortId,tunnelUrl:null}),await (0,Y.Xx)({tunnelEnabled:!1,tunnelUrl:""}),Z.spawnInProgress=!1,Z.activeLocalPort=null,{success:!0}}async function af(){let a=!0===(await (0,Y.mt)()).tunnelEnabled,b=m(),c=b?.shortId||"",d=c?`https://r${c}.abc-tunnel.us`:"",e=b?.tunnelUrl||"",f=!!a&&Q();return{enabled:a&&f,settingsEnabled:a,tunnelUrl:e,shortId:c,publicUrl:d,running:f}}var ag=c(55511),ah=c.n(ag),ai=c(28354),aj=c(66936);let ak=(0,ai.promisify)(t.exec),al=g().join(h.n,"bin"),am="darwin"===s().platform();s().platform();let an="win32"===s().platform(),ao=g().join(al,an?"tailscale.exe":"tailscale"),ap=g().join(h.n,"tailscale"),aq=g().join(ap,"tailscaled.sock"),ar=an?[]:["--socket",aq],as=an?null:"/var/run/tailscale/tailscaled.sock",at=as?["--socket",as]:[],au="C:\\Program Files\\Tailscale\\tailscale.exe",av=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/sbin/tailscale","/usr/bin/tailscale","/snap/bin/tailscale"],aw={value:void 0,fetchedAt:0,refreshing:!1},ax={value:!1,fetchedAt:0,refreshing:!1},ay={value:!1,fetchedAt:0,refreshing:!1},az={value:null,port:null,fetchedAt:0,refreshing:!1};function aA(){return e().existsSync(ao)?ao:an&&e().existsSync(au)?au:!an&&av.find(a=>e().existsSync(a))||null}function aB(){return Date.now()-aw.fetchedAt>1e4&&(aw.refreshing||(aw.refreshing=!0,ak(an?"where tailscale 2>nul":"which tailscale 2>/dev/null",{windowsHide:!0,timeout:1500,env:{...process.env,PATH:aN}}).then(({stdout:a})=>{aw.value=a.trim()||aA()}).catch(()=>{aw.value=aA()}).finally(()=>{aw.fetchedAt=Date.now(),aw.refreshing=!1}))),void 0===aw.value&&(e().existsSync(ao)?aw.value=ao:an&&e().existsSync(au)?aw.value=au:an?aw.value=null:aw.value=av.find(a=>e().existsSync(a))||null),aw.value}function aC(){return null!==aB()}function aD(...a){return[...ar,...a]}async function aE(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d="Running"===c.BackendState&&c.Self?.Online===!0;return ay.value=d,ay.fetchedAt=Date.now(),d}catch{return!1}}async function aF(a){for(let b of[ar,at])try{let{stdout:c}=await ak(`"${a}" ${b.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return JSON.parse(c)}catch{}return null}function aG(){return Date.now()-ay.fetchedAt>1e4&&function(){if(ay.refreshing)return;let a=aB();if(!a){ay.value=!1,ay.fetchedAt=Date.now();return}ay.refreshing=!0,aF(a).then(a=>{ay.value=!!a&&"Running"===a.BackendState&&a.Self?.Online===!0}).catch(()=>{ay.value=!1}).finally(()=>{ay.fetchedAt=Date.now(),ay.refreshing=!1})}(),ay.value}function aH(){return Date.now()-ax.fetchedAt>1e4&&function(){if(ax.refreshing)return;let a=aB();if(!a){ax.value=!1,ax.fetchedAt=Date.now();return}ax.refreshing=!0,ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);ax.value=Object.keys(b.AllowFunnel||{}).length>0}catch{ax.value=!1}}).catch(()=>{ax.value=!1}).finally(()=>{ax.fetchedAt=Date.now(),ax.refreshing=!1})}(),ax.value}async function aI(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return ax.value=d,ax.fetchedAt=Date.now(),d}catch{return!1}}function aJ(){if(an||!as||!e().existsSync(as))return!1;let a=aB();if(!a)return!1;try{let b=(0,t.execSync)(`"${a}" ${at.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return"Running"===JSON.parse(b).BackendState}catch{return!1}}function aK(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function aL(a){return(Date.now()-az.fetchedAt>1e4||az.port!==a)&&function(a){if(az.refreshing)return;let b=aB();b&&(az.refreshing=!0,ak(`"${b}" ${ar.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");az.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{az.port=a,az.fetchedAt=Date.now(),az.refreshing=!1}))}(a),az.value}async function aM(a,b,c){let d=c||(()=>{});return an?(await aQ(d),{success:!0}):(am?await aO(a,d):await aP(a,d),d("Starting daemon..."),await aU(a),d("Logging in..."),aW(b))}let aN=`/usr/local/bin:/opt/homebrew/bin:/usr/sbin:/usr/bin:/bin:/snap/bin:${process.env.PATH||""}`;async function aO(a,b){if(function(){try{return(0,t.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,t.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:aN}});d.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.on("close",b=>{0===b?a():c(Error(`brew install failed (code ${b})`))}),d.on("error",c)});return}let c=g().join(s().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,t.spawn)("curl",["-fL","--progress-bar","https://pkgs.tailscale.com/stable/tailscale-latest.pkg","-o",c],{stdio:["ignore","pipe","pipe"],windowsHide:!0});e.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),e.on("close",b=>{0===b?a():d(Error("Download failed"))}),e.on("error",d)}),b("Installing package..."),await new Promise((d,e)=>{let f=(0,t.spawn)("sudo",["-S","installer","-pkg",c,"-target","/"],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),g="";f.stderr.on("data",a=>{g+=a.toString()}),f.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),f.on("close",a=>{try{(0,t.execSync)(`rm -f ${c}`,{stdio:"ignore",windowsHide:!0})}catch{}0===a?d():e(Error(g.includes("incorrect password")||g.includes("Sorry")?"Wrong sudo password":g||`Exit code ${a}`))}),f.on("error",e),f.stdin.write(`${a}
|
|
1
|
+
"use strict";exports.id=6457,exports.ids=[6457],exports.modules={66457:(a,b,c)=>{c.d(b,{rI:()=>bd,cw:()=>bb,Lh:()=>ba,Z2:()=>aq,Lx:()=>be,DA:()=>bc,u7:()=>a9,rH:()=>a5,Rg:()=>ae,mh:()=>a4,cb:()=>ad,Al:()=>J,jd:()=>o,Dd:()=>H,SF:()=>aB,oN:()=>a2,H4:()=>a6,Qn:()=>$,Jv:()=>af,A1:()=>aM,nN:()=>Q,si:()=>aT,D:()=>aJ,xh:()=>aC,a$:()=>aG,Kp:()=>aH,hp:()=>aI,ss:()=>P,C7:()=>m,X$:()=>aa,LC:()=>aX});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"tunnel"),j=g().join(i,"state.json"),k="abcdefghijklmnpqrstuvwxyz23456789";function l(){e().existsSync(i)||e().mkdirSync(i,{recursive:!0})}function m(){try{if(e().existsSync(j))return JSON.parse(e().readFileSync(j,"utf8"))}catch{}return null}function n(a){l(),e().writeFileSync(j,JSON.stringify(a,null,2))}function o(){let a="";for(let b=0;b<6;b++)a+=k.charAt(Math.floor(Math.random()*k.length));return a}var p=c(55591),q=c.n(p),r=c(21820),s=c.n(r),t=c(79646);let u=g().join(i,"cloudflared.pid");function v(){try{if(e().existsSync(u))return parseInt(e().readFileSync(u,"utf8"))}catch{}return null}function w(a=null){try{if(!e().existsSync(u)||null!==a&&v()!==a)return!1;return e().unlinkSync(u),!0}catch{}return!1}let x=g().join(h.n,"bin"),y="cloudflared",z="win32"===s().platform(),A=z?`${y}.exe`:y,B=g().join(x,A),C="http2",D=new Set(["http2","quic","auto"]),E={darwin:{x64:"cloudflared-darwin-amd64.tgz",arm64:"cloudflared-darwin-arm64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-386.exe"},linux:{x64:"cloudflared-linux-amd64",arm64:"cloudflared-linux-arm64"}},F={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},G={downloading:!1,progress:0};function H(){return{downloading:G.downloading,progress:G.progress}}let I=null;async function J(){return I||(I=K().finally(()=>{I=null}))}async function K(){e().existsSync(x)||e().mkdirSync(x,{recursive:!0});let a=`${B}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(B))if(function(a){try{if(e().statSync(a).size<1048576)return!1;let b=e().openSync(a,"r"),c=Buffer.alloc(4);e().readSync(b,c,0,4,0),e().closeSync(b);let d=c.toString("hex");if(z)return d.startsWith("4d5a");if("darwin"===s().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(B))return z||e().chmodSync(B,"755"),B;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(B);let b=function(){let a=s().platform(),b=s().arch(),c=E[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||F[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(x,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);q().get(b,b=>{if([301,302,303,307,308].includes(b.statusCode)){g.close(),e().unlinkSync(c),a(b.headers.location,c).then(d).catch(f);return}if(200!==b.statusCode){g.close(),e().unlinkSync(c),f(Error(`Download failed with status ${b.statusCode}`));return}let h=parseInt(b.headers["content-length"],10)||0,i=0;G.downloading=!0,G.progress=0,b.on("data",a=>{i+=a.length,h>0&&(G.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{G.downloading=!1,G.progress=100,g.close(()=>d(c))}),g.on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,t.execSync)(`tar -xzf "${d}" -C "${x}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,B),z||e().chmodSync(B,"755"),B}let L=null,M=null,N=!1;async function O(a,b){var c;let d=await J(),f=e().mkdtempSync(g().join(s().tmpdir(),"cloudflared-quick-")),h=g().join(f,"config.yml");e().writeFileSync(h,"# quick-tunnel config placeholder\n","utf8");let i=!1,j=()=>{if(!i){i=!0;try{e().rmSync(f,{recursive:!0,force:!0})}catch(a){}}},k=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||C).trim().toLowerCase(),m=D.has(k)?k:C,n=(0,t.spawn)(d,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",h,"--no-autoupdate","--retries","99"],{detached:!1,windowsHide:!0,cwd:s().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:m},stdio:["ignore","pipe","pipe"]});return L=n,c=n.pid,l(),e().writeFileSync(u,c.toString()),new Promise((c,d)=>{let e=!1,f="",g=setTimeout(()=>{e||(e=!0,j(),d(Error(`Quick tunnel timed out. Last log: ${f.slice(-800)||"(empty)"}`)))},9e4),h=null,i=a=>{let d=a.toString();f=(f+d).slice(-4e3);let i=function(a){let b=[];for(let c of a.matchAll(/https:\/\/([a-z0-9-]+)\.trycloudflare\.com/gi)){let a=c[1];"api"!==a&&b.push(`https://${a}.trycloudflare.com`)}return b.length?b[b.length-1]:null}(d);if(i){if(!e){e=!0,h=i,clearTimeout(g),j(),console.log(`[Tunnel] cloudflared URL: ${i}`),c({child:n,tunnelUrl:i});return}i!==h&&(console.log(`[Tunnel] cloudflared URL changed: ${i}`),h=i,b&&b(i))}};n.stdout.on("data",i),n.stderr.on("data",i),n.on("error",a=>{e||(e=!0,clearTimeout(g),j(),d(a))}),n.on("exit",(b,c)=>{if(L===n&&(L=null),w(n.pid),N){N=!1,clearTimeout(g),j(),e||(e=!0,d(Error("cloudflared killed")));return}if(console.log(`[Tunnel] cloudflared exit code=${b} signal=${c}`),!e){e=!0,clearTimeout(g),j();let c=f.slice(-600).trim()||"(empty)";1===b?d(Error(`cloudflared quick tunnel exited (code 1). Common causes: (1) outbound port 7844 (TCP/UDP) blocked, (2) TryCloudflare service issue, (3) cannot reach 127.0.0.1:${a}, (4) protocol (http2/quic) blocked by network. Last log: ${c}`)):2===b?d(Error(`cloudflared exited (code 2). Bad arguments. Last log: ${c}`)):d(Error(`cloudflared exited (code ${b}). Last log: ${c}`));return}M&&M(),j()})})}function P(a){if(N=!0,L){try{L.kill()}catch(a){}L=null}let b=v();if(b){try{process.kill(b)}catch(a){}w()}if(a)try{if(z){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,t.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,t.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function Q(){let a=v();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}var R=c(14985),S=c.n(R);let T=new(S()).promises.Resolver;async function U(a,b){let c=a=>Promise.race([a(),new Promise((a,c)=>setTimeout(()=>c(Error("dns timeout")),b))]).then(()=>!0).catch(()=>!1);return!!await c(()=>T.resolve4(a))||c(()=>S().promises.resolve4(a))}T.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);let V=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us";async function W(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function X(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<6e4;){if(b.cancelled)throw Error("cancelled");if(await W(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 60000ms")}var Y=c(89718);let Z={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function $(){return Z}let _=null;function aa(a){_=a}async function ab(a,b){await fetch(`${V}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function ac(a){if(a.cancelled)throw Error("tunnel cancelled")}async function ad(a=20131){console.log(`[Tunnel] enable start (port=${a})`),Z.cancelToken={cancelled:!1},Z.activeLocalPort=a,Z.spawnInProgress=!0;let b=Z.cancelToken;try{if(Q()){let a=m();if(a?.tunnelUrl&&a?.shortId){let b=`https://r${a.shortId}.abc-tunnel.us`,[c,d]=await Promise.all([W(a.tunnelUrl),W(b)]);if(c&&d)return console.log(`[Tunnel] already running, reuse: ${a.tunnelUrl}`),{success:!0,tunnelUrl:a.tunnelUrl,shortId:a.shortId,publicUrl:b,alreadyRunning:!0};console.log(`[Tunnel] stale (direct=${c} public=${d}), respawn`)}}P(a),console.log("[Tunnel] killed existing cloudflared"),ac(b);let c=m(),d=c?.shortId||o(),e=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await ab(d,a),n({shortId:d,tunnelUrl:a}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:a}))};M=()=>{console.warn("[Tunnel] cloudflared exited unexpectedly, scheduling respawn"),_&&_()};let{tunnelUrl:f}=await O(a,e);console.log(`[Tunnel] spawned: ${f}`),ac(b);let g=`https://r${d}.abc-tunnel.us`;return await ab(d,f),n({shortId:d,tunnelUrl:f}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:f}),console.log(`[Tunnel] registered shortId=${d} publicUrl=${g}`),await X(g,b),console.log("[Tunnel] public URL healthy"),await W(f)?console.log("[Tunnel] direct URL healthy"):console.warn("[Tunnel] direct URL not reachable yet, continuing via publicUrl"),console.log("[Tunnel] enable success"),{success:!0,tunnelUrl:f,shortId:d,publicUrl:g}}catch(a){throw/cloudflared killed|tunnel cancelled/.test(a.message)||console.error(`[Tunnel] enable error: ${a.message}`),a}finally{Z.spawnInProgress=!1}}async function ae(){console.log("[Tunnel] disable"),Z.cancelToken.cancelled=!0,M=null;try{P(Z.activeLocalPort)}catch(a){console.warn(`[Tunnel] kill warn: ${a.message}`)}w();let a=m();return a&&n({shortId:a.shortId,tunnelUrl:null}),await (0,Y.Xx)({tunnelEnabled:!1,tunnelUrl:""}),Z.spawnInProgress=!1,Z.activeLocalPort=null,{success:!0}}async function af(){let a=!0===(await (0,Y.mt)()).tunnelEnabled,b=m(),c=b?.shortId||"",d=c?`https://r${c}.abc-tunnel.us`:"",e=b?.tunnelUrl||"",f=!!a&&Q();return{enabled:a&&f,settingsEnabled:a,tunnelUrl:e,shortId:c,publicUrl:d,running:f}}var ag=c(55511),ah=c.n(ag),ai=c(28354),aj=c(66936);let ak=(0,ai.promisify)(t.exec),al=g().join(h.n,"bin"),am="darwin"===s().platform();s().platform();let an="win32"===s().platform(),ao=g().join(al,an?"tailscale.exe":"tailscale"),ap=g().join(h.n,"tailscale"),aq=g().join(ap,"tailscaled.sock"),ar=an?[]:["--socket",aq],as=an?null:"/var/run/tailscale/tailscaled.sock",at=as?["--socket",as]:[],au="C:\\Program Files\\Tailscale\\tailscale.exe",av=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/sbin/tailscale","/usr/bin/tailscale","/snap/bin/tailscale"],aw={value:void 0,fetchedAt:0,refreshing:!1},ax={value:!1,fetchedAt:0,refreshing:!1},ay={value:!1,fetchedAt:0,refreshing:!1},az={value:null,port:null,fetchedAt:0,refreshing:!1};function aA(){return e().existsSync(ao)?ao:an&&e().existsSync(au)?au:!an&&av.find(a=>e().existsSync(a))||null}function aB(){return Date.now()-aw.fetchedAt>1e4&&(aw.refreshing||(aw.refreshing=!0,ak(an?"where tailscale 2>nul":"which tailscale 2>/dev/null",{windowsHide:!0,timeout:1500,env:{...process.env,PATH:aN}}).then(({stdout:a})=>{aw.value=a.trim()||aA()}).catch(()=>{aw.value=aA()}).finally(()=>{aw.fetchedAt=Date.now(),aw.refreshing=!1}))),void 0===aw.value&&(e().existsSync(ao)?aw.value=ao:an&&e().existsSync(au)?aw.value=au:an?aw.value=null:aw.value=av.find(a=>e().existsSync(a))||null),aw.value}function aC(){return null!==aB()}function aD(...a){return[...ar,...a]}async function aE(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d="Running"===c.BackendState&&c.Self?.Online===!0;return ay.value=d,ay.fetchedAt=Date.now(),d}catch{return!1}}async function aF(a){for(let b of[ar,at])try{let{stdout:c}=await ak(`"${a}" ${b.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return JSON.parse(c)}catch{}return null}function aG(){return Date.now()-ay.fetchedAt>1e4&&function(){if(ay.refreshing)return;let a=aB();if(!a){ay.value=!1,ay.fetchedAt=Date.now();return}ay.refreshing=!0,aF(a).then(a=>{ay.value=!!a&&"Running"===a.BackendState&&a.Self?.Online===!0}).catch(()=>{ay.value=!1}).finally(()=>{ay.fetchedAt=Date.now(),ay.refreshing=!1})}(),ay.value}function aH(){return Date.now()-ax.fetchedAt>1e4&&function(){if(ax.refreshing)return;let a=aB();if(!a){ax.value=!1,ax.fetchedAt=Date.now();return}ax.refreshing=!0,ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);ax.value=Object.keys(b.AllowFunnel||{}).length>0}catch{ax.value=!1}}).catch(()=>{ax.value=!1}).finally(()=>{ax.fetchedAt=Date.now(),ax.refreshing=!1})}(),ax.value}async function aI(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return ax.value=d,ax.fetchedAt=Date.now(),d}catch{return!1}}function aJ(){if(an||!as||!e().existsSync(as))return!1;let a=aB();if(!a)return!1;try{let b=(0,t.execSync)(`"${a}" ${at.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return"Running"===JSON.parse(b).BackendState}catch{return!1}}function aK(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function aL(a){return(Date.now()-az.fetchedAt>1e4||az.port!==a)&&function(a){if(az.refreshing)return;let b=aB();b&&(az.refreshing=!0,ak(`"${b}" ${ar.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");az.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{az.port=a,az.fetchedAt=Date.now(),az.refreshing=!1}))}(a),az.value}async function aM(a,b,c){let d=c||(()=>{});return an?(await aQ(d),{success:!0}):(am?await aO(a,d):await aP(a,d),d("Starting daemon..."),await aU(a),d("Logging in..."),aW(b))}let aN=`/usr/local/bin:/opt/homebrew/bin:/usr/sbin:/usr/bin:/bin:/snap/bin:${process.env.PATH||""}`;async function aO(a,b){if(function(){try{return(0,t.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,t.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:aN}});d.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.on("close",b=>{0===b?a():c(Error(`brew install failed (code ${b})`))}),d.on("error",c)});return}let c=g().join(s().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,t.spawn)("curl",["-fL","--progress-bar","https://pkgs.tailscale.com/stable/tailscale-latest.pkg","-o",c],{stdio:["ignore","pipe","pipe"],windowsHide:!0});e.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),e.on("close",b=>{0===b?a():d(Error("Download failed"))}),e.on("error",d)}),b("Installing package..."),await new Promise((d,e)=>{let f=(0,t.spawn)("sudo",["-S","installer","-pkg",c,"-target","/"],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),g="";f.stderr.on("data",a=>{g+=a.toString()}),f.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),f.on("close",a=>{try{(0,t.execSync)(`rm -f ${c}`,{stdio:"ignore",windowsHide:!0})}catch{}0===a?d():e(Error(g.includes("incorrect password")||g.includes("Sorry")?"Wrong sudo password":g||`Exit code ${a}`))}),f.on("error",e),f.stdin.write(`${a}
|
|
2
2
|
`),f.stdin.end()})}async function aP(a,b){if("string"!=typeof a||a.includes("\n"))throw Error("Invalid sudo password");return b("Downloading install script..."),new Promise((c,d)=>{let f=(0,t.spawn)("curl",["-fsSL","https://tailscale.com/install.sh"],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),h="",i="";f.stdout.on("data",a=>{h+=a.toString()}),f.stderr.on("data",a=>{i+=a.toString()}),f.on("exit",f=>{if(0!==f)return d(Error(`Failed to download install script: ${i}`));b("Running install script...");let j=g().join(s().tmpdir(),`tailscale-install-${ah().randomBytes(8).toString("hex")}.sh`);try{e().writeFileSync(j,h,{mode:448})}catch(a){return d(Error(`Failed to write install script: ${a.message}`))}let k=()=>{try{e().unlinkSync(j)}catch{}},l=(0,t.spawn)("sudo",["-S","sh",j],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),m="";l.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),l.stderr.on("data",a=>{m+=a.toString()}),l.on("close",a=>{k(),0===a?c():d(Error(m.includes("incorrect password")||m.includes("Sorry")?"Wrong sudo password":m||`Exit code ${a}`))}),l.on("error",a=>{k(),d(a)}),l.stdin.write(`${a}
|
|
3
3
|
`),l.stdin.end()}),f.on("error",d)})}async function aQ(a){let b=g().join(s().tmpdir(),"tailscale-setup.msi");a("Downloading Tailscale installer..."),await new Promise((c,d)=>{let e=(0,t.spawn)("curl.exe",["-L","-#","-o",b,"https://pkgs.tailscale.com/stable/tailscale-setup-latest-amd64.msi"],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f="";e.stderr.on("data",b=>{let c=b.toString().match(/(\d+\.\d)%/);c&&c[1]!==f&&(f=c[1],a(`Downloading... ${f}%`))}),e.on("close",a=>0===a?c():d(Error("Download failed"))),e.on("error",d)}),a("Installing Tailscale (UAC prompt may appear)..."),await new Promise((c,d)=>{let f=`'/i','${b}','TS_NOLAUNCH=true','/quiet','/norestart'`,g=(0,t.spawn)("powershell",["-NoProfile","-NonInteractive","-Command",`Start-Process msiexec -ArgumentList ${f} -Verb RunAs -Wait`],{stdio:["ignore","pipe","pipe"],windowsHide:!0});g.stderr.on("data",b=>{let c=b.toString().trim();c&&a(c)}),g.on("close",a=>{try{e().unlinkSync(b)}catch{}0===a?c():d(Error(`msiexec failed (code ${a})`))}),g.on("error",d)}),a("Verifying installation...");let c=Date.now();for(;Date.now()-c<1e4;){if(e().existsSync(au))return void a("Installation complete.");await new Promise(a=>setTimeout(a,1e3))}throw Error("Installation finished but tailscale.exe not found")}async function aR(a){try{if(!e().existsSync(a))return void e().mkdirSync(a,{recursive:!0});let b=process.getuid(),c=process.getgid();if(!(()=>{let c=[a];for(;c.length;){let a=c.pop();try{let d=e().statSync(a);if(d.uid!==b)return!0;if(d.isDirectory())for(let b of e().readdirSync(a))c.push(g().join(a,b))}catch{}}return!1})())return;try{(0,t.execSync)(`chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{try{(0,t.execSync)(`sudo -n chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{}}}catch{}}function aS(){try{let a=(0,t.execSync)(`pgrep -af "tailscaled.*${aq}"`,{encoding:"utf8",timeout:2e3}).trim();if(!a)return null;return!a.includes("--tun=userspace-networking")}catch{return null}}function aT(){return null!==aS()}async function aU(a){if(an){let a=aB();console.log("[Tailscale] win: net start Tailscale");try{(0,t.execSync)("net start Tailscale",{stdio:"ignore",windowsHide:!0,timeout:1e4})}catch{}if(!a)return;for(let b=0;b<20;b++){try{let c=(0,t.execSync)(`"${a}" status --json`,{encoding:"utf8",windowsHide:!0,timeout:2e3}),d=JSON.parse(c);if(d.BackendState&&"NoState"!==d.BackendState)return void console.log(`[Tailscale] win: BackendState=${d.BackendState} after ${500*b}ms`)}catch{}await new Promise(a=>setTimeout(a,500))}console.log("[Tailscale] win: BackendState still NoState after poll");return}let b=aS(),c=!!a||!0===b;if(null!==b&&b===c)try{let a=aB()||"tailscale";(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN},timeout:3e3});return}catch{}try{(0,t.execSync)(`pkill -9 -f "tailscaled.*${aq}"`,{stdio:"ignore",timeout:3e3})}catch{}if(a)try{await (0,aj.execWithPassword)(`pkill -9 -f "tailscaled.*${aq}"`,a)}catch{}else try{(0,t.execSync)(`sudo -n pkill -9 -f "tailscaled.*${aq}"`,{stdio:"ignore",timeout:3e3})}catch{}await new Promise(a=>setTimeout(a,1500)),await aR(ap);let d=am?"/usr/local/bin/tailscaled":"tailscaled",e=[`--socket=${aq}`,`--statedir=${ap}`];if(c||e.push("--tun=userspace-networking"),c){let b=(0,t.spawn)("sudo",["-S",d,...e],{detached:!0,stdio:["pipe","ignore","ignore"],cwd:s().tmpdir(),env:{...process.env,PATH:aN}});b.stdin.write(`${a}
|
|
4
|
-
`),b.stdin.end(),b.unref()}else(0,t.spawn)(d,e,{detached:!0,stdio:"ignore",cwd:s().tmpdir(),env:{...process.env,PATH:aN}}).unref();await new Promise(a=>setTimeout(a,3e3))}function aV(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,timeout:2e3}),c=JSON.parse(b);if(c.AuthURL)return c.AuthURL;return null}catch{return null}}function aW(a){let b=aB();return b?new Promise((c,d)=>{if(aU("").catch(()=>{}),aG())return void c({alreadyLoggedIn:!0});let e=aD("up","--accept-routes");a&&e.push(`--hostname=${a}`);let f=(0,t.spawn)(b,e,{stdio:["ignore","pipe","pipe"],detached:!0,windowsHide:!0}),g=!1,h="",i=a=>{let b=a.match(/https:\/\/login\.tailscale\.com\/a\/[a-zA-Z0-9]+/);return b?b[0]:null},j=(a,b)=>{g||(g=!0,clearTimeout(l),clearInterval(k),console.log(`[Tailscale] login authUrl detected (${b})`),f.unref(),c({authUrl:a}))},k=setInterval(()=>{if(g)return;let a=aV();a&&j(a,"status")},500),l=setTimeout(()=>{if(g)return;g=!0,clearInterval(k),f.unref();let a=i(h)||aV();a?c({authUrl:a}):d(Error("tailscale up timed out without auth URL"))},15e3),m=a=>{let b=i(h+=a.toString());b&&j(b,"stdout")};f.stdout.on("data",m),f.stderr.on("data",m),f.on("error",a=>{g||(g=!0,clearTimeout(l),clearInterval(k),console.error(`[Tailscale] login spawn error: ${a.message}`),d(a))}),f.on("exit",a=>{if(g)return;console.log(`[Tailscale] login exit code=${a}`);let b=i(h)||aV();if(b)return void j(b,"exit");if(aG()){g=!0,clearTimeout(l),clearInterval(k),c({alreadyLoggedIn:!0});return}})}):Promise.reject(Error("Tailscale not installed"))}async function aX(a){let b=aB();if(!b)throw Error("Tailscale not installed");try{(0,t.execSync)(`"${b}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}return new Promise((c,d)=>{let e=(0,t.spawn)(b,aD("funnel","--bg",`${a}`),{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f=!1,g="",h=setTimeout(()=>{if(f)return;f=!0;let b=aK()||aL(a);b?c({tunnelUrl:b}):d(Error(`Tailscale funnel timed out: ${g.trim()||"no output"}`))},3e4),i=!1,j=a=>{if((g+=a.toString()).includes("Funnel is not enabled")&&(i=!0),i&&!f){let a=g.match(/https:\/\/login\.tailscale\.com\/[^\s]+/);if(a){f=!0,clearTimeout(h),e.kill(),c({funnelNotEnabled:!0,enableUrl:a[0]});return}}let b=aK();b&&!f&&(f=!0,clearTimeout(h),c({tunnelUrl:b}))};e.stdout.on("data",j),e.stderr.on("data",j),e.on("exit",b=>{if(f)return;f=!0,clearTimeout(h),console.log(`[Tailscale] funnel exit code=${b} output="${g.trim().slice(0,200)}"`);let e=aK()||aL(a);e?c({tunnelUrl:e}):d(Error(`tailscale funnel failed (code ${b}): ${g.trim()}`))}),e.on("error",a=>{f||(f=!0,clearTimeout(h),d(a))})})}async function aY(a){let b=aB();if(!b||!a)return;let c=g().join(ap,"certs");e().mkdirSync(c,{recursive:!0});let d=g().join(c,`${a}.crt`),f=g().join(c,`${a}.key`);try{await ak(`"${b}" ${ar.join(" ")} cert --cert-file "${d}" --key-file "${f}" "${a}"`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:3e4}),console.log(`[Tailscale] cert provisioned for ${a}`)}catch(a){console.warn(`[Tailscale] cert provision failed (non-fatal): ${a.message}`)}}function aZ(){let a=aB();if(a)try{(0,t.execSync)(`"${a}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}}async function a$(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,3e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(8e3)})).ok}catch{return!1}}async function a_(a,b={cancelled:!1},{timeoutMs:c=18e4}={}){let d=Date.now();for(;Date.now()-d<c;){if(b.cancelled)throw Error("cancelled");if(await a$(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error(`Health check timeout after ${c}ms`)}var a0=c(96182);(0,a0.initDbHooks)(Y.mt,Y.Xx);let a1={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function a2(){return a1}function a3(a){if(a.cancelled)throw Error("tailscale cancelled")}async function a4(a=
|
|
4
|
+
`),b.stdin.end(),b.unref()}else(0,t.spawn)(d,e,{detached:!0,stdio:"ignore",cwd:s().tmpdir(),env:{...process.env,PATH:aN}}).unref();await new Promise(a=>setTimeout(a,3e3))}function aV(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,timeout:2e3}),c=JSON.parse(b);if(c.AuthURL)return c.AuthURL;return null}catch{return null}}function aW(a){let b=aB();return b?new Promise((c,d)=>{if(aU("").catch(()=>{}),aG())return void c({alreadyLoggedIn:!0});let e=aD("up","--accept-routes");a&&e.push(`--hostname=${a}`);let f=(0,t.spawn)(b,e,{stdio:["ignore","pipe","pipe"],detached:!0,windowsHide:!0}),g=!1,h="",i=a=>{let b=a.match(/https:\/\/login\.tailscale\.com\/a\/[a-zA-Z0-9]+/);return b?b[0]:null},j=(a,b)=>{g||(g=!0,clearTimeout(l),clearInterval(k),console.log(`[Tailscale] login authUrl detected (${b})`),f.unref(),c({authUrl:a}))},k=setInterval(()=>{if(g)return;let a=aV();a&&j(a,"status")},500),l=setTimeout(()=>{if(g)return;g=!0,clearInterval(k),f.unref();let a=i(h)||aV();a?c({authUrl:a}):d(Error("tailscale up timed out without auth URL"))},15e3),m=a=>{let b=i(h+=a.toString());b&&j(b,"stdout")};f.stdout.on("data",m),f.stderr.on("data",m),f.on("error",a=>{g||(g=!0,clearTimeout(l),clearInterval(k),console.error(`[Tailscale] login spawn error: ${a.message}`),d(a))}),f.on("exit",a=>{if(g)return;console.log(`[Tailscale] login exit code=${a}`);let b=i(h)||aV();if(b)return void j(b,"exit");if(aG()){g=!0,clearTimeout(l),clearInterval(k),c({alreadyLoggedIn:!0});return}})}):Promise.reject(Error("Tailscale not installed"))}async function aX(a){let b=aB();if(!b)throw Error("Tailscale not installed");try{(0,t.execSync)(`"${b}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}return new Promise((c,d)=>{let e=(0,t.spawn)(b,aD("funnel","--bg",`${a}`),{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f=!1,g="",h=setTimeout(()=>{if(f)return;f=!0;let b=aK()||aL(a);b?c({tunnelUrl:b}):d(Error(`Tailscale funnel timed out: ${g.trim()||"no output"}`))},3e4),i=!1,j=a=>{if((g+=a.toString()).includes("Funnel is not enabled")&&(i=!0),i&&!f){let a=g.match(/https:\/\/login\.tailscale\.com\/[^\s]+/);if(a){f=!0,clearTimeout(h),e.kill(),c({funnelNotEnabled:!0,enableUrl:a[0]});return}}let b=aK();b&&!f&&(f=!0,clearTimeout(h),c({tunnelUrl:b}))};e.stdout.on("data",j),e.stderr.on("data",j),e.on("exit",b=>{if(f)return;f=!0,clearTimeout(h),console.log(`[Tailscale] funnel exit code=${b} output="${g.trim().slice(0,200)}"`);let e=aK()||aL(a);e?c({tunnelUrl:e}):d(Error(`tailscale funnel failed (code ${b}): ${g.trim()}`))}),e.on("error",a=>{f||(f=!0,clearTimeout(h),d(a))})})}async function aY(a){let b=aB();if(!b||!a)return;let c=g().join(ap,"certs");e().mkdirSync(c,{recursive:!0});let d=g().join(c,`${a}.crt`),f=g().join(c,`${a}.key`);try{await ak(`"${b}" ${ar.join(" ")} cert --cert-file "${d}" --key-file "${f}" "${a}"`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:3e4}),console.log(`[Tailscale] cert provisioned for ${a}`)}catch(a){console.warn(`[Tailscale] cert provision failed (non-fatal): ${a.message}`)}}function aZ(){let a=aB();if(a)try{(0,t.execSync)(`"${a}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}}async function a$(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,3e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(8e3)})).ok}catch{return!1}}async function a_(a,b={cancelled:!1},{timeoutMs:c=18e4}={}){let d=Date.now();for(;Date.now()-d<c;){if(b.cancelled)throw Error("cancelled");if(await a$(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error(`Health check timeout after ${c}ms`)}var a0=c(96182);(0,a0.initDbHooks)(Y.mt,Y.Xx);let a1={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function a2(){return a1}function a3(a){if(a.cancelled)throw Error("tailscale cancelled")}async function a4(a=20131){console.log(`[Tailscale] enable start (port=${a})`),a1.cancelToken={cancelled:!1},a1.activeLocalPort=a,a1.spawnInProgress=!0;let b=a1.cancelToken;try{let c,d=(0,a0.getCachedPassword)()||await (0,a0.loadEncryptedPassword)()||"";await aU(d),console.log("[Tailscale] daemon ready"),a3(b);let e=m(),f=e?.shortId||o(),g=await aE();if(console.log(`[Tailscale] loggedIn=${g}`),!g){let a=await aW(f);if(a.authUrl)return console.log(`[Tailscale] needs login, authUrl=${a.authUrl}`),{success:!1,needsLogin:!0,authUrl:a.authUrl};console.log("[Tailscale] login resolved alreadyLoggedIn")}a3(b),aZ();try{console.log("[Tailscale] starting funnel"),c=await aX(a)}catch(a){if(console.error(`[Tailscale] funnel error: ${a.message}`),/NoState|unexpected state|not logged in|Logged ?out|NeedsLogin/i.test(a.message||"")){console.log("[Tailscale] retry via startLogin");let a=await aW(f);if(a.authUrl)return{success:!1,needsLogin:!0,authUrl:a.authUrl}}throw a}if(a3(b),c.funnelNotEnabled)return console.log(`[Tailscale] funnel not enabled, enableUrl=${c.enableUrl}`),{success:!1,funnelNotEnabled:!0,enableUrl:c.enableUrl};if(!await aE()||!await aI())return console.error("[Tailscale] strict probe failed (device removed?)"),aZ(),{success:!1,error:"Tailscale not connected. Device may have been removed. Please re-login."};await (0,Y.Xx)({tailscaleEnabled:!0,tailscaleUrl:c.tunnelUrl}),console.log(`[Tailscale] funnel up: ${c.tunnelUrl}`);let h=new URL(c.tunnelUrl).hostname;await aY(h);let i=!1;try{await a_(c.tunnelUrl,b,{timeoutMs:2e4}),i=!0}catch(a){if(!a.message.startsWith("Health check timeout"))throw a;console.warn("[Tailscale] health check timed out, will retry via watchdog")}return console.log(`[Tailscale] enable success (reachable=${i})`),{success:!0,tunnelUrl:c.tunnelUrl}}catch(a){throw console.error(`[Tailscale] enable error: ${a.message}`),a}finally{a1.spawnInProgress=!1}}async function a5(){return console.log("[Tailscale] disable"),a1.cancelToken.cancelled=!0,aZ(),await (0,Y.Xx)({tailscaleEnabled:!1,tailscaleUrl:""}),{success:!0}}async function a6(){let a=await (0,Y.mt)(),b=!0===a.tailscaleEnabled,c=a.tailscaleUrl||"",d=!!b&&aG(),e=!!d&&aH();return{enabled:b&&e,settingsEnabled:b,tunnelUrl:c,running:e,loggedIn:d}}var a7=c(91645),a8=c.n(a7);function a9(){return new Promise(a=>{let b=new(a8()).Socket,c=!1,d=d=>{if(!c){c=!0;try{b.destroy()}catch{}a(d)}};b.setTimeout(3e3),b.once("connect",()=>d(!0)),b.once("timeout",()=>d(!1)),b.once("error",()=>d(!1));try{b.connect(443,"1.1.1.1")}catch{d(!1)}})}let ba=12e4,bb=2500,bc=6e4,bd=5e3,be=/^(utun|awdl|llw|anpi|bridge|gif|stf|ipsec|ap|tun|tap|vmnet|veth|docker)/i}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6844,exports.ids=[6844],exports.modules={86844:(a,b,c)=>{c.d(b,{generateApiKeyWithMachine:()=>g});var d=c(55511),e=c.n(d);let f=process.env.API_KEY_SECRET||"
|
|
1
|
+
"use strict";exports.id=6844,exports.ids=[6844],exports.modules={86844:(a,b,c)=>{c.d(b,{generateApiKeyWithMachine:()=>g});var d=c(55511),e=c.n(d);let f=process.env.API_KEY_SECRET||"keyrouter-api-key-secret";function g(a){let b=function(){let a="abcdefghijklmnopqrstuvwxyz0123456789",b="";for(let c=0;c<6;c++)b+=a.charAt(Math.floor(Math.random()*a.length));return b}(),c=e().createHmac("sha256",f).update(a+b).digest("hex").slice(0,8);return{key:`sk-${a}-${b}-${c}`,keyId:b}}}};
|