@ltgiang/9router 0.5.34 → 0.5.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +14 -14
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/required-server-files.json +4 -4
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +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 +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +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.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +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 +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +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/providers/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +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.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +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/quota/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +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 +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +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.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +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.js +3 -3
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +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/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.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.js +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +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 +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.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/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.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/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.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/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.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/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- 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/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/reorder/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/order/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.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/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.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/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.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/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.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/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.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/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route_client-reference-manifest.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]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.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/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.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/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.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/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.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/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.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/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.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]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.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/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +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 +7 -7
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
- 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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
- 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/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +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 +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +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 +7 -7
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +2 -2
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- 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 +8 -8
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/page.js +2 -2
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +14 -14
- package/app/.next-cli-build/server/chunks/155.js +1 -1
- package/app/.next-cli-build/server/chunks/{2911.js → 1751.js} +3 -3
- package/app/.next-cli-build/server/chunks/1961.js +1 -1
- package/app/.next-cli-build/server/chunks/3008.js +1 -1
- package/app/.next-cli-build/server/chunks/319.js +3 -3
- package/app/.next-cli-build/server/chunks/3913.js +64 -0
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/5330.js +16 -16
- package/app/.next-cli-build/server/chunks/5852.js +2 -2
- package/app/.next-cli-build/server/chunks/5975.js +3 -0
- package/app/.next-cli-build/server/chunks/6775.js +1 -1
- package/app/.next-cli-build/server/chunks/8668.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +3 -3
- package/app/.next-cli-build/server/chunks/8914.js +1 -0
- package/app/.next-cli-build/server/chunks/920.js +3 -3
- package/app/.next-cli-build/server/chunks/9212.js +1 -1
- package/app/.next-cli-build/server/chunks/9325.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +5 -5
- package/app/.next-cli-build/server/next-font-manifest.js +1 -1
- package/app/.next-cli-build/server/next-font-manifest.json +1 -1
- 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/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-9e1795846380aff8.js → 1321-bcd2aa54c18906b1.js} +1 -1
- package/app/.next-cli-build/static/chunks/1a258343-5938f676ed376386.js +1 -0
- package/app/.next-cli-build/static/chunks/5280-a3ec0a6d1e958fd1.js +64 -0
- package/app/.next-cli-build/static/chunks/5497-474ddf2f9f1e240f.js +7 -0
- package/app/.next-cli-build/static/chunks/{7784-265a15eadd679bdc.js → 6502-a256ecf92ee18c14.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-7ba4c41756c05cb5.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-7fe9f135069d852c.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-cadb06df88c70066.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8b1acb4da984eaa1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-992a40f74a547a71.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a6d5704873405ec5.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-a191f3949984b5b8.js → page-7fb2bc13098a64e2.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-57421146a8a39501.js → page-8d76903c3a660e35.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-792b5e3932048890.js → page-58605ef32c4743da.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-e3f67c61640e6c04.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-11f398960d9d1ae3.js → page-8087edfe1b477a47.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-fde5f00d3a0adae0.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d7d58ed44bb92046.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-eb5d51ed3b0c8b21.js → page-d79551790a599cc0.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-1a8e9d0d25af916e.js → page-84bcd5f57dd0106d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-da3f57a27cf76683.js → page-c1d4cc4e73287170.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-c4b2228b2a5127c2.js → page-c5677e6f854bbb1e.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-a8068345e86982f3.js → page-ef9399b03a241d5d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-84f62e6ecd3be0ae.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-c291eee482a5db1a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-a90d3eb8b58cbecc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-3c4a78d014c6e082.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-eb24d827f010578e.js → layout-5089b3eb0da6a50c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/_not-found/{page-5b7961cf7eeec8c2.js → page-e4d84f64a8c852f7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/callback/page-e8c2598af60dacf3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-af91b33b144badc9.js → page-83b1cb18661ea4f7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/{page-e9702e315a419701.js → page-34fb5bf37abde153.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-9b580d59735c566b.js → layout-d16c91f6323660b9.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-22fba901666f8b40.js → page-4dd63f48cbae5442.js} +1 -1
- package/app/.next-cli-build/static/chunks/{main-app-bc058b5e1f4a8632.js → main-app-3057ce86fdd7f7ab.js} +1 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-9e6846bb98322e86.js +1 -0
- package/app/.next-cli-build/static/css/{008a05b0ad6b854a.css → 599369d853c61df7.css} +1 -1
- package/app/.next-cli-build/static/css/{8f9ac5a7bd3a79e5.css → 88fb3376e840da30.css} +1 -1
- package/app/.next-cli-build/static/css/d9dab4414d935cbc.css +1 -0
- package/app/.next-cli-build/static/media/material-symbols-outlined.50fdf095.woff2 +0 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.31-to-0.5.32-0.5.32-20260705-213750 → upgrade-0.5.20-to-0.5.21-0.5.21-20260630-174438}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.30-to-0.5.31-0.5.31-20260705-202055 → upgrade-0.5.21-to-0.5.22-0.5.22-20260630-180928}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.29-to-0.5.30-0.5.30-20260705-190659 → upgrade-0.5.22-to-0.5.26-0.5.26-20260701-181108}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.32-to-0.5.33-0.5.33-20260706-071327 → upgrade-0.5.26-to-0.5.35-0.5.35-20260706-101856}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/jwt-secret +1 -1
- package/app/cli/.build-home/.9router/machine-id +1 -1
- package/app/cli/.build-home/.config/nextjs-nodejs/config.json +3 -3
- package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
- package/app/node_modules/baseline-browser-mapping/package.json +3 -3
- package/app/node_modules/caniuse-lite/data/agents.js +1 -1
- package/app/node_modules/caniuse-lite/data/browserVersions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/datauri.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/decorators.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ime.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ping.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/proximity.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wav.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
- package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
- package/app/node_modules/caniuse-lite/package.json +1 -1
- package/app/node_modules/nanoid/non-secure/index.cjs +10 -0
- package/app/node_modules/nanoid/package.json +1 -1
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/1315.js +0 -64
- package/app/.next-cli-build/server/chunks/6167.js +0 -3
- package/app/.next-cli-build/server/chunks/9350.js +0 -1
- package/app/.next-cli-build/static/chunks/1a258343-1aa1820b9db68d51.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-c0d13f4df1489927.js +0 -7
- package/app/.next-cli-build/static/chunks/8448-ccf83a0f71d2c75e.js +0 -64
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-bb85e95640ddc777.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-4201bcf49eb3123e.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-08247cec9d14e5f7.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-6be36de5473c5430.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-bca7ebfbc90dce34.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-1e6846a75e75356f.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c1f9f82c827d82cf.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-8e849c1654b2a374.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-b44013ddde437e27.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-f1234865982d6a5c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-2aab7d7b3e4f3a14.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-6e9a39a3c4b82a4c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-6396cf1c6b5783ca.js +0 -1
- package/app/.next-cli-build/static/chunks/app/callback/page-0aea66cf6ec64b5c.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-957f3d80a84331d4.js +0 -1
- package/app/.next-cli-build/static/css/7834e98b0ab2c85c.css +0 -1
- package/app/.next-cli-build/static/media/material-symbols-outlined.ec1fa111.woff2 +0 -0
- /package/app/.next-cli-build/static/{HAFJZsWNWI09Kee_8T1D7 → TpPdn3Dt_QjlMQfWMrcjc}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{HAFJZsWNWI09Kee_8T1D7 → TpPdn3Dt_QjlMQfWMrcjc}/_ssgManifest.js +0 -0
|
@@ -194,23 +194,27 @@ ${d[e].content}`}:d.unshift({id:b,role:"user",content:a})}return d}(x,y);if(0===
|
|
|
194
194
|
|
|
195
195
|
`),n("data: [DONE]\n\n")}catch(b){let a=b instanceof Error?b.message:String(b);n(`data: ${JSON.stringify({error:{message:`Windsurf stream error: ${a}`,type:"windsurf_error"}})}
|
|
196
196
|
|
|
197
|
-
`),n("data: [DONE]\n\n")}c.close()}});return new Response(f,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}},18812:(a,b,c)=>{c.d(b,{SC:()=>m});var d=c(97510),e=c(61408),f=c(57148),g=c(425);let h="127.0.0.1",i=/^mcp_(?=[^_])/;function j(a){return"string"==typeof a&&i.test(a)?"M"+a.slice(1):null}let k=null;async function l(){if(k&&Date.now()-k.ts<6e4)return k.url;try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=await a();if("string"==typeof b.cliproxyapi_url&&b.cliproxyapi_url.trim()){let a=b.cliproxyapi_url.trim();return k={url:a,ts:Date.now()},a}}catch{}let a=process.env.CLIPROXYAPI_HOST||h,b=parseInt(process.env.CLIPROXYAPI_PORT||String(8317),10),d=`http://${a}:${b}`;return k={url:d,ts:Date.now()},d}(async()=>{try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=await a();"string"==typeof b.cliproxyapi_url&&b.cliproxyapi_url.trim()&&(k={url:b.cliproxyapi_url.trim(),ts:Date.now()})}catch{}})();class m extends d.Hv{constructor(a){const b=a??function(){if(k&&Date.now()-k.ts<6e4)return k.url;let a=process.env.CLIPROXYAPI_HOST||h,b=parseInt(process.env.CLIPROXYAPI_PORT||String(8317),10);return`http://${a}:${b}`}();super("cliproxyapi",{id:"cliproxyapi",baseUrl:b+"/v1/chat/completions",headers:{"Content-Type":"application/json"}}),this.upstreamBaseUrl=b}buildUrl(a,b,c=0,d=null){return`${this.upstreamBaseUrl}/v1/chat/completions`}isAnthropicShape(a){if(!a||"object"!=typeof a)return!1;if(void 0!==a.system||void 0!==a.thinking||a.metadata&&"object"==typeof a.metadata&&void 0!==a.metadata.user_id)return!0;let b=a.messages;if(Array.isArray(b)&&b.length>0){let a=b[0];if(Array.isArray(a?.content))return!0}return!1}selectEndpoint(a){return this.isAnthropicShape(a)?"/v1/messages":"/v1/chat/completions"}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return c&&(d.Authorization=`Bearer ${c}`),b&&(d.Accept="text/event-stream"),d}transformRequest(a,b,c,d){if(!b||"object"!=typeof b)return b;let e={...b};if(e.model!==a&&(e.model=a),this.isAnthropicShape(e)){delete e.output_config,delete e.context_management,delete e.client_info,delete e.prompt_cache_key,delete e.safety_identifier,delete e.metadata;let a=e.thinking;if(a&&"object"==typeof a){let b="enabled"===a.type||"disabled"===a.type,c="number"==typeof a.budget_tokens&&a.budget_tokens>=0,d="display"in a;b&&c&&!d||delete e.thinking}Array.isArray(e.tools)&&(e.tools=(0,g.SN)(e.tools));let b=(0,f.Aq)(e,{skip:a=>i.test(a)}),c=function(a){let b=new Map,c=(a,c)=>{b.set(c,a)},d=a.tools;Array.isArray(d)&&(a.tools=d.map(a=>{if(!a||"object"!=typeof a)return a;let b="string"==typeof a.name?a.name:"",d=j(b);return d?(c(b,d),{...a,name:d}):a}));let e=a.messages;Array.isArray(e)&&(a.messages=e.map(a=>{if(!a||"object"!=typeof a)return a;let b=a.content;if(!Array.isArray(b))return a;let d=!1,e=b.map(a=>{if(!a||"object"!=typeof a||"tool_use"!==a.type)return a;let b="string"==typeof a.name?a.name:"",e=j(b);return e?(d=!0,c(b,e),{...a,name:e}):a});return d?{...a,content:e}:a}));let f=a.tool_choice;if(f&&"object"==typeof f&&"tool"===f.type&&"string"==typeof f.name){let b=j(f.name);if(b){let d=f.name;a.tool_choice={...f,name:b},c(d,b)}}return b}(e),d=new Map(b);for(let[a,b]of c)d.set(a,b);d.size>0&&Object.defineProperty(e,"_toolNameMap",{value:d,enumerable:!1,configurable:!0,writable:!0})}return e}async execute(a){let b=await l(),c=this.selectEndpoint(a.body),f=`${b}${c}`,g="/v1/messages"===c?"anthropic":"openai",h=this.buildHeaders(a.credentials,a.stream),i=this.transformRequest(a.model,a.body,a.stream,a.credentials);(0,d._F)(h,a.upstreamExtraHeaders);let j=AbortSignal.timeout(e.MT),k=a.signal?(0,d.OW)(a.signal,j):j;a.log?.info?.("CPA",`CLIProxyAPI → ${f} (model: ${a.model}, shape: ${g})`);let m=i&&"object"==typeof i?JSON.stringify(i,(a,b)=>"_toolNameMap"===a?void 0:b):JSON.stringify(i),n=await fetch(f,{method:"POST",headers:h,body:m,signal:k});return n.status===e.gx.RATE_LIMITED&&a.log?.warn?.("CPA",`CLIProxyAPI rate limited: ${n.status}`),{response:n,url:f,headers:h,transformedBody:i}}async healthCheck(){let a=Date.now();try{let b=await l(),c=await fetch(`${b}/v1/models`,{signal:AbortSignal.timeout(5e3)});return{ok:c.ok,latencyMs:Date.now()-a,...!c.ok?{error:`HTTP ${c.status}`}:{}}}catch(b){return{ok:!1,latencyMs:Date.now()-a,error:b instanceof Error?b.message:String(b)}}}}},19497:(a,b,c)=>{c.d(b,{rU:()=>h});var d=c(21820),e=c(33873);let f=null,g=0;function h(){let a=Date.now();if(f&&a-g<36e5)return f;try{let b=new(c(87550))(function(){if(process.env.CURSOR_STATE_DB_PATH)return process.env.CURSOR_STATE_DB_PATH;let a=process.env.HOME||process.env.USERPROFILE||(0,d.homedir)(),b=process.platform;return"darwin"===b?(0,e.join)(a,"Library/Application Support/Cursor/User/globalStorage/state.vscdb"):"win32"===b?(0,e.join)(process.env.APPDATA||a,"Cursor/User/globalStorage/state.vscdb"):(0,e.join)(a,".config/Cursor/User/globalStorage/state.vscdb")}(),{readonly:!0,fileMustExist:!0});try{let c=b.prepare("SELECT value FROM itemTable WHERE key = ?").get("cursorupdate.lastUpdatedAndShown.version");if(c?.value)return f=c.value,g=a,f}finally{b.close()}}catch{}return"3.9"}},19946:(a,b,c)=>{c.a(a,async(a,d)=>{try{let a;c.d(b,{ou:()=>J});var e=c(97510),f=c(61408),g=c(98946),h=c(82601),i=c(73483),j=c(19497),k=c(43659),l=c(12468),m=c(82568),n=c(74051),o=c(55511),p=c.n(o),q=c(73024),r=c(38522),s=c(57975);let y="Tool not available in this environment. Use the MCP tools provided instead.",z=(0,s.promisify)(r.gunzip);function t(a){return"object"==typeof a&&null!==a}let A=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{A=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{A=null}let B="1"===process.env.CURSOR_DEBUG||"1"===process.env.CURSOR_STREAM_DEBUG,C=(...a)=>{B&&console.log(...a)},D=(a=parseInt(process.env.CURSOR_STREAM_TIMEOUT_MS||"300000",10),Number.isInteger(a)&&a>0?a:3e5),E="</think>";function u(a){let b=String(a??"").split("/").pop();return/^composer(?:-|$)/i.test(b??"")}let F=/^\s*<[||]\s*final\s*[||]>\s*/i,G=/\s*<[||]\s*\/\s*final\s*[||]>\s*$/i,H=/^\s*<(?![||/])/,I=/^\s*<[||][^>]*$/;function v(a,b){return{responseId:`chatcmpl-cursor-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a,emit:b,emittedRoleChunk:!1,totalText:"",thinkingText:"",tokenDelta:0,receivedText:!1,kvAfterTextSeen:!1,endReason:null,midStreamError:null,emittedToolCallIndex:0,toolCalls:[],pendingToolCalls:new Map,composerVisibleEmittedLength:0,composerToolParserState:u(a)?(0,m.Ih)():null,composerInlineToolCallsEmitted:!1}}function w(a,b,c=null){let d={id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]};a.emit(`data: ${JSON.stringify(d)}
|
|
197
|
+
`),n("data: [DONE]\n\n")}c.close()}});return new Response(f,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}},18812:(a,b,c)=>{c.d(b,{SC:()=>m});var d=c(97510),e=c(61408),f=c(57148),g=c(425);let h="127.0.0.1",i=/^mcp_(?=[^_])/;function j(a){return"string"==typeof a&&i.test(a)?"M"+a.slice(1):null}let k=null;async function l(){if(k&&Date.now()-k.ts<6e4)return k.url;try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=await a();if("string"==typeof b.cliproxyapi_url&&b.cliproxyapi_url.trim()){let a=b.cliproxyapi_url.trim();return k={url:a,ts:Date.now()},a}}catch{}let a=process.env.CLIPROXYAPI_HOST||h,b=parseInt(process.env.CLIPROXYAPI_PORT||String(8317),10),d=`http://${a}:${b}`;return k={url:d,ts:Date.now()},d}(async()=>{try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=await a();"string"==typeof b.cliproxyapi_url&&b.cliproxyapi_url.trim()&&(k={url:b.cliproxyapi_url.trim(),ts:Date.now()})}catch{}})();class m extends d.Hv{constructor(a){const b=a??function(){if(k&&Date.now()-k.ts<6e4)return k.url;let a=process.env.CLIPROXYAPI_HOST||h,b=parseInt(process.env.CLIPROXYAPI_PORT||String(8317),10);return`http://${a}:${b}`}();super("cliproxyapi",{id:"cliproxyapi",baseUrl:b+"/v1/chat/completions",headers:{"Content-Type":"application/json"}}),this.upstreamBaseUrl=b}buildUrl(a,b,c=0,d=null){return`${this.upstreamBaseUrl}/v1/chat/completions`}isAnthropicShape(a){if(!a||"object"!=typeof a)return!1;if(void 0!==a.system||void 0!==a.thinking||a.metadata&&"object"==typeof a.metadata&&void 0!==a.metadata.user_id)return!0;let b=a.messages;if(Array.isArray(b)&&b.length>0){let a=b[0];if(Array.isArray(a?.content))return!0}return!1}selectEndpoint(a){return this.isAnthropicShape(a)?"/v1/messages":"/v1/chat/completions"}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return c&&(d.Authorization=`Bearer ${c}`),b&&(d.Accept="text/event-stream"),d}transformRequest(a,b,c,d){if(!b||"object"!=typeof b)return b;let e={...b};if(e.model!==a&&(e.model=a),this.isAnthropicShape(e)){delete e.output_config,delete e.context_management,delete e.client_info,delete e.prompt_cache_key,delete e.safety_identifier,delete e.metadata;let a=e.thinking;if(a&&"object"==typeof a){let b="enabled"===a.type||"disabled"===a.type,c="number"==typeof a.budget_tokens&&a.budget_tokens>=0,d="display"in a;b&&c&&!d||delete e.thinking}Array.isArray(e.tools)&&(e.tools=(0,g.SN)(e.tools));let b=(0,f.Aq)(e,{skip:a=>i.test(a)}),c=function(a){let b=new Map,c=(a,c)=>{b.set(c,a)},d=a.tools;Array.isArray(d)&&(a.tools=d.map(a=>{if(!a||"object"!=typeof a)return a;let b="string"==typeof a.name?a.name:"",d=j(b);return d?(c(b,d),{...a,name:d}):a}));let e=a.messages;Array.isArray(e)&&(a.messages=e.map(a=>{if(!a||"object"!=typeof a)return a;let b=a.content;if(!Array.isArray(b))return a;let d=!1,e=b.map(a=>{if(!a||"object"!=typeof a||"tool_use"!==a.type)return a;let b="string"==typeof a.name?a.name:"",e=j(b);return e?(d=!0,c(b,e),{...a,name:e}):a});return d?{...a,content:e}:a}));let f=a.tool_choice;if(f&&"object"==typeof f&&"tool"===f.type&&"string"==typeof f.name){let b=j(f.name);if(b){let d=f.name;a.tool_choice={...f,name:b},c(d,b)}}return b}(e),d=new Map(b);for(let[a,b]of c)d.set(a,b);d.size>0&&Object.defineProperty(e,"_toolNameMap",{value:d,enumerable:!1,configurable:!0,writable:!0})}return e}async execute(a){let b=await l(),c=this.selectEndpoint(a.body),f=`${b}${c}`,g="/v1/messages"===c?"anthropic":"openai",h=this.buildHeaders(a.credentials,a.stream),i=this.transformRequest(a.model,a.body,a.stream,a.credentials);(0,d._F)(h,a.upstreamExtraHeaders);let j=AbortSignal.timeout(e.MT),k=a.signal?(0,d.OW)(a.signal,j):j;a.log?.info?.("CPA",`CLIProxyAPI → ${f} (model: ${a.model}, shape: ${g})`);let m=i&&"object"==typeof i?JSON.stringify(i,(a,b)=>"_toolNameMap"===a?void 0:b):JSON.stringify(i),n=await fetch(f,{method:"POST",headers:h,body:m,signal:k});return n.status===e.gx.RATE_LIMITED&&a.log?.warn?.("CPA",`CLIProxyAPI rate limited: ${n.status}`),{response:n,url:f,headers:h,transformedBody:i}}async healthCheck(){let a=Date.now();try{let b=await l(),c=await fetch(`${b}/v1/models`,{signal:AbortSignal.timeout(5e3)});return{ok:c.ok,latencyMs:Date.now()-a,...!c.ok?{error:`HTTP ${c.status}`}:{}}}catch(b){return{ok:!1,latencyMs:Date.now()-a,error:b instanceof Error?b.message:String(b)}}}}},21585:(a,b,c)=>{let d,e;c.d(b,{ou:()=>ay});var f=c(97510),g=c(61408),h=c(38522),i=c.n(h),j=c(77598),k=c.n(j);function l(a){let b="bigint"==typeof a?a:BigInt(a),c=[];for(;b>127n;)c.push(128|Number(127n&b)),b>>=7n;return c.push(Number(b)),Buffer.from(c)}function m(a,b){return l(a<<3|b)}function n(a,b){let c=Buffer.isBuffer(b)?b:Buffer.from(b);return Buffer.concat([m(a,2),l(c.length),c])}function o(a,b){return n(a,Buffer.from(b,"utf8"))}function p(a,b){let c=Buffer.concat(b);return Buffer.concat([m(a,2),l(c.length),c])}function q(a,b){return Buffer.concat([m(a,0),l(b)])}function r(a,b){let c=0n,d=0n,e=b;for(;e<a.length;){let b=a[e++];if(c|=BigInt(127&b)<<d,(128&b)==0)return[c,e];d+=7n}throw Error("varint truncated")}function s(a,b,c){if(a<0n||a>BigInt(c.length-b))throw Error(`length-delimited field overruns buffer (len=${a}, remaining=${c.length-b})`);return Number(a)}function t(a){let b=[],c=0;for(;c<a.length;){let[d,e]=r(a,c);c=e;let f=Number(d>>3n),g=Number(7n&d);if(0===g){let[d,e]=r(a,c);c=e,b.push({fieldNumber:f,wireType:0,varint:d})}else if(2===g){let[d,e]=r(a,c),g=s(d,c=e,a);b.push({fieldNumber:f,wireType:2,bytes:a.subarray(c,c+g)}),c+=g}else if(5===g)c+=4;else if(1===g)c+=8;else throw Error(`unsupported wireType ${g}`)}return b}function u(a,b){return a.find(a=>a.fieldNumber===b)}function v(a,b){let c=u(t(a),b);return c&&2===c.wireType?c.bytes.toString("utf8"):""}function w(a,b=!1){let c=b?i().gzipSync(a):a,d=Buffer.alloc(5);return d[0]=+!!b,d.writeUInt32BE(c.length,1),Buffer.concat([d,c])}let x={"":"composer-2.5","composer-2-5":"composer-2.5","composer-2.5-sdk":"composer-2.5","composer-latest":"composer-2.5","composer-2-5-fast":"composer-2.5-fast","composer-2.5-sdk-fast":"composer-2.5-fast","composer-latest-fast":"composer-2.5-fast"};function y(a){return a.map(a=>{let b=a.function?.parameters??{type:"object",properties:{}};return{name:a.function.name,description:a.function.description??"",inputSchemaBytes:function a(b){if(null==b)return Buffer.concat([m(1,0),l(0)]);if("number"==typeof b){let a;return(a=Buffer.alloc(8)).writeDoubleLE(b,0),Buffer.concat([m(2,1),a])}if("string"==typeof b)return o(3,b);if("boolean"==typeof b)return Buffer.concat([m(4,0),l(+!!b)]);if(Array.isArray(b)){let c=b.map(b=>p(1,[a(b)]));return p(6,c)}if("object"==typeof b){let c=[];for(let[d,e]of Object.entries(b)){let b=Buffer.concat([o(1,d),p(2,[a(e)])]);c.push(p(1,[b]))}return p(5,c)}return Buffer.concat([m(1,0),l(0)])}(b),providerIdentifier:"omniroute",toolName:a.function.name}})}function z(a){return w(function(a){let b,c,d=a.conversationId||k().randomUUID(),e=a.messageId||k().randomUUID(),{modelId:f,parameters:g}="auto"===(c=x[(b=(a.modelId??"").trim()).toLowerCase()]??b)?{modelId:"default",parameters:[]}:c.startsWith("composer-")&&c.endsWith("-fast")?{modelId:c.slice(0,-5),parameters:[{id:"fast",value:"true"}]}:{modelId:c,parameters:[]},h=[];if(a.images&&a.images.length>0)for(let b of a.images)h.push(p(1,[function(a){let b=[o(2,a.uuid)];return"number"==typeof a.width&&"number"==typeof a.height&&Number.isFinite(a.width)&&Number.isFinite(a.height)&&a.width>0&&a.height>0&&b.push(p(4,[q(1,Math.floor(a.width)),q(2,Math.floor(a.height))])),a.mimeType&&b.push(o(7,a.mimeType)),b.push(n(8,a.data)),Buffer.concat(b)}(b)]));let i=p(1,[o(1,a.userText),o(2,e),p(3,h),Buffer.concat([m(4,0),l(1)])]),j=p(1,[i]),r=p(2,[j]),s=[];if(a.systemPrompt&&a.blobStore){let b=JSON.stringify({role:"system",content:a.systemPrompt}),c=Buffer.from(b,"utf8"),d=k().createHash("sha256").update(c).digest();a.blobStore.set(d.toString("hex"),c),s.push(n(1,d))}let t=p(1,s),u=[o(1,f)];for(let a of g)u.push(p(3,[o(1,a.id),o(2,a.value)]));let v=p(9,u),w=[t,r,p(3,[o(1,f),o(3,f),o(4,f)]),p(4,(a.tools?y(a.tools):[]).map(a=>p(1,[function(a){let b=[o(1,a.name),o(2,a.description),n(3,a.inputSchemaBytes)];return a.providerIdentifier&&b.push(o(4,a.providerIdentifier)),a.toolName&&b.push(o(5,a.toolName)),Buffer.concat(b)}(a)]))),o(5,d),v,Buffer.concat([m(12,0),l(0)]),o(16,d)];return p(1,w)}(a))}function A(a,b,c,d){return w(p(2,[q(1,a),o(15,b),p(c,[d])]))}function B(a,b){return Buffer.concat([o(1,a),o(2,b)])}function C(a,b,c){return Buffer.concat([o(1,a),o(2,b),o(3,c)])}var D=c(40610),E=c.n(D),F=c(77030);class G extends Error{}let H=()=>!1,I=Number.isInteger(d=parseInt(process.env.CURSOR_IMAGE_FETCH_TIMEOUT_MS||"15000",10))&&d>0?d:15e3;class J extends Error{constructor(a,b=400){super(a),this.name="CursorImageError",this.status=b}}async function K(a){let b,c=a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a;if(!(0,F.isIP)(c)){try{b=await E().promises.lookup(c,{all:!0})}catch{throw new J("Image URL host could not be resolved.")}for(let a of b.map(a=>a.address))if(H(a))throw new J("Image URL points to a blocked address.")}}async function L(a){let b=a;for(let a=0;a<=3;a++){let a,c=function(){try{return}catch(a){if(a instanceof G)throw new J("OUTBOUND_URL_INVALID"===a.code?"Image URL is invalid or uses an unsupported scheme.":"Image URL points to a blocked address.");throw new J("Image URL is invalid.")}}();await K(c.hostname);let d=new AbortController,e=setTimeout(()=>d.abort(),I);try{a=await fetch(c.toString(),{method:"GET",signal:d.signal,redirect:"manual"})}catch{throw clearTimeout(e),new J("Could not fetch the image URL.")}try{if(a.status>=300&&a.status<400){let d=a.headers.get("location");if(!d)throw new J("Image URL redirect is missing a destination.");try{b=new URL(d,c.toString()).toString()}catch{throw new J("Image URL redirect destination is invalid.")}continue}if(!a.ok)throw new J(`Could not fetch the image URL (status ${a.status}).`);let d=(a.headers.get("content-type")||"").toLowerCase().split(";")[0].trim();if(!d.startsWith("image/"))throw new J("Image URL did not return an image content type.");let e=Number(a.headers.get("content-length")||"0");if(Number.isFinite(e)&&e>1048576)throw new J("Image input is too large (max 1 MiB). Resize and retry.");return{data:await M(a,1048576),mimeType:d}}finally{clearTimeout(e)}}throw new J("Image URL has too many redirects.")}async function M(a,b){let c=a.body;if(!c)return Buffer.alloc(0);let d=[],e=0,f=a=>{if((e+=a.byteLength)>b)throw new J("Image input is too large (max 1 MiB). Resize and retry.");d.push(Buffer.from(a))};if("function"==typeof c[Symbol.asyncIterator]){for await(let a of c)f(a);return Buffer.concat(d,e)}if("function"==typeof c.getReader){let a=c.getReader();try{for(;;){let{done:b,value:c}=await a.read();if(b)break;c&&f(c)}}finally{try{await a.cancel()}catch{}}return Buffer.concat(d,e)}let g=Buffer.from(await a.arrayBuffer());if(g.length>b)throw new J("Image input is too large (max 1 MiB). Resize and retry.");return g}async function N(a){if(a.length>12)throw new J("Too many images in one request (max 12).");let b=[];for(let c of a){if("string"!=typeof c||!c)throw new J("Image URL is missing.");let{data:a,mimeType:d}=c.toLowerCase().startsWith("data:")?function(a){let b,c=a.indexOf(",");if(c<0)throw new J("Image data URL is malformed.");let d=a.slice(5,c),e=a.slice(c+1),f=/;base64/i.test(d),g=(d.split(";")[0]||"").trim().toLowerCase()||"application/octet-stream";if(!g.startsWith("image/"))throw new J("Image data URL must have an image/* media type.");if(!f)throw new J("Image data URL must be base64-encoded.");if(e.length>2097152)throw new J("Image input is too large (max 1 MiB). Resize and retry.");let h=e.replace(/\s/g,"");if(Math.floor(3*h.length/4)>1048576)throw new J("Image input is too large (max 1 MiB). Resize and retry.");try{b=Buffer.from(h,"base64")}catch{throw new J("Image data URL contains invalid base64 data.")}if(h.length>0&&0===b.length)throw new J("Image data URL contains invalid base64 data.");return{data:b,mimeType:g}}(c):await L(c);if(!a.length)throw new J("Image input is empty.");if(a.length>1048576)throw new J("Image input is too large (max 1 MiB). Resize and retry.");b.push({data:a,mimeType:d,uuid:k().randomUUID()})}return b}var O=c(73483),P=c(21820),Q=c(33873);let R=null,S=0;var T=c(43659),U=c(12468);let V="[||]",W="[▁_]",X=RegExp(`<${V}tool${W}calls${W}begin${V}>([\\s\\S]*?)<${V}tool${W}calls${W}end${V}>`,"i"),Y=RegExp(`<${V}tool${W}call${W}begin${V}>([\\s\\S]*?)<${V}tool${W}call${W}end${V}>`,"gi"),Z=RegExp(`<${V}tool${W}sep${V}>`,"gi"),$=RegExp(`<${V}?(?:t(?:o(?:o(?:l(?:${W}(?:c(?:a(?:l(?:l(?:s)?(?:${W}(?:b(?:e(?:g(?:i(?:n${V}?>?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?$`,"i");function _(a){let b=crypto.randomUUID().replace(/-/g,"").slice(0,10);return`call_${b}${a}`}function aa(a){let b=a.replace(/^\s+|\s+$/g,"").split(Z),c=(b.shift()??"").trim();if(!c)return null;let d={};for(let a of b){let b,c;if(!a)continue;let e=a.indexOf("\n");e<0?(b=a.trim(),c=""):(b=a.slice(0,e).trim(),c=a.slice(e+1)),b&&(c=c.replace(/\n+$/,""),d[b]=function(a){if(""===a)return"";let b=a.trim();if(b.startsWith("{")&&b.endsWith("}")||b.startsWith("[")&&b.endsWith("]"))try{return JSON.parse(b)}catch{}if("true"===b)return!0;if("false"===b)return!1;if("null"===b)return null;if(/^-?\d+$/.test(b)){let a=Number(b);if(Number.isSafeInteger(a))return a}if(/^-?\d*\.\d+$/.test(b)){let a=Number(b);if(Number.isFinite(a))return a}return a}(c))}return{name:c,arguments:JSON.stringify(d)}}function ab(a){if(!a||"string"!=typeof a)return{content:a||"",toolCalls:[]};let b=a.match(X);if(!b||void 0===b.index)return{content:a,toolCalls:[]};let c=a.slice(0,b.index),d=a.slice(b.index+b[0].length),e=b[1],f=[],g=0;for(let a of e.matchAll(Y)){let b=aa(a[1]);b&&(f.push({id:_(g),type:"function",function:b}),g+=1)}return{content:(c+d).trim(),toolCalls:f}}class ac{constructor(a={}){this.sessions=new Map,this.idleTtlMs=a.idleTtlMs??3e5,this.maxSessions=a.maxSessions??100}acquire(a){this.evictExpired();let b=this.sessions.get(a);if(b&&"awaiting_tool_result"===b.state)return this.clearIdleTimer(b),b.state="running",b.lastActivityTs=Date.now(),b}open(a,b,c,d){let e=this.sessions.get(a);e&&this.close(e);let f={conversationId:a,h2Client:b,h2Req:c,blobStore:d,pendingToolCalls:new Map,state:"running",lastActivityTs:Date.now()};return this.sessions.set(a,f),this.attachCloseHandlers(f),this.enforceMaxSessions(),f}release(a,b){if(a.lastActivityTs=Date.now(),"awaiting_tool_result"===b){a.state="awaiting_tool_result",this.armIdleTimer(a);return}this.close(a)}close(a){if("closed"!==a.state){a.state="closed",this.clearIdleTimer(a);try{a.h2Req.close()}catch{}try{a.h2Client.close()}catch{}a.pendingToolCalls.clear(),this.sessions.delete(a.conversationId)}}sendToolResult(a,b,c,d){let e=a.pendingToolCalls.get(b);if(!e)return!1;try{var f,g;let h,i;return a.h2Req.write((f=e.execMsgId,g=e.execId,h=p(1,[o(1,c)]),i=[p(1,[h])],d&&i.push(Buffer.concat([m(2,0),l(1)])),A(f,g,11,p(1,i)))),a.pendingToolCalls.delete(b),a.lastActivityTs=Date.now(),!0}catch{return!1}}evictExpired(){let a=Date.now();for(let b of this.sessions.values())a-b.lastActivityTs>this.idleTtlMs&&this.close(b)}armIdleTimer(a){this.clearIdleTimer(a),a.idleTimer=setTimeout(()=>this.close(a),this.idleTtlMs),a.idleTimer.unref?.()}clearIdleTimer(a){a.idleTimer&&(clearTimeout(a.idleTimer),a.idleTimer=void 0)}attachCloseHandlers(a){let b=()=>this.close(a);a.h2Req.once?.("close",b),a.h2Req.once?.("error",b),a.h2Client.once?.("close",b),a.h2Client.once?.("error",b)}enforceMaxSessions(){if(this.sessions.size<=this.maxSessions)return;let a=Array.from(this.sessions.values()).sort((a,b)=>a.lastActivityTs-b.lastActivityTs)[0];a&&this.close(a)}size(){return this.sessions.size}has(a){return this.sessions.has(a)}}let ad=new ac;var ae=c(55511),af=c.n(ae),ag=c(73024),ah=c(57975);let ai="Tool not available in this environment. Use the MCP tools provided instead.",aj=(0,ah.promisify)(h.gunzip);function ak(a){return"object"==typeof a&&null!==a}let al=null;"u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime||Promise.resolve().then(c.t.bind(c,73496,23)).then(a=>{al=a.default||a}).catch(()=>{});let am="1"===process.env.CURSOR_DEBUG||"1"===process.env.CURSOR_STREAM_DEBUG,an=(...a)=>{am&&console.log(...a)},ao=Number.isInteger(e=parseInt(process.env.CURSOR_STREAM_TIMEOUT_MS||"300000",10))&&e>0?e:3e5,ap="</think>";function aq(a){let b=String(a??"").split("/").pop();return/^composer(?:-|$)/i.test(b??"")}let ar=/^\s*<[||]\s*final\s*[||]>\s*/i,as=/\s*<[||]\s*\/\s*final\s*[||]>\s*$/i,at=/^\s*<(?![||/])/,au=/^\s*<[||][^>]*$/;function av(a,b){return{responseId:`chatcmpl-cursor-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a,emit:b,emittedRoleChunk:!1,totalText:"",thinkingText:"",tokenDelta:0,receivedText:!1,kvAfterTextSeen:!1,endReason:null,midStreamError:null,emittedToolCallIndex:0,toolCalls:[],pendingToolCalls:new Map,composerVisibleEmittedLength:0,composerToolParserState:aq(a)?{emitted:0,done:!1}:null,composerInlineToolCallsEmitted:!1}}function aw(a,b,c=null){let d={id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]};a.emit(`data: ${JSON.stringify(d)}
|
|
198
198
|
|
|
199
|
-
`)}function
|
|
199
|
+
`)}function ax(a,b){let c=(0,O.bC)(b),d=a.tokenDelta>0?a.tokenDelta:(0,O.oT)(a.totalText.length+a.thinkingText.length),e={prompt_tokens:c,completion_tokens:d,total_tokens:c+d,estimated:!0};return a.thinkingText.length>0&&(e.completion_tokens_details={reasoning_tokens:(0,O.oT)(a.thinkingText.length)}),(0,O.O9)(e)}class ay extends f.Hv{constructor(){super("cursor",g.xq.cursor)}buildUrl(){return"https://agentn.global.api5.cursor.sh/agent.v1.AgentService/Run"}buildHeaders(a){let b=a.accessToken,d=a.providerSpecificData?.ghostMode!==!1,e=b.includes("::")?b.split("::")[1]:b,f=af().randomUUID(),g=`00-${af().randomBytes(16).toString("hex")}-${af().randomBytes(8).toString("hex")}-01`;return{authorization:`Bearer ${e}`,"backend-traceparent":g,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto",traceparent:g,"user-agent":"connect-es/1.6.1","x-cursor-client-type":"cli","x-cursor-client-version":`cli-${function(){let a=Date.now();if(R&&a-S<36e5)return R;try{let b=new(c(87550))(function(){if(process.env.CURSOR_STATE_DB_PATH)return process.env.CURSOR_STATE_DB_PATH;let a=process.env.HOME||process.env.USERPROFILE||(0,P.homedir)(),b=process.platform;return"darwin"===b?(0,Q.join)(a,"Library/Application Support/Cursor/User/globalStorage/state.vscdb"):"win32"===b?(0,Q.join)(process.env.APPDATA||a,"Cursor/User/globalStorage/state.vscdb"):(0,Q.join)(a,".config/Cursor/User/globalStorage/state.vscdb")}(),{readonly:!0,fileMustExist:!0});try{let c=b.prepare("SELECT value FROM itemTable WHERE key = ?").get("cursorupdate.lastUpdatedAndShown.version");if(c?.value)return R=c.value,S=a,R}finally{b.close()}}catch{}return"3.9"}()}`,"x-ghost-mode":d?"true":"false","x-original-request-id":f,"x-request-id":f}}assembleTextAndTools(a){var b;let c=a.messages||[],d=Array.isArray(a.tools)?a.tools:void 0,e="none"===a.tool_choice?void 0:d,f=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=a=>"string"==typeof a?a:null!=a&&Array.isArray(a)?a.map(a=>"string"==typeof a?.text?a.text:"").filter(Boolean).join("\n"):"",c=a.filter(a=>"system"===a.role).map(a=>b(a.content)).filter(Boolean),d=a.filter(a=>"system"!==a.role);if(1===d.length&&"user"===d[0].role&&!d[0].tool_calls){let a=b(d[0].content);return c.length>0?`${c.join("\n\n")}
|
|
200
|
+
|
|
201
|
+
${a}`:a}let e=[];for(let a of d){let c=b(a.content);if("user"===a.role)c&&e.push(`User: ${c}`);else if("assistant"===a.role){if(c&&e.push(`Assistant: ${c}`),Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=b.function?.arguments??"";e.push(`Assistant called tool ${b.function?.name??"(unknown)"} (${b.id}) with arguments: ${a}`)}}else if("tool"===a.role){let b=a.tool_call_id??"(unknown)";e.push(`Tool result (${b}): ${c}`)}else c&&e.push(`${a.role}: ${c}`)}let f=e.join("\n\n");return c.length>0?`${c.join("\n\n")}
|
|
202
|
+
|
|
203
|
+
${f}`:f}(c);return e&&e.length>0&&"0"!==process.env.CURSOR_TOOL_DIRECTIVE&&(f=`You are serving an OpenAI-compatible API request and the client has provided executable tools.
|
|
200
204
|
When a tool is needed to answer (real-time data, web/search lookups, file or project operations), you MUST issue the actual tool call. Do NOT describe what you are about to do as prose and then stop — call the tool.
|
|
201
205
|
Answer directly only when no tool is needed.
|
|
202
206
|
Do not emit duplicate tool calls: call each operation once, then continue after the tool result is returned.
|
|
203
|
-
Never claim that tools are unavailable.${b=a.tool_choice
|
|
207
|
+
Never claim that tools are unavailable.${"required"===(b=a.tool_choice)?"\nYou MUST call at least one of the available tools now; do not answer without calling a tool.":ak(b)&&"function"===b.type&&ak(b.function)&&"string"==typeof b.function.name&&b.function.name?`
|
|
204
208
|
You MUST call the \`${b.function.name}\` tool now and not any other tool.`:""}
|
|
205
209
|
|
|
206
|
-
${f}`),{userText:f+=function(a){let b=[],c=a.max_completion_tokens??a.max_tokens,d="number"==typeof c&&Number.isFinite(c)?Math.floor(c):0;d>0&&b.push(`Keep the answer within about ${d} output tokens.`);let e=a.stop;"string"==typeof e&&e?b.push(`Do not include any text at or after this stop sequence: ${e}`):Array.isArray(e)&&e.length&&b.push(`Stop before any of these sequences: ${e.filter(Boolean).join(", ")}`);let f=a.response_format;if(
|
|
210
|
+
${f}`),{userText:f+=function(a){let b=[],c=a.max_completion_tokens??a.max_tokens,d="number"==typeof c&&Number.isFinite(c)?Math.floor(c):0;d>0&&b.push(`Keep the answer within about ${d} output tokens.`);let e=a.stop;"string"==typeof e&&e?b.push(`Do not include any text at or after this stop sequence: ${e}`):Array.isArray(e)&&e.length&&b.push(`Stop before any of these sequences: ${e.filter(Boolean).join(", ")}`);let f=a.response_format;if(ak(f)){if("json_object"===f.type)b.push("Return a single valid JSON object and no surrounding prose or code fences.");else if("json_schema"===f.type){let a=ak(f.json_schema)?f.json_schema.schema:f.schema;b.push(`Return only valid JSON (no prose or code fences) matching this schema: ${JSON.stringify(a??f)}`)}}return b.length?`
|
|
207
211
|
|
|
208
212
|
OUTPUT CONSTRAINTS:
|
|
209
|
-
${b.map(a=>`- ${a}`).join("\n")}`:""}(a),tools:e}}async resolveRequestImages(a){let b=a.messages||[],c=[];for(let a of b)if("user"===a.role)for(let b of(0,h.xC)(a.content))c.push(b);if(0!==c.length)return(0,h.PU)(c)}async buildRequest(a,b){let{userText:c,tools:d}=this.assembleTextAndTools(b),e=await this.resolveRequestImages(b),f=new Map;return{body:(0,g.fD)({modelId:a,userText:c,conversationId:b.conversation_id,tools:d,blobStore:f,images:e}),blobStore:f}}transformRequest(a,b,c,d){let{userText:e,tools:f}=this.assembleTextAndTools(b),h=new Map;return(0,g.fD)({modelId:a,userText:e,conversationId:b.conversation_id,tools:f,blobStore:h})}async openH2(a,b,c,d){if(!A)throw Error("http2 module not available");return new Promise((e,g)=>{let h=new URL(a),i=A.connect(`https://${h.host}`),j=[],k=!1;i.on("error",a=>{k||g(a)});let l=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...b}),m=()=>{try{l.close(),i.close()}catch{}k||(k=!0,g(Error("aborted")))};d&&d.addEventListener("abort",m),l.on("response",a=>{if(k)return;k=!0;let b=Number(a[":status"]??f.gx.SERVER_ERROR);e({status:b,headers:a,client:i,req:l,initialBytes:Buffer.concat(j),consumeError:()=>new Promise(a=>{let b=[...j];l.on("data",a=>b.push(Buffer.from(a))),l.on("end",()=>{try{l.close(),i.close()}catch{}d&&d.removeEventListener("abort",m),a(Buffer.concat(b))}),l.on("error",()=>{try{l.close(),i.close()}catch{}d&&d.removeEventListener("abort",m),a(Buffer.concat(b))})})})}),l.on("data",a=>{k||j.push(Buffer.from(a))}),l.on("error",a=>{k||(k=!0,d&&d.removeEventListener("abort",m),g(a))});try{l.write(c)}catch(a){if(!k){k=!0,d&&d.removeEventListener("abort",m);try{l.close(),i.close()}catch{}g(a instanceof Error?a:Error(String(a)))}}})}driveH2(a,b,c,d,e){let h=new Set,i=a.initialBytes.length>0?a.initialBytes:Buffer.alloc(0);return new Promise((j,k)=>{let n=!1,o=!1,p=setTimeout(()=>{b.endReason||(C("[cursor-agent] stream safety timeout fired"),A(),k(Error("cursor-agent stream timed out")))},D),r=a=>{B&&process.env.CURSOR_DUMP_FILE&&q.appendFileSync(process.env.CURSOR_DUMP_FILE,a),i=0===i.length?Buffer.from(a):Buffer.concat([i,a]),J()},s=()=>{o||(o=!0,b.endReason||(b.endReason="server_end"),x(),j())},t=a=>{o||(o=!0,A(),k(a))},v=()=>{o||(o=!0,A(),k(Error("aborted")))},x=()=>{clearTimeout(p),a.req.off("data",r),a.req.off("end",s),a.req.off("error",t),e&&e.removeEventListener("abort",v)},A=()=>{x();try{a.req.close(),a.client.close()}catch{}};e&&e.addEventListener("abort",v);let J=async()=>{if(!n&&!o){n=!0;try{let e=0;for(;!o&&e+5<=i.length;){let n=i.readUInt32BE(e+1);if(n>0x1000000){o=!0,A(),k(Error(`cursor-agent frame too large (${n} bytes)`));return}if(e+5+n>i.length)break;let p=i[e],q=i.subarray(e+5,e+5+n);try{let e=1&p?await z(q):q;if(o)return;!function(a,b,c,d={}){let e,h=function(a){if(a.length<2||123!==a[0])return null;try{let b=a.toString("utf8");if(!b.includes('"error"'))return null;let c=JSON.parse(b),d=c?.error||{},e=d?.details?.[0]?.debug?.details?.title||d?.details?.[0]?.debug?.details?.detail||d?.message||b,g=d?.code==="resource_exhausted"?f.gx.RATE_LIMITED:f.gx.BAD_REQUEST;return{message:e,status:g}}catch{return null}}(a);if(h){0===b.totalText.length&&(b.midStreamError=h),b.endReason="server_end";return}let i=(0,g.bm)(a);if(i&&d.h2Req){if("kv_get_blob"===i.kind){let a=i.blobId.toString("hex"),b=d.blobStore?.get(a)??Buffer.alloc(0);try{d.h2Req.write((0,g.Ex)(i.kvId,b,i.requestMetadata))}catch{}}else if("kv_set_blob"===i.kind){d.blobStore&&d.blobStore.set(i.blobId.toString("hex"),i.blobData);try{d.h2Req.write((0,g.C4)(i.kvId,i.requestMetadata))}catch{}}}let j=(0,g.lJ)(a),k=j?`${j.kind}:${j.execId}:${j.execMsgId}`:"";if(j&&!c.has(k))if(c.add(k),"exec_request_context"===j.kind){if(d.h2Req)try{d.h2Req.write((0,g.gB)(j.execMsgId,j.execId))}catch{}}else if("exec_mcp"===j.kind){b.emittedRoleChunk||(w(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0);let a=b.emittedToolCallIndex++,c=(0,l.J4)(),d=JSON.stringify(j.args??{});w(b,{tool_calls:[{index:a,id:c,type:"function",function:{name:j.toolName,arguments:""}}]}),w(b,{tool_calls:[{index:a,function:{arguments:d}}]}),b.toolCalls.push({id:c,name:j.toolName,argumentsJson:d}),b.pendingToolCalls.set(c,{execMsgId:j.execMsgId,execId:j.execId,toolName:j.toolName}),b.endReason="tool_calls"}else{let a=function(a){switch(a.kind){case"exec_request_context":case"exec_mcp":return null;case"exec_read":return(0,g.O8)(a.execMsgId,a.execId,a.path,y);case"exec_write":return(0,g.Xo)(a.execMsgId,a.execId,a.path,y);case"exec_delete":return(0,g.v4)(a.execMsgId,a.execId,a.path,y);case"exec_ls":return(0,g.N_)(a.execMsgId,a.execId,a.path,y);case"exec_grep":return(0,g.mK)(a.execMsgId,a.execId,y);case"exec_diagnostics":return(0,g.TM)(a.execMsgId,a.execId);case"exec_shell":case"exec_shell_stream":return(0,g.o_)(a.execMsgId,a.execId,a.command,a.workingDir,y);case"exec_bg_shell":return(0,g.b3)(a.execMsgId,a.execId,a.command,a.workingDir,y);case"exec_fetch":return(0,g.UF)(a.execMsgId,a.execId,a.url,y);case"exec_write_shell_stdin":return(0,g.D3)(a.execMsgId,a.execId,y)}}(j);if(a&&d.h2Req)try{d.h2Req.write(a)}catch{}}try{e=(0,g.sG)(a)}catch(a){C("[cursor-agent] decode failed:",a.message);return}for(let a of e)if("text"===a.kind&&a.text)b.emittedRoleChunk||(w(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0),b.totalText+=a.text,b.receivedText=!0,w(b,{content:a.text});else if("thinking"===a.kind&&a.text)if(b.emittedRoleChunk||(w(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0),b.thinkingText+=a.text,b.receivedText=!0,u(b.model)){let a=function(a){if(!a)return"";let b=a.lastIndexOf(E);if(b<0)return"";let c=a.slice(b+E.length).trimStart();if(F.test(c))c=c.replace(F,"");else if(H.test(c)||I.test(c))return"";return c.replace(G,"").trim()}(b.thinkingText);if(a.length>b.composerVisibleEmittedLength)if(b.composerToolParserState){let c=(0,m.SA)(b.composerToolParserState,a);if(b.composerVisibleEmittedLength=b.composerToolParserState.emitted,c.safeDelta&&(b.totalText+=c.safeDelta,w(b,{content:c.safeDelta})),c.ready&&c.toolCalls.length>0&&!b.composerInlineToolCallsEmitted)for(let a of(b.composerInlineToolCallsEmitted=!0,c.toolCalls)){let c=b.emittedToolCallIndex++;b.toolCalls.push({id:a.id,name:a.function.name,argumentsJson:a.function.arguments}),w(b,{tool_calls:[{index:c,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]})}}else{let c=a.slice(b.composerVisibleEmittedLength);b.composerVisibleEmittedLength=a.length,b.totalText+=c,w(b,{content:c})}}else w(b,{reasoning_content:a.text});else"token_delta"===a.kind?b.tokenDelta+=a.tokens:"turn_ended"===a.kind?b.endReason="turn_ended":"tool_call_completed"===a.kind&&b.toolCalls.length>0?b.endReason="tool_calls":"kv_server_message"===a.kind&&b.receivedText&&(b.kvAfterTextSeen=!0,b.endReason="kv_after_text")}(e,b,h,{h2Req:a.req,mcpTools:c,blobStore:d})}catch(a){C("[cursor-agent] frame decode failed at pos",e,":",a.message)}if(e+=5+n,b.endReason){i=i.subarray(e),o=!0,x(),j();return}}e>0&&(i=i.subarray(e))}finally{n=!1}!o&&i.length>=5&&i.length>=5+i.readUInt32BE(1)&&J()}};a.req.on("data",r),a.req.on("end",s),a.req.on("error",t),J()})}async execute({model:a,body:b,stream:c,credentials:d,signal:i,log:j,upstreamExtraHeaders:l}){let m,o,q,r=this.buildUrl(),s=this.buildHeaders(d);(0,e._F)(s,l);let t=b.messages||[],u="string"==typeof b.conversation_id&&b.conversation_id?b.conversation_id:p().randomUUID(),w=t[t.length-1],x=w?.role==="tool",y=Array.isArray(b.tools)?(0,g.H9)(b.tools):void 0,z=(a,b,c="invalid_request_error")=>new Response(JSON.stringify({error:{message:(0,k.sanitizeErrorMessage)(b),type:c,code:""}}),{status:a,headers:{"Content-Type":"application/json"}});if(!A)return{response:z(501,"Cursor provider requires Node.js http2, which is unavailable in this runtime (Edge / Cloudflare Workers / similar). Run OmniRoute on a Node.js runtime to use cursor.","unsupported_runtime"),url:r,headers:s,transformedBody:b};if(x&&(m=n.S.acquire(u)),m){q=m.blobStore;let a=0,b=!1;for(let c of t){if("tool"!==c.role)continue;let d=c.tool_call_id??"";if(!m.pendingToolCalls.has(d))continue;let e="string"==typeof c.content?c.content:"";if(n.S.sendToolResult(m,d,e,!1))a++;else{b=!0;break}}0===a||b?(n.S.close(m),m=void 0):o={client:m.h2Client,req:m.h2Req,initialBytes:Buffer.alloc(0)}}if(!m){let c,d;try{c=await this.buildRequest(a,b)}catch(c){if(c instanceof h.Qs)return{response:z(c.status,c.message,"invalid_request_error"),url:r,headers:s,transformedBody:b};let a=c instanceof Error?c.message:String(c);return{response:z(f.gx.SERVER_ERROR,a,"connection_error"),url:r,headers:s,transformedBody:b}}q=c.blobStore;try{d=await this.openH2(r,s,c.body,i)}catch(c){let a=c instanceof Error?c.message:String(c);return{response:z(f.gx.SERVER_ERROR,a,"connection_error"),url:r,headers:s,transformedBody:b}}if(200!==d.status){let a=(await d.consumeError()).toString("utf8")||"Unknown error";return{response:z(d.status,`[${d.status}]: ${a}`),url:r,headers:s,transformedBody:b}}o=d,m=n.S.open(u,d.client,d.req,q)}let B=m,C=(a,b)=>{for(let[b,c]of a.pendingToolCalls)B.pendingToolCalls.set(b,c);b||"tool_calls"!==a.endReason?n.S.close(B):n.S.release(B,"awaiting_tool_result")};if(!1!==c){let c=new TextEncoder,d=new ReadableStream({start:async d=>{let e=v(a,a=>d.enqueue(c.encode(a)));try{await this.driveH2(o,e,y,q,i),this.finalizeSseStream(e,b),C(e,!1),d.close()}catch(a){C(e,!0),d.error(a)}}},{highWaterMark:16384});return{response:new Response(d,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:r,headers:s,transformedBody:b}}let D=v(a,()=>{});try{await this.driveH2(o,D,y,q,i)}catch(c){C(D,!0);let a=c instanceof Error?c.message:String(c);return{response:z(f.gx.SERVER_ERROR,a,"connection_error"),url:r,headers:s,transformedBody:b}}return C(D,!1),{response:this.buildResponseFromCtx(D,b),url:r,headers:s,transformedBody:b}}finalizeSseStream(a,b){let c,d;if(a.midStreamError&&0===a.totalText.length){let b={id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[],error:{message:a.midStreamError.message,type:a.midStreamError.status===f.gx.RATE_LIMITED?"rate_limit_error":"api_error"}};a.emit(`data: ${JSON.stringify(b)}
|
|
213
|
+
${b.map(a=>`- ${a}`).join("\n")}`:""}(a),tools:e}}async resolveRequestImages(a){let b=a.messages||[],c=[];for(let a of b)if("user"===a.role)for(let b of function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c&&"object"==typeof c&&"image_url"===c.type){let a=c.image_url;"string"==typeof a?b.push(a):a&&"object"==typeof a&&"string"==typeof a.url&&b.push(a.url)}return b}(a.content))c.push(b);if(0!==c.length)return N(c)}async buildRequest(a,b){let{userText:c,tools:d}=this.assembleTextAndTools(b),e=await this.resolveRequestImages(b),f=new Map;return{body:z({modelId:a,userText:c,conversationId:b.conversation_id,tools:d,blobStore:f,images:e}),blobStore:f}}transformRequest(a,b,c,d){let{userText:e,tools:f}=this.assembleTextAndTools(b),g=new Map;return z({modelId:a,userText:e,conversationId:b.conversation_id,tools:f,blobStore:g})}async openH2(a,b,c,d){if(!al)throw Error("http2 module not available");return new Promise((e,f)=>{let h=new URL(a),i=al.connect(`https://${h.host}`),j=[],k=!1;i.on("error",a=>{k||f(a)});let l=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...b}),m=()=>{try{l.close(),i.close()}catch{}k||(k=!0,f(Error("aborted")))};d&&d.addEventListener("abort",m),l.on("response",a=>{k||(k=!0,e({status:Number(a[":status"]??g.gx.SERVER_ERROR),headers:a,client:i,req:l,initialBytes:Buffer.concat(j),consumeError:()=>new Promise(a=>{let b=[...j];l.on("data",a=>b.push(Buffer.from(a))),l.on("end",()=>{try{l.close(),i.close()}catch{}d&&d.removeEventListener("abort",m),a(Buffer.concat(b))}),l.on("error",()=>{try{l.close(),i.close()}catch{}d&&d.removeEventListener("abort",m),a(Buffer.concat(b))})})}))}),l.on("data",a=>{k||j.push(Buffer.from(a))}),l.on("error",a=>{k||(k=!0,d&&d.removeEventListener("abort",m),f(a))});try{l.write(c)}catch(a){if(!k){k=!0,d&&d.removeEventListener("abort",m);try{l.close(),i.close()}catch{}f(a instanceof Error?a:Error(String(a)))}}})}driveH2(a,b,c,d,e){let f=new Set,h=a.initialBytes.length>0?a.initialBytes:Buffer.alloc(0);return new Promise((i,j)=>{let k=!1,l=!1,m=setTimeout(()=>{b.endReason||(an("[cursor-agent] stream safety timeout fired"),F(),j(Error("cursor-agent stream timed out")))},ao),x=a=>{am&&process.env.CURSOR_DUMP_FILE&&ag.appendFileSync(process.env.CURSOR_DUMP_FILE,a),h=0===h.length?Buffer.from(a):Buffer.concat([h,a]),G()},y=()=>{l||(l=!0,b.endReason||(b.endReason="server_end"),E(),i())},z=a=>{l||(l=!0,F(),j(a))},D=()=>{l||(l=!0,F(),j(Error("aborted")))},E=()=>{clearTimeout(m),a.req.off("data",x),a.req.off("end",y),a.req.off("error",z),e&&e.removeEventListener("abort",D)},F=()=>{E();try{a.req.close(),a.client.close()}catch{}};e&&e.addEventListener("abort",D);let G=async()=>{if(!k&&!l){k=!0;try{let e=0;for(;!l&&e+5<=h.length;){let k=h.readUInt32BE(e+1);if(k>0x1000000){l=!0,F(),j(Error(`cursor-agent frame too large (${k} bytes)`));return}if(e+5+k>h.length)break;let m=h[e],x=h.subarray(e+5,e+5+k);try{let e=1&m?await aj(x):x;if(l)return;!function(a,b,c,d={}){let e,f=function(a){if(a.length<2||123!==a[0])return null;try{let b=a.toString("utf8");if(!b.includes('"error"'))return null;let c=JSON.parse(b),d=c?.error||{},e=d?.details?.[0]?.debug?.details?.title||d?.details?.[0]?.debug?.details?.detail||d?.message||b,f=d?.code==="resource_exhausted"?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST;return{message:e,status:f}}catch{return null}}(a);if(f){0===b.totalText.length&&(b.midStreamError=f),b.endReason="server_end";return}let h=function(a){for(let b of t(a)){if(4!==b.fieldNumber||2!==b.wireType)continue;let a=0,c=null,d=null,e=null;for(let f of t(b.bytes))1===f.fieldNumber&&0===f.wireType?a=Number(f.varint):2===f.fieldNumber&&2===f.wireType?c=f.bytes:3===f.fieldNumber&&2===f.wireType?d=f.bytes:4===f.fieldNumber&&2===f.wireType&&(e=f.bytes);if(c){let b=Buffer.alloc(0);for(let a of t(c))1===a.fieldNumber&&2===a.wireType&&(b=a.bytes);return{kind:"kv_get_blob",kvId:a,blobId:b,requestMetadata:e}}if(d){let b=Buffer.alloc(0),c=Buffer.alloc(0);for(let a of t(d))1===a.fieldNumber&&2===a.wireType?b=a.bytes:2===a.fieldNumber&&2===a.wireType&&(c=a.bytes);return{kind:"kv_set_blob",kvId:a,blobId:b,blobData:c,requestMetadata:e}}}return null}(a);if(h&&d.h2Req){if("kv_get_blob"===h.kind){let a=h.blobId.toString("hex"),b=d.blobStore?.get(a)??Buffer.alloc(0);try{d.h2Req.write(function(a,b,c=null){let d=n(1,b),e=[];return 0!==a&&e.push(q(1,a)),e.push(p(2,[d])),c&&c.length>0&&e.push(n(4,c)),w(p(3,e))}(h.kvId,b,h.requestMetadata))}catch{}}else if("kv_set_blob"===h.kind){d.blobStore&&d.blobStore.set(h.blobId.toString("hex"),h.blobData);try{d.h2Req.write(function(a,b=null){let c=[];return 0!==a&&c.push(q(1,a)),c.push(p(3,[])),b&&b.length>0&&c.push(n(4,b)),w(p(3,c))}(h.kvId,h.requestMetadata))}catch{}}}let i=function(a){for(let b of t(a)){if(2!==b.fieldNumber||2!==b.wireType)continue;let a=0,c="",d=0,e=null;for(let f of t(b.bytes))1===f.fieldNumber&&0===f.wireType?a=Number(f.varint):15===f.fieldNumber&&2===f.wireType?c=f.bytes.toString("utf8"):2===f.wireType&&0===d&&(d=f.fieldNumber,e=f.bytes);if(null!==e)switch(d){case 10:return{kind:"exec_request_context",execMsgId:a,execId:c};case 7:return{kind:"exec_read",execMsgId:a,execId:c,path:v(e,1)};case 3:return{kind:"exec_write",execMsgId:a,execId:c,path:v(e,1)};case 4:return{kind:"exec_delete",execMsgId:a,execId:c,path:v(e,1)};case 8:return{kind:"exec_ls",execMsgId:a,execId:c,path:v(e,1)};case 5:return{kind:"exec_grep",execMsgId:a,execId:c};case 9:return{kind:"exec_diagnostics",execMsgId:a,execId:c};case 2:return{kind:"exec_shell",execMsgId:a,execId:c,command:v(e,1),workingDir:v(e,2)};case 14:return{kind:"exec_shell_stream",execMsgId:a,execId:c,command:v(e,1),workingDir:v(e,2)};case 16:return{kind:"exec_bg_shell",execMsgId:a,execId:c,command:v(e,1),workingDir:v(e,2)};case 20:return{kind:"exec_fetch",execMsgId:a,execId:c,url:v(e,1)};case 23:return{kind:"exec_write_shell_stdin",execMsgId:a,execId:c};case 11:{let b="",d="",f={};for(let a of t(e))if(2===a.wireType)if(5===a.fieldNumber)b=a.bytes.toString("utf8");else if(1!==a.fieldNumber||b){if(3===a.fieldNumber)d=a.bytes.toString("utf8");else if(2===a.fieldNumber){let b="",c=null;for(let d of t(a.bytes))1===d.fieldNumber&&2===d.wireType?b=d.bytes.toString("utf8"):2===d.fieldNumber&&2===d.wireType&&(c=d.bytes);b&&null!==c&&(f[b]=function a(b){let c=0;for(;c<b.length;){let[d,e]=r(b,c);c=e;let f=Number(d>>3n),g=Number(7n&d);switch(f){case 1:return 0===g&&([,c]=r(b,c)),null;case 2:if(1===g&&c+8<=b.length){let a=b.readDoubleLE(c);return c+=8,a}return 0;case 3:if(2===g){let[a,d]=r(b,c),e=s(a,c=d,b),f=b.subarray(c,c+e).toString("utf8");return c+=e,f}return"";case 4:if(0===g){let[a,d]=r(b,c);return c=d,0n!==a}return!1;case 5:if(2===g){let[d,e]=r(b,c),f=s(d,c=e,b),g=b.subarray(c,c+f);return c+=f,function(b){let c={};for(let d of t(b))if(1===d.fieldNumber&&2===d.wireType){let b="",e=null;for(let a of t(d.bytes))1===a.fieldNumber&&2===a.wireType?b=a.bytes.toString("utf8"):2===a.fieldNumber&&2===a.wireType&&(e=a.bytes);b&&e&&(c[b]=a(e))}return c}(g)}return{};case 6:if(2===g){let[d,e]=r(b,c),f=s(d,c=e,b),g=b.subarray(c,c+f);return c+=f,function(b){let c=[];for(let d of t(b))1===d.fieldNumber&&2===d.wireType&&c.push(a(d.bytes));return c}(g)}return[];default:if(0===g)[,c]=r(b,c);else if(2===g){let[a,d]=r(b,c);c=d+Number(a)}else 1===g?c+=8:5===g&&(c+=4)}}return null}(c))}}else b=a.bytes.toString("utf8");return{kind:"exec_mcp",execMsgId:a,execId:c,toolName:b,toolCallId:d,args:f}}default:return null}}return null}(a),j=i?`${i.kind}:${i.execId}:${i.execMsgId}`:"";if(i&&!c.has(j))if(c.add(j),"exec_request_context"===i.kind){if(d.h2Req)try{d.h2Req.write(function(a,b){let c=[],d=p(1,c),e=p(1,[d]);return w(p(2,[q(1,a),o(15,b),p(10,[e])]))}(i.execMsgId,i.execId))}catch{}}else if("exec_mcp"===i.kind){b.emittedRoleChunk||(aw(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0);let a=b.emittedToolCallIndex++,c=(0,U.J4)(),d=JSON.stringify(i.args??{});aw(b,{tool_calls:[{index:a,id:c,type:"function",function:{name:i.toolName,arguments:""}}]}),aw(b,{tool_calls:[{index:a,function:{arguments:d}}]}),b.toolCalls.push({id:c,name:i.toolName,argumentsJson:d}),b.pendingToolCalls.set(c,{execMsgId:i.execMsgId,execId:i.execId,toolName:i.toolName}),b.endReason="tool_calls"}else{let a=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,q,r,s,t,u,v,w,x,y,z,D,E,F,G,H;switch(a.kind){case"exec_request_context":case"exec_mcp":return null;case"exec_read":return b=a.execMsgId,c=a.execId,d=a.path,A(b,c,7,p(2,[B(d,ai)]));case"exec_write":return e=a.execMsgId,f=a.execId,g=a.path,A(e,f,3,p(2,[B(g,ai)]));case"exec_delete":return h=a.execMsgId,i=a.execId,j=a.path,A(h,i,4,p(2,[B(j,ai)]));case"exec_ls":return k=a.execMsgId,l=a.execId,m=a.path,A(k,l,8,p(2,[B(m,ai)]));case"exec_grep":return n=a.execMsgId,q=a.execId,A(n,q,5,p(2,[o(1,ai)]));case"exec_diagnostics":return r=a.execMsgId,A(r,a.execId,9,Buffer.alloc(0));case"exec_shell":case"exec_shell_stream":return s=a.execMsgId,t=a.execId,u=a.command,v=a.workingDir,A(s,t,2,p(2,[C(u,v,ai)]));case"exec_bg_shell":return w=a.execMsgId,x=a.execId,y=a.command,z=a.workingDir,A(w,x,16,p(2,[C(y,z,ai)]));case"exec_fetch":return D=a.execMsgId,E=a.execId,F=a.url,A(D,E,20,p(2,[Buffer.concat([o(1,F),o(2,ai)])]));case"exec_write_shell_stdin":return G=a.execMsgId,H=a.execId,A(G,H,23,p(2,[o(1,ai)]))}}(i);if(a&&d.h2Req)try{d.h2Req.write(a)}catch{}}try{e=function(a){let b=[];for(let c of t(a)){if(4===c.fieldNumber&&2===c.wireType){b.push({kind:"kv_server_message"});continue}if(1===c.fieldNumber&&2===c.wireType){for(let a of t(c.bytes))if(2===a.wireType||0===a.wireType)switch(a.fieldNumber){case 1:2===a.wireType&&b.push({kind:"text",text:v(a.bytes,1)});break;case 4:2===a.wireType&&b.push({kind:"thinking",text:v(a.bytes,1)});break;case 5:b.push({kind:"thinking_complete"});break;case 2:b.push({kind:"tool_call_started"});break;case 3:b.push({kind:"tool_call_completed"});break;case 8:2===a.wireType&&b.push({kind:"token_delta",tokens:function(a){let b=u(t(a),1);return b&&0===b.wireType?Number(b.varint):0}(a.bytes)});break;case 13:b.push({kind:"heartbeat"});break;case 14:b.push({kind:"turn_ended"});break;default:b.push({kind:"unknown",field:a.fieldNumber})}}}return b}(a)}catch(a){an("[cursor-agent] decode failed:",a.message);return}for(let a of e)if("text"===a.kind&&a.text)b.emittedRoleChunk||(aw(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0),b.totalText+=a.text,b.receivedText=!0,aw(b,{content:a.text});else if("thinking"===a.kind&&a.text)if(b.emittedRoleChunk||(aw(b,{role:"assistant",content:""}),b.emittedRoleChunk=!0),b.thinkingText+=a.text,b.receivedText=!0,aq(b.model)){let a=function(a){if(!a)return"";let b=a.lastIndexOf(ap);if(b<0)return"";let c=a.slice(b+ap.length).trimStart();if(ar.test(c))c=c.replace(ar,"");else if(at.test(c)||au.test(c))return"";return c.replace(as,"").trim()}(b.thinkingText);if(a.length>b.composerVisibleEmittedLength)if(b.composerToolParserState){let c=function(a,b){if(a.done||!b)return{safeDelta:"",ready:!1,toolCalls:[],holdback:!1};let c=b.match(X);if(c&&void 0!==c.index){let d=b.slice(0,c.index),e=c[1],f=[],g=0;for(let a of e.matchAll(Y)){let b=aa(a[1]);b&&(f.push({id:_(g),type:"function",function:b}),g+=1)}let h=d.length>a.emitted?d.slice(a.emitted):"";return a.emitted=d.length,a.done=!0,{safeDelta:h,ready:!0,toolCalls:f,holdback:!1}}let d=RegExp(`<${V}tool${W}calls${W}begin${V}>`,"i"),e=b.match(d);if(e&&void 0!==e.index){let c=b.slice(0,e.index),d=c.length>a.emitted?c.slice(a.emitted):"";return a.emitted=c.length,{safeDelta:d,ready:!1,toolCalls:[],holdback:!0}}let f=b.match($);if(f&&void 0!==f.index){let c=b.slice(0,f.index),d=c.length>a.emitted?c.slice(a.emitted):"";return a.emitted=c.length,{safeDelta:d,ready:!1,toolCalls:[],holdback:!0}}let g=b.length>a.emitted?b.slice(a.emitted):"";return a.emitted=b.length,{safeDelta:g,ready:!1,toolCalls:[],holdback:!1}}(b.composerToolParserState,a);if(b.composerVisibleEmittedLength=b.composerToolParserState.emitted,c.safeDelta&&(b.totalText+=c.safeDelta,aw(b,{content:c.safeDelta})),c.ready&&c.toolCalls.length>0&&!b.composerInlineToolCallsEmitted)for(let a of(b.composerInlineToolCallsEmitted=!0,c.toolCalls)){let c=b.emittedToolCallIndex++;b.toolCalls.push({id:a.id,name:a.function.name,argumentsJson:a.function.arguments}),aw(b,{tool_calls:[{index:c,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]})}}else{let c=a.slice(b.composerVisibleEmittedLength);b.composerVisibleEmittedLength=a.length,b.totalText+=c,aw(b,{content:c})}}else aw(b,{reasoning_content:a.text});else"token_delta"===a.kind?b.tokenDelta+=a.tokens:"turn_ended"===a.kind?b.endReason="turn_ended":"tool_call_completed"===a.kind&&b.toolCalls.length>0?b.endReason="tool_calls":"kv_server_message"===a.kind&&b.receivedText&&(b.kvAfterTextSeen=!0,b.endReason="kv_after_text")}(e,b,f,{h2Req:a.req,mcpTools:c,blobStore:d})}catch(a){an("[cursor-agent] frame decode failed at pos",e,":",a.message)}if(e+=5+k,b.endReason){h=h.subarray(e),l=!0,E(),i();return}}e>0&&(h=h.subarray(e))}finally{k=!1}!l&&h.length>=5&&h.length>=5+h.readUInt32BE(1)&&G()}};a.req.on("data",x),a.req.on("end",y),a.req.on("error",z),G()})}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,upstreamExtraHeaders:i}){let j,k,l,m=this.buildUrl(),n=this.buildHeaders(d);(0,f._F)(n,i);let o=b.messages||[],p="string"==typeof b.conversation_id&&b.conversation_id?b.conversation_id:af().randomUUID(),q=o[o.length-1],r=q?.role==="tool",s=Array.isArray(b.tools)?y(b.tools):void 0,t=(a,b,c="invalid_request_error")=>new Response(JSON.stringify({error:{message:(0,T.sanitizeErrorMessage)(b),type:c,code:""}}),{status:a,headers:{"Content-Type":"application/json"}});if(!al)return{response:t(501,"Cursor provider requires Node.js http2, which is unavailable in this runtime (Edge / Cloudflare Workers / similar). Run OmniRoute on a Node.js runtime to use cursor.","unsupported_runtime"),url:m,headers:n,transformedBody:b};if(r&&(j=ad.acquire(p)),j){l=j.blobStore;let a=0,b=!1;for(let c of o){if("tool"!==c.role)continue;let d=c.tool_call_id??"";if(!j.pendingToolCalls.has(d))continue;let e="string"==typeof c.content?c.content:"";if(ad.sendToolResult(j,d,e,!1))a++;else{b=!0;break}}0===a||b?(ad.close(j),j=void 0):k={client:j.h2Client,req:j.h2Req,initialBytes:Buffer.alloc(0)}}if(!j){let c,d;try{c=await this.buildRequest(a,b)}catch(c){if(c instanceof J)return{response:t(c.status,c.message,"invalid_request_error"),url:m,headers:n,transformedBody:b};let a=c instanceof Error?c.message:String(c);return{response:t(g.gx.SERVER_ERROR,a,"connection_error"),url:m,headers:n,transformedBody:b}}l=c.blobStore;try{d=await this.openH2(m,n,c.body,e)}catch(c){let a=c instanceof Error?c.message:String(c);return{response:t(g.gx.SERVER_ERROR,a,"connection_error"),url:m,headers:n,transformedBody:b}}if(200!==d.status){let a=(await d.consumeError()).toString("utf8")||"Unknown error";return{response:t(d.status,`[${d.status}]: ${a}`),url:m,headers:n,transformedBody:b}}k=d,j=ad.open(p,d.client,d.req,l)}let u=j,v=(a,b)=>{for(let[b,c]of a.pendingToolCalls)u.pendingToolCalls.set(b,c);b||"tool_calls"!==a.endReason?ad.close(u):ad.release(u,"awaiting_tool_result")};if(!1!==c){let c=new TextEncoder;return{response:new Response(new ReadableStream({start:async d=>{let f=av(a,a=>d.enqueue(c.encode(a)));try{await this.driveH2(k,f,s,l,e),this.finalizeSseStream(f,b),v(f,!1),d.close()}catch(a){v(f,!0),d.error(a)}}},{highWaterMark:16384}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:m,headers:n,transformedBody:b}}let w=av(a,()=>{});try{await this.driveH2(k,w,s,l,e)}catch(c){v(w,!0);let a=c instanceof Error?c.message:String(c);return{response:t(g.gx.SERVER_ERROR,a,"connection_error"),url:m,headers:n,transformedBody:b}}return v(w,!1),{response:this.buildResponseFromCtx(w,b),url:m,headers:n,transformedBody:b}}finalizeSseStream(a,b){let c,d;if(a.midStreamError&&0===a.totalText.length){let b={id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[],error:{message:a.midStreamError.message,type:a.midStreamError.status===g.gx.RATE_LIMITED?"rate_limit_error":"api_error"}};a.emit(`data: ${JSON.stringify(b)}
|
|
210
214
|
|
|
211
|
-
`),a.emit("data: [DONE]\n\n");return}if(a.emittedRoleChunk||
|
|
215
|
+
`),a.emit("data: [DONE]\n\n");return}if(a.emittedRoleChunk||aw(a,{role:"assistant",content:""}),aq(a.model)&&!a.composerInlineToolCallsEmitted&&a.totalText){let b=ab(a.totalText);if(b.toolCalls.length>0)for(let c of(a.composerInlineToolCallsEmitted=!0,a.totalText=b.content,b.toolCalls)){let b=a.emittedToolCallIndex++;a.toolCalls.push({id:c.id,name:c.function.name,argumentsJson:c.function.arguments}),aw(a,{tool_calls:[{index:b,id:c.id,type:"function",function:{name:c.function.name,arguments:c.function.arguments}}]})}}let e=a.toolCalls.length>0?"tool_calls":"stop";aw(a,{},e),c=ax(a,b),d={id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[],usage:c},a.emit(`data: ${JSON.stringify(d)}
|
|
212
216
|
|
|
213
|
-
`),a.emit("data: [DONE]\n\n")}buildResponseFromCtx(a,b){if(a.midStreamError&&0===a.totalText.length)return new Response(JSON.stringify({error:{message:a.midStreamError.message,type:a.midStreamError.status===
|
|
217
|
+
`),a.emit("data: [DONE]\n\n")}buildResponseFromCtx(a,b){if(a.midStreamError&&0===a.totalText.length)return new Response(JSON.stringify({error:{message:a.midStreamError.message,type:a.midStreamError.status===g.gx.RATE_LIMITED?"rate_limit_error":"api_error"}}),{status:a.midStreamError.status,headers:{"Content-Type":"application/json"}});if(aq(a.model)&&!a.composerInlineToolCallsEmitted&&a.totalText){let b=ab(a.totalText);if(b.toolCalls.length>0)for(let c of(a.composerInlineToolCallsEmitted=!0,a.totalText=b.content,b.toolCalls))a.toolCalls.push({id:c.id,name:c.function.name,argumentsJson:c.function.arguments})}let c=ax(a,b),d=a.toolCalls.length>0?"tool_calls":"stop",e={role:"assistant",content:a.totalText.length>0?a.totalText:null};if(a.thinkingText.length>0){let b=aq(a.model)?function(a){if(!a)return"";let b=a.lastIndexOf(ap);return b<0?a:a.slice(0,b)}(a.thinkingText):a.thinkingText;b.length>0&&(e.reasoning_content=b)}return a.toolCalls.length>0&&(e.tool_calls=a.toolCalls.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:a.argumentsJson}}))),new Response(JSON.stringify({id:a.responseId,object:"chat.completion",created:a.created,model:a.model,choices:[{index:0,message:e,finish_reason:d}],usage:c}),{status:200,headers:{"Content-Type":"application/json"}})}async refreshCredentials(){return null}}},21880:(a,b,c)=>{c.d(b,{l:()=>h});var d=c(55511),e=c(97510),f=c(43659);let g="https://zenmux.ai/api/anthropic/v1/messages";class h extends e.Hv{constructor(){super("zenmux-free",{id:"zenmux-free",baseUrl:g})}async execute(a){let b,c,{body:e,credentials:h,signal:j,stream:k}=a,l=e||{},m=(0,f.sY)(String(h?.apiKey??"").trim()),n=(c=m.match(/ctoken=([^;]+)/))?c[1]:"";if(!n)return(0,f.DV)(401,"ZenMux Free: ctoken not found in cookies. Export all cookies from zenmux.ai and paste as the credential.",e,g);let o=l.messages||[],p=l.model||"deepseek/deepseek-chat",q=l.max_tokens||4096,r=o.filter(a=>"user"===a.role),s=o.filter(a=>"system"===a.role),t=r[r.length-1],u="string"==typeof t?.content?t.content:JSON.stringify(t?.content??"Hello"),v=s.length>0?"string"==typeof s[0].content?s[0].content:JSON.stringify(s[0].content):null,w=v?`${v}
|
|
214
218
|
|
|
215
219
|
${u}`:u,x=(0,d.randomUUID)().replace(/-/g,""),y={model:p,max_tokens:q,messages:[{role:"user",content:[{type:"text",text:w}]}],stream:!0};void 0!==l.temperature&&(y.temperature=l.temperature);let z=new URL(g);z.searchParams.set("ctoken",n);let A={"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:"text/event-stream",Origin:"https://zenmux.ai",Referer:"https://zenmux.ai/platform/chat","anthropic-version":"2023-06-01","chat-request-id":x,"x-zenmux-accept-processing":"true, true","x-zenmux-apikey-source":"subscription"};m&&(A.Cookie=m);try{b=await fetch(z.toString(),{method:"POST",headers:A,body:JSON.stringify(y),signal:j})}catch(a){return(0,f.DV)(502,`ZenMux Free fetch failed: ${a instanceof Error?a.message:"unknown"}`,e,g)}if(!b.ok){if(401===b.status||403===b.status)return(0,f.DV)(401,"ZenMux Free: cookies expired or invalid",e,g);if(402===b.status)return(0,f.DV)(402,"ZenMux Free: free-tier quota exhausted",e,g);let a=await b.text().catch(()=>"");return(0,f.DV)(b.status,`ZenMux Free error: ${a}`,e,g)}let B=`chatcmpl-zmf-${(0,d.randomUUID)().slice(0,12)}`,C=Math.floor(Date.now()/1e3);if(!k){let a=await i(b.body);return{response:new Response(JSON.stringify({id:B,object:"chat.completion",created:C,model:p,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:Math.ceil(a.length/4),total_tokens:0}}),{headers:{"Content-Type":"application/json"}}),url:g,headers:A,transformedBody:y}}let D=new TextEncoder,E=new TextDecoder;return{response:new Response(new ReadableStream({async start(a){let c=b.body?.getReader();if(!c)return void a.close();a.enqueue(D.encode(`data: ${JSON.stringify({id:B,object:"chat.completion.chunk",created:C,model:p,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})}
|
|
216
220
|
|
|
@@ -240,7 +244,7 @@ ${a}`):b.push(a))}return b.join("\n\n")}(G);if(!H.trim())return p(400,"No messag
|
|
|
240
244
|
|
|
241
245
|
`}function j(a,b,c,d){let e=new TextEncoder;return new Response(new ReadableStream({start(f){f.enqueue(e.encode(i({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]}))),a&&f.enqueue(e.encode(i({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:a},finish_reason:null}]}))),f.enqueue(e.encode(i({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}))),f.enqueue(e.encode("data: [DONE]\n\n")),f.close()}}),{status:200,headers:{"Content-Type":"text/event-stream"}})}function k(a,b){return new Response(JSON.stringify({error:{message:b,type:401===a||403===a?"authentication_error":429===a?"rate_limit_error":"api_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}class l extends e.Hv{constructor(){super("nlpcloud",f.xq.nlpcloud||{format:"openai"})}buildUrl(a,b,c=0,d=null){let e,f=(e=String(("string"==typeof d?.providerSpecificData?.baseUrl?d.providerSpecificData.baseUrl:this.config.baseUrl)||"https://api.nlpcloud.io/v1/gpu").trim().replace(/\/+$/,"")).endsWith("/chatbot")?e.replace(/\/[^/]+\/chatbot$/,""):e.endsWith("/v1/gpu")?e:e.endsWith("/v1")?`${e}/gpu`:e;return`${f}/${encodeURIComponent(a||g)}/chatbot`}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return c&&(d.Authorization=`Token ${c}`),d.Accept=b?"text/event-stream":"application/json",d}buildRequestPayload(a,b,c){let d=h(b),e=function(a){if(!Array.isArray(a))return{input:"",context:null,history:[]};let b=[],c=[];for(let e of a){var d;let a=String(e?.role||"user").toLowerCase(),f="string"==typeof(d=e?.content)?d.trim():Array.isArray(d)?d.map(a=>a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text||"input_text"===a.type&&"string"==typeof a.text)?a.text:"").filter(a=>a.trim().length>0).join("\n").trim():"";if(f){if("system"===a||"developer"===a){b.push(f);continue}("user"===a||"assistant"===a)&&c.push({role:a,text:f})}}let e=[...c].map(a=>a.role).lastIndexOf("user");if(-1===e)return{input:"",context:b.length>0?b.join("\n\n"):null,history:[]};let f=[],g=null;for(let a=0;a<e;a+=1){let b=c[a];if("user"===b.role){g=b.text;continue}"assistant"===b.role&&g&&(f.push({input:g,response:b.text}),g=null)}return{input:c[e]?.text||"",context:b.length>0?b.join("\n\n"):null,history:f}}(Array.isArray(d.messages)?d.messages:[]);return e.input?{input:e.input,...e.context?{context:e.context}:{},...e.history.length>0?{history:e.history}:{},...c?{stream:!0}:{},..."number"==typeof d.temperature?{temperature:d.temperature}:{},..."number"==typeof d.top_p?{top_p:d.top_p}:{},model:a}:null}async transformEventStreamToSse(a,b){let c=a.body;if(!c)return j("",b,`chatcmpl-nlpcloud-${(0,d.randomUUID)()}`,Math.floor(Date.now()/1e3));let e=new TextDecoder,f=new TextEncoder,g=`chatcmpl-nlpcloud-${(0,d.randomUUID)()}`,k=Math.floor(Date.now()/1e3);return new Response(new ReadableStream({async start(a){a.enqueue(f.encode(i({id:g,object:"chat.completion.chunk",created:k,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));let d=c.getReader(),j="",l=!1,m=()=>{l||(l=!0,a.enqueue(f.encode(i({id:g,object:"chat.completion.chunk",created:k,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}))),a.enqueue(f.encode("data: [DONE]\n\n")),a.close())},n=c=>{let d=c.replace(/\r/g,"").split("\n"),e=[];for(let a of d)if(a){if(a.startsWith("data:")){e.push(a.slice(5).trimStart());continue}a.startsWith("event:")||a.startsWith("id:")||a.startsWith(":")||e.push(a.trim())}let j=e.join("\n").trim();if(j){var l;if("[DONE]"===j)return void m();(l=function(a){let b=a.trim();if(!b||"[DONE]"===b)return"";if(b.startsWith("{"))try{let a=h(JSON.parse(b));return("string"==typeof a.response?a.response:"string"==typeof a.content?a.content:"string"==typeof a.token?a.token:"").trim()}catch{}return b}(j))&&a.enqueue(f.encode(i({id:g,object:"chat.completion.chunk",created:k,model:b,choices:[{index:0,delta:{content:l},finish_reason:null}]})))}};try{for(;;){let{done:a,value:b}=await d.read();if(a)break;j+=e.decode(b,{stream:!0});let c=(j=j.replace(/\r\n/g,"\n")).indexOf("\n\n");for(;-1!==c;){let a=j.slice(0,c);j=j.slice(c+2),n(a),c=j.indexOf("\n\n")}}let a=j.trim();a&&n(a),m()}catch(b){a.error(b)}finally{d.releaseLock()}}}),{status:a.status,headers:{"Content-Type":"text/event-stream"}})}async execute({model:a,body:b,stream:c,credentials:f,signal:i,upstreamExtraHeaders:l}){let m=a||g,n=this.buildRequestPayload(m,b,c),o=this.buildUrl(m,c,0,f),p=this.buildHeaders(f,c);if((0,e._F)(p,l),!n)return{response:k(400,"NLP Cloud requests require at least one user message."),url:o,headers:p,transformedBody:b};try{var q,r,s,t;let a,b=await fetch(o,{method:"POST",headers:p,body:JSON.stringify(n),signal:i});if(!b.ok){let a=await b.text();return{response:k(b.status,`NLP Cloud API failed with status ${b.status}: ${a||"Unknown error"}`),url:o,headers:p,transformedBody:n}}if(c){if((b.headers.get("Content-Type")||"").includes("application/json")){let a=h(await b.json()),c="string"==typeof a.response?a.response:"";return{response:j(c,m,`chatcmpl-nlpcloud-${(0,d.randomUUID)()}`,Math.floor(Date.now()/1e3)),url:o,headers:p,transformedBody:n}}return{response:await this.transformEventStreamToSse(b,m),url:o,headers:p,transformedBody:n}}let e=h(await b.json());return{response:(q="string"==typeof e.response?e.response:"",r=m,s=`chatcmpl-nlpcloud-${(0,d.randomUUID)()}`,t=Math.floor(Date.now()/1e3),a=Math.max(1,Math.ceil(q.length/4)),new Response(JSON.stringify({id:s,object:"chat.completion",created:t,model:r,choices:[{index:0,message:{role:"assistant",content:q},finish_reason:"stop"}],usage:{prompt_tokens:a,completion_tokens:a,total_tokens:2*a}}),{status:200,headers:{"Content-Type":"application/json"}})),url:o,headers:p,transformedBody:n}}catch(b){let a=b instanceof Error?b.message:String(b||"Unknown error");return{response:k(502,`NLP Cloud fetch error: ${a}`),url:o,headers:p,transformedBody:n}}}}},33085:(a,b,c)=>{c.d(b,{c:()=>h});var d=c(97510),e=c(43659);let f="https://www.doubao.com",g=`${f}/api/chat`;class h extends d.Hv{constructor(){super("doubao-web",{id:"doubao-web",baseUrl:"https://www.doubao.com"})}async execute(a){let b,{body:c,credentials:d,signal:h,stream:i}=a,j=c||{},k=(0,e.sY)(String(d?.apiKey??"").trim()),l=j.messages||[],m=j.model||"doubao-default",n={messages:l.map(a=>({role:a.role,content:a.content})),model:m,stream:i,max_tokens:j.max_tokens||4096},o={"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:i?"text/event-stream":"application/json",Referer:`${f}/`,Origin:f};k&&(o.Cookie=k);try{b=await fetch(g,{method:"POST",headers:o,body:JSON.stringify(n),signal:h})}catch(a){return(0,e.DV)(502,`Doubao fetch failed: ${a instanceof Error?a.message:"unknown"}`,c,g)}if(!b.ok){let a=await b.text().catch(()=>"");return(0,e.DV)(b.status,`Doubao error: ${a}`,c,g)}if(!i){let a=await b.json(),c=a?.choices?.[0]?.message?.content||a?.content||"";return{response:new Response(JSON.stringify({id:`chatcmpl-doubao-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:m,choices:[{index:0,message:{role:"assistant",content:c},finish_reason:"stop"}]}),{headers:{"Content-Type":"application/json"}}),url:g,headers:o,transformedBody:n}}let p=new TextEncoder,q=new TextDecoder;return{response:new Response(new ReadableStream({async start(a){let c=b.body?.getReader();if(!c)return void a.close();let d="";try{for(;;){let{done:b,value:e}=await c.read();if(b)break;let f=(d+=q.decode(e,{stream:!0})).split("\n");for(let b of(d=f.pop()||"",f)){if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if("[DONE]"===c){a.enqueue(p.encode("data: [DONE]\n\n"));continue}try{let b=JSON.parse(c),d=b.choices?.[0]?.delta?.content||"";if(d){let b={id:`chatcmpl-doubao-${Date.now()}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:m,choices:[{index:0,delta:{content:d},finish_reason:null}]};a.enqueue(p.encode(`data: ${JSON.stringify(b)}
|
|
242
246
|
|
|
243
|
-
`))}}catch{}}}}catch(b){h?.aborted||a.error(b)}finally{a.enqueue(p.encode("data: [DONE]\n\n")),a.close()}}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:g,headers:o,transformedBody:n}}}},34156:(a,b,c)=>{c.d(b,{f:()=>f});var d=c(74350),e=c(9427);class f extends d.L{constructor(){super("azure-openai")}buildUrl(a,b,c=0,d=null){var f;let g,h=d?.providerSpecificData||{},i=(f=h.baseUrl||this.config.baseUrl,(g=(0,e.o)((f||"").trim()))?g.replace(/\/openai$/i,"").replace(/\/openai\/deployments\/[^/]+\/chat\/completions[^/]*$/i,""):""),j="string"==typeof h.apiVersion&&h.apiVersion.trim()?h.apiVersion.trim():"2024-12-01-preview";return`${i}/openai/deployments/${encodeURIComponent(a)}/chat/completions?api-version=${encodeURIComponent(j)}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json","api-key":a?.apiKey||a?.accessToken||""};return c.Accept=b?"text/event-stream":"application/json",c}}},35538:(a,b,c)=>{c.d(b,{P:()=>k});var d=c(97510),e=c(61408),f=c(57247);let g=[/deepseek/i,/\bkimi\b/i,/\bk2\b/i,/\bminimax\b/i];var h=c(95538),i=c(13568);let j=["low","medium","high","max"];class k extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai),this._requestFormat=null,this.accounts=[{fingerprint:"",cooldownUntil:0,consecutiveFails:0,proxy:null}],this.nextAccountIdx=0}syncAccountsFromCredentials(a){let b=a?.providerSpecificData,c=Array.isArray(b?.fingerprints)?b.fingerprints.filter(a=>"string"==typeof a):[],d=b?.accountProxies,e=Array.isArray(d)?new Map(d.map(a=>[a.fingerprint,a.proxy??null])):null;if(0===c.length){this.accounts=[{fingerprint:"",cooldownUntil:0,consecutiveFails:0,proxy:null}],this.nextAccountIdx=0;return}let f=new Map(this.accounts.map(a=>[a.fingerprint,a]));this.accounts=c.map(a=>{let b=f.get(a);return{fingerprint:a,cooldownUntil:b?.cooldownUntil??0,consecutiveFails:b?.consecutiveFails??0,proxy:e?e.get(a)??null:null}}),this.nextAccountIdx>=this.accounts.length&&(this.nextAccountIdx=0)}isAccountReady(a){return a.cooldownUntil<=Date.now()}pickAccount(){for(let a=0;a<this.accounts.length;a++){let b=(this.nextAccountIdx+a)%this.accounts.length,c=this.accounts[b];if(this.isAccountReady(c))return this.nextAccountIdx=(b+1)%this.accounts.length,c}let a=this.nextAccountIdx%this.accounts.length;return this.nextAccountIdx=(this.nextAccountIdx+1)%this.accounts.length,this.accounts[a]}markCooldown(a){a.consecutiveFails++;let b=Math.min(5e3*Math.pow(2,a.consecutiveFails-1),6e4);a.cooldownUntil=Date.now()+b+1e3*Math.random()}markSuccess(a){a.consecutiveFails=0}static maskAccountId(a){return a?`${a.slice(0,8)}…`:"direct"}async execute(a){this._requestFormat=(0,f.ux)(this.provider,a.model)||"openai";try{this.syncAccountsFromCredentials(a.credentials);let b=this.accounts.some(a=>null!==a.proxy);if(1===this.accounts.length&&!b)return await super.execute(a);let{log:c}=a,d=null;for(let b=0;b<this.accounts.length;b++){let e=this.pickAccount(),f=k.maskAccountId(e.fingerprint);c?.info?.("OPENCODE",`dispatch via account ${f} (idx ${b+1}/${this.accounts.length})`+(e.proxy?` through proxy ${e.proxy.host}:${e.proxy.port}`:" direct"));let g=await (0,h.jf)(e.proxy,()=>super.execute({...a,skipUpstreamRetry:!0}));d=g;let i=g.response.status;if(429===i){this.markCooldown(e),c?.warn?.("OPENCODE",`Rate limited (429) on account ${f}, rotating to next…`);continue}return this.markSuccess(e),g}return d??await super.execute(a)}finally{this._requestFormat=null}}buildUrl(a,b,c=0,d=null){let e=this.config.baseUrl;switch(this._requestFormat){case"claude":return`${e}/messages`;case"openai-responses":return`${e}/responses`;case"gemini":return`${e}/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:return`${e}/chat/completions`}}buildHeaders(a,b=!0,c,d){let e={"Content-Type":"application/json"},f=a?.apiKey||a?.accessToken;return f&&("claude"===this._requestFormat?e["x-api-key"]=f:e.Authorization=`Bearer ${f}`),"claude"===this._requestFormat&&(e["anthropic-version"]="2023-06-01"),b&&(e.Accept="text/event-stream"),c&&(0,i.G)(e,c,{synthesizeRequestId:!0}),e}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);if(e&&"object"==typeof e&&Array.isArray(e.tools)&&e.tools.length>128&&(e.tools=e.tools.slice(0,128)),e&&"object"==typeof e&&!Array.isArray(e)){let b,c,d=e,f=(b=String(a||""),(c=j.find(a=>b.endsWith(`-${a}`)))&&"deepseek-v4-pro"===b.slice(0,-c.length-1).toLowerCase()?{baseModel:"deepseek-v4-pro",effort:c}:null);f&&(d.model=f.baseModel,void 0===d.reasoning_effort&&(d.reasoning_effort=f.effort))}return a&&"string"==typeof a&&g.some(b=>b.test(a))&&(e=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||!Array.isArray(a.messages))return a;let b=!1,c=a.messages.map(a=>a&&"object"==typeof a&&!Array.isArray(a)&&"assistant"===a.role?"string"==typeof a.reasoning_content&&a.reasoning_content.trim().length>0?a:(b=!0,{...a,reasoning_content:" "}):a);return b?{...a,messages:c}:a}(e)),e}}},36770:(a,b,c)=>{c.d(b,{Gt:()=>i,Vv:()=>j});var d=c(77598);let e=new Map,f=0;function g(a){let b=e.get(a);b&&(f-=b.bytes.length,e.delete(a))}function h(a=Date.now()){for(let[b,c]of e)a>=c.expiresAt&&g(b)}function i(a,b,c=18e5,j){let k;h(),!function(a,b){for(;(e.size>=25||f+b>a)&&e.size>0;){let a=e.keys().next().value;if(!a)break;g(a)}}(!Number.isFinite(k=Number(process.env.OMNIROUTE_CGPT_WEB_IMAGE_CACHE_MAX_MB))||k<=0?0xa00000:Math.floor(1024*k*1024),a.length);let l=(0,d.randomUUID)().replace(/-/g,""),m=(0,d.createHash)("sha256").update(a).digest("hex");return e.set(l,{bytes:a,mime:b,expiresAt:Date.now()+c,context:j,bytesSha256:m}),f+=a.length,l}function j(a){let b;return(h(),!(b=e.get(a))?null:Date.now()>=b.expiresAt?(g(a),null):b)?.context??null}},39326:(a,b,c)=>{let d;c.d(b,{id:()=>R,kG:()=>N,sO:()=>E,Az:()=>B});var e=c(97510),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(73136);class k{getCachedUint8Memory(){return this.cachedUint8Memory?.byteLength||(this.cachedUint8Memory=new Uint8Array(this.wasmInstance.memory.buffer)),this.cachedUint8Memory}encodeString(a,b,c){let d=a.length,e=b(d,1)>>>0,f=this.getCachedUint8Memory(),g=0;for(;g<d&&!(a.charCodeAt(g)>127);g++)f[e+g]=a.charCodeAt(g);if(g!==d){g>0&&(a=a.slice(g)),e=c(e,d,g+3*a.length,1)>>>0;let b=this.cachedTextEncoder.encodeInto(a,this.getCachedUint8Memory().subarray(e+g,e+g+3*a.length));g+=b.written,e=c(e,g+3*a.length,g,1)>>>0}return this.offset=g,e}calculateHash(a,b,c){try{let d=this.wasmInstance.__wbindgen_add_to_stack_pointer(-16),e=this.encodeString(a,this.wasmInstance.__wbindgen_export_0,this.wasmInstance.__wbindgen_export_1),f=this.offset,g=this.encodeString(b,this.wasmInstance.__wbindgen_export_0,this.wasmInstance.__wbindgen_export_1),h=this.offset;this.wasmInstance.wasm_solve(d,e,f,g,h,c);let i=new DataView(this.wasmInstance.memory.buffer),j=i.getInt32(d+0,!0),k=i.getFloat64(d+8,!0);return 0===j?void 0:k}finally{this.wasmInstance.__wbindgen_add_to_stack_pointer(16)}}async init(a){let b=await g().promises.readFile(a),{instance:c}=await WebAssembly.instantiate(b,{wbg:{}});this.wasmInstance=c.exports}constructor(){this.offset=0,this.cachedUint8Memory=null,this.cachedTextEncoder=new TextEncoder}}let l=null,m=!1;async function n(){if(m)return null;if(l)return l;try{let a=new k,b=i().join(i().dirname((0,j.fileURLToPath)("file:///home/giang/work/9router/open-sse/lib/deepseek-pow.js")),"sha3_wasm_bg.wasm");return await a.init(b),l=a,a}catch{return m=!0,null}}async function o(a,b,e,f,g){let h;if("DeepSeekHashV1"!==a)throw Error(`Unsupported: ${a}`);let i=`${e}_${g}_`,j=await n();if(j){let a=j.calculateHash(b,i,f);return void 0===a?-1:a}let k=(void 0===d&&(d=c(96369).U),d),l=((h={})._sponge=new k({capacity:256,padding:6}),h.update=a=>(h._sponge.absorb(Buffer.from(a,"utf8")),h),h.digest=a=>h._sponge.squeeze(6).toString(a||"hex"),h.copy=()=>{let a={};return a._sponge=h._sponge.copy(),a.update=b=>(a._sponge.absorb(Buffer.from(b,"utf8")),a),a.digest=b=>a._sponge.squeeze(6).toString(b||"hex"),a},h);l.update(i);for(let a=0;a<f;a++)if(l.copy().update(String(a)).digest("hex")===b)return a;return -1}var p=c(72221);function q(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let r=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function s(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 t(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let u=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function v(a){return"string"==typeof a&&a.length>0?a:null}var w=c(43659);let x="https://chat.deepseek.com",y=`${x}/api`,z=`${y}/v0/chat/completion`,A={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:x,Referer:`${x}/`,"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-App-Version":"20241129.1","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"1.8.0"},B=new Map,C=new Map;function D(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function E(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 F(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 G(){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 H(a){let b=await o(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at);if(b<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:b,signature:a.signature,target_path:a.target_path})).toString("base64")}function I(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function J(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function K(a,b){let c=a.replace(/FINISHED/g,"").replace(/^(SEARCH|WEB_SEARCH|SEARCHING)\s*/i,"");return J(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function L(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")}async function M(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=b||"deepseek-web",j=I(i),k=[],l=a=>{let b=K(a,i);if(!b)return;let c=h;!c&&j?c="thinking":!c&&J(i)&&(c="content"),"thinking"===c?g+=b:f+=b},m=(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")}l(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(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)m(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)m(a,!0);else d&&"object"==typeof d&&m(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")k.length=0,k.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);k[c]&&(k[c].cite_index=a.v)}}continue}if("string"==typeof d)l(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&&l(b)}}}catch{}}}let n=L(k,i);return n&&(f+=`
|
|
247
|
+
`))}}catch{}}}}catch(b){h?.aborted||a.error(b)}finally{a.enqueue(p.encode("data: [DONE]\n\n")),a.close()}}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:g,headers:o,transformedBody:n}}}},34156:(a,b,c)=>{c.d(b,{f:()=>f});var d=c(74350),e=c(9427);class f extends d.L{constructor(){super("azure-openai")}buildUrl(a,b,c=0,d=null){var f;let g,h=d?.providerSpecificData||{},i=(f=h.baseUrl||this.config.baseUrl,(g=(0,e.o)((f||"").trim()))?g.replace(/\/openai$/i,"").replace(/\/openai\/deployments\/[^/]+\/chat\/completions[^/]*$/i,""):""),j="string"==typeof h.apiVersion&&h.apiVersion.trim()?h.apiVersion.trim():"2024-12-01-preview";return`${i}/openai/deployments/${encodeURIComponent(a)}/chat/completions?api-version=${encodeURIComponent(j)}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json","api-key":a?.apiKey||a?.accessToken||""};return c.Accept=b?"text/event-stream":"application/json",c}}},35538:(a,b,c)=>{c.d(b,{P:()=>k});var d=c(97510),e=c(61408),f=c(57247);let g=[/deepseek/i,/\bkimi\b/i,/\bk2\b/i,/\bminimax\b/i];var h=c(95538),i=c(13568);let j=["low","medium","high","max"];class k extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai),this._requestFormat=null,this.accounts=[{fingerprint:"",cooldownUntil:0,consecutiveFails:0,proxy:null}],this.nextAccountIdx=0}syncAccountsFromCredentials(a){let b=a?.providerSpecificData,c=Array.isArray(b?.fingerprints)?b.fingerprints.filter(a=>"string"==typeof a):[],d=b?.accountProxies,e=Array.isArray(d)?new Map(d.map(a=>[a.fingerprint,a.proxy??null])):null;if(0===c.length){this.accounts=[{fingerprint:"",cooldownUntil:0,consecutiveFails:0,proxy:null}],this.nextAccountIdx=0;return}let f=new Map(this.accounts.map(a=>[a.fingerprint,a]));this.accounts=c.map(a=>{let b=f.get(a);return{fingerprint:a,cooldownUntil:b?.cooldownUntil??0,consecutiveFails:b?.consecutiveFails??0,proxy:e?e.get(a)??null:null}}),this.nextAccountIdx>=this.accounts.length&&(this.nextAccountIdx=0)}isAccountReady(a){return a.cooldownUntil<=Date.now()}pickAccount(){for(let a=0;a<this.accounts.length;a++){let b=(this.nextAccountIdx+a)%this.accounts.length,c=this.accounts[b];if(this.isAccountReady(c))return this.nextAccountIdx=(b+1)%this.accounts.length,c}let a=this.nextAccountIdx%this.accounts.length;return this.nextAccountIdx=(this.nextAccountIdx+1)%this.accounts.length,this.accounts[a]}markCooldown(a){a.consecutiveFails++;let b=Math.min(5e3*Math.pow(2,a.consecutiveFails-1),6e4);a.cooldownUntil=Date.now()+b+1e3*Math.random()}markSuccess(a){a.consecutiveFails=0}static maskAccountId(a){return a?`${a.slice(0,8)}…`:"direct"}async execute(a){this._requestFormat=(0,f.ux)(this.provider,a.model)||"openai";try{this.syncAccountsFromCredentials(a.credentials);let b=this.accounts.some(a=>null!==a.proxy);if(1===this.accounts.length&&!b)return await super.execute(a);let{log:c}=a,d=null;for(let b=0;b<this.accounts.length;b++){let e=this.pickAccount(),f=k.maskAccountId(e.fingerprint);c?.info?.("OPENCODE",`dispatch via account ${f} (idx ${b+1}/${this.accounts.length})`+(e.proxy?` through proxy ${e.proxy.host}:${e.proxy.port}`:" direct"));let g=await (0,h.jf)(e.proxy,()=>super.execute({...a,skipUpstreamRetry:!0}));d=g;let i=g.response.status;if(429===i){this.markCooldown(e),c?.warn?.("OPENCODE",`Rate limited (429) on account ${f}, rotating to next…`);continue}return this.markSuccess(e),g}return d??await super.execute(a)}finally{this._requestFormat=null}}buildUrl(a,b,c=0,d=null){let e=this.config.baseUrl;switch(this._requestFormat){case"claude":return`${e}/messages`;case"openai-responses":return`${e}/responses`;case"gemini":return`${e}/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:return`${e}/chat/completions`}}buildHeaders(a,b=!0,c,d){let e={"Content-Type":"application/json"},f=a?.apiKey||a?.accessToken;return f&&("claude"===this._requestFormat?e["x-api-key"]=f:e.Authorization=`Bearer ${f}`),"claude"===this._requestFormat&&(e["anthropic-version"]="2023-06-01"),b&&(e.Accept="text/event-stream"),c&&(0,i.G)(e,c,{synthesizeRequestId:!0}),e}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);if(e&&"object"==typeof e&&Array.isArray(e.tools)&&e.tools.length>128&&(e.tools=e.tools.slice(0,128)),e&&"object"==typeof e&&!Array.isArray(e)){let b,c,d=e,f=(b=String(a||""),(c=j.find(a=>b.endsWith(`-${a}`)))&&"deepseek-v4-pro"===b.slice(0,-c.length-1).toLowerCase()?{baseModel:"deepseek-v4-pro",effort:c}:null);f&&(d.model=f.baseModel,void 0===d.reasoning_effort&&(d.reasoning_effort=f.effort))}return a&&"string"==typeof a&&g.some(b=>b.test(a))&&(e=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||!Array.isArray(a.messages))return a;let b=!1,c=a.messages.map(a=>a&&"object"==typeof a&&!Array.isArray(a)&&"assistant"===a.role?"string"==typeof a.reasoning_content&&a.reasoning_content.trim().length>0?a:(b=!0,{...a,reasoning_content:" "}):a);return b?{...a,messages:c}:a}(e)),e}}},36770:(a,b,c)=>{c.d(b,{Gt:()=>i,Vv:()=>j});var d=c(77598);let e=new Map,f=0;function g(a){let b=e.get(a);b&&(f-=b.bytes.length,e.delete(a))}function h(a=Date.now()){for(let[b,c]of e)a>=c.expiresAt&&g(b)}function i(a,b,c=18e5,j){let k;h(),!function(a,b){for(;(e.size>=25||f+b>a)&&e.size>0;){let a=e.keys().next().value;if(!a)break;g(a)}}(!Number.isFinite(k=Number(process.env.OMNIROUTE_CGPT_WEB_IMAGE_CACHE_MAX_MB))||k<=0?0xa00000:Math.floor(1024*k*1024),a.length);let l=(0,d.randomUUID)().replace(/-/g,""),m=(0,d.createHash)("sha256").update(a).digest("hex");return e.set(l,{bytes:a,mime:b,expiresAt:Date.now()+c,context:j,bytesSha256:m}),f+=a.length,l}function j(a){let b;return(h(),!(b=e.get(a))?null:Date.now()>=b.expiresAt?(g(a),null):b)?.context??null}},39326:(a,b,c)=>{let d;c.d(b,{id:()=>R,kG:()=>N,sO:()=>E,Az:()=>B});var e=c(97510),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(73136);class k{getCachedUint8Memory(){return this.cachedUint8Memory?.byteLength||(this.cachedUint8Memory=new Uint8Array(this.wasmInstance.memory.buffer)),this.cachedUint8Memory}encodeString(a,b,c){let d=a.length,e=b(d,1)>>>0,f=this.getCachedUint8Memory(),g=0;for(;g<d&&!(a.charCodeAt(g)>127);g++)f[e+g]=a.charCodeAt(g);if(g!==d){g>0&&(a=a.slice(g)),e=c(e,d,g+3*a.length,1)>>>0;let b=this.cachedTextEncoder.encodeInto(a,this.getCachedUint8Memory().subarray(e+g,e+g+3*a.length));g+=b.written,e=c(e,g+3*a.length,g,1)>>>0}return this.offset=g,e}calculateHash(a,b,c){try{let d=this.wasmInstance.__wbindgen_add_to_stack_pointer(-16),e=this.encodeString(a,this.wasmInstance.__wbindgen_export_0,this.wasmInstance.__wbindgen_export_1),f=this.offset,g=this.encodeString(b,this.wasmInstance.__wbindgen_export_0,this.wasmInstance.__wbindgen_export_1),h=this.offset;this.wasmInstance.wasm_solve(d,e,f,g,h,c);let i=new DataView(this.wasmInstance.memory.buffer),j=i.getInt32(d+0,!0),k=i.getFloat64(d+8,!0);return 0===j?void 0:k}finally{this.wasmInstance.__wbindgen_add_to_stack_pointer(16)}}async init(a){let b=await g().promises.readFile(a),{instance:c}=await WebAssembly.instantiate(b,{wbg:{}});this.wasmInstance=c.exports}constructor(){this.offset=0,this.cachedUint8Memory=null,this.cachedTextEncoder=new TextEncoder}}let l=null,m=!1;async function n(){if(m)return null;if(l)return l;try{let a=new k,b=i().join(i().dirname((0,j.fileURLToPath)("file:///home/letruonggiang/work/9router/open-sse/lib/deepseek-pow.js")),"sha3_wasm_bg.wasm");return await a.init(b),l=a,a}catch{return m=!0,null}}async function o(a,b,e,f,g){let h;if("DeepSeekHashV1"!==a)throw Error(`Unsupported: ${a}`);let i=`${e}_${g}_`,j=await n();if(j){let a=j.calculateHash(b,i,f);return void 0===a?-1:a}let k=(void 0===d&&(d=c(96369).U),d),l=((h={})._sponge=new k({capacity:256,padding:6}),h.update=a=>(h._sponge.absorb(Buffer.from(a,"utf8")),h),h.digest=a=>h._sponge.squeeze(6).toString(a||"hex"),h.copy=()=>{let a={};return a._sponge=h._sponge.copy(),a.update=b=>(a._sponge.absorb(Buffer.from(b,"utf8")),a),a.digest=b=>a._sponge.squeeze(6).toString(b||"hex"),a},h);l.update(i);for(let a=0;a<f;a++)if(l.copy().update(String(a)).digest("hex")===b)return a;return -1}var p=c(72221);function q(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let r=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function s(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 t(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let u=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function v(a){return"string"==typeof a&&a.length>0?a:null}var w=c(43659);let x="https://chat.deepseek.com",y=`${x}/api`,z=`${y}/v0/chat/completion`,A={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:x,Referer:`${x}/`,"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-App-Version":"20241129.1","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"1.8.0"},B=new Map,C=new Map;function D(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function E(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 F(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 G(){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 H(a){let b=await o(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at);if(b<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:b,signature:a.signature,target_path:a.target_path})).toString("base64")}function I(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function J(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function K(a,b){let c=a.replace(/FINISHED/g,"").replace(/^(SEARCH|WEB_SEARCH|SEARCHING)\s*/i,"");return J(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function L(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")}async function M(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=b||"deepseek-web",j=I(i),k=[],l=a=>{let b=K(a,i);if(!b)return;let c=h;!c&&j?c="thinking":!c&&J(i)&&(c="content"),"thinking"===c?g+=b:f+=b},m=(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")}l(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(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)m(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)m(a,!0);else d&&"object"==typeof d&&m(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")k.length=0,k.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);k[c]&&(k[c].cite_index=a.v)}}continue}if("string"==typeof d)l(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&&l(b)}}}catch{}}}let n=L(k,i);return n&&(f+=`
|
|
244
248
|
|
|
245
249
|
${n}`),{content:f,reasoningContent:g}}async function N(a,b,c){let d=B.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(`${y}/v0/users/current`,{headers:{Authorization:`Bearer ${a}`,...A},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 B.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 D(B),B.set(a,{accessToken:h,expiresAt:Math.floor(Date.now()/1e3)+3600}),c?.info?.("DEEPSEEK-WEB",`Access token acquired (${h.length} chars)`),h}async function O(a,b){let c=await fetch(`${y}/v0/chat_session/create`,{method:"POST",headers:{...A,"Content-Type":"application/json",Authorization:`Bearer ${a}`,Cookie:G()},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 P(a,b){try{await fetch(`${y}/v0/chat_session/delete`,{method:"POST",headers:{...A,"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({chat_session_id:b})})}catch{}}async function Q(a,b){let c=await fetch(`${y}/v0/chat/create_pow_challenge`,{method:"POST",headers:{...A,"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({target_path:"/api/v0/chat/completion"}),signal:b??void 0});if(!c.ok)throw Error(`create_pow_challenge HTTP ${c.status}`);let d=await c.json(),e=d?.data?.biz_data||d?.biz_data;if(!e?.challenge?.challenge)throw Error(`No PoW challenge: code=${d?.code}`);return e.challenge}class R extends e.Hv{constructor(){super("deepseek-web",{baseUrl:x})}async testConnection(a,b){try{let c=E(a);if(!c)return!1;return!!await N(c,b)}catch{return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){var g,h;let i,j,k=b||{},l=k.tools,m=Array.isArray(l)&&l.length>0,n=m?function(a){if(!Array.isArray(a)||0===a.length)return"";let b=[];for(let c of a){let a=c?.function;if(!a?.name)continue;let d="string"==typeof a.description&&a.description?a.description:"",e="";try{e=a.parameters?JSON.stringify(a.parameters):""}catch{e=""}b.push(`- ${a.name}${d?`: ${d}`:""}${e?`
|
|
246
250
|
parameters: ${e}`:""}`)}return 0===b.length?"":["You can call tools. To call a tool, output ONLY this exact block (no markdown fence):",'<tool>{"name": "<tool_name>", "arguments": { ... }}</tool>',"Rules:","- Use exactly <tool>...</tool>. Do NOT use <tool:name>, <tool_call>, <name>, <parameter>, id=/name= attributes, or code fences.",'- "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 no tool is needed, just answer normally without any <tool> block.","","Available tools:",...b].join("\n")}(l):"",o=Array.isArray(k.messages)?k.messages:[],x=n?[{role:"system",content:n},...o]:o,y=E(d);if(!y)return{response:F(400,"Invalid credentials: paste your userToken from DeepSeek localStorage (DevTools → Application → Local Storage → chat.deepseek.com → userToken)"),url:z,headers:{},transformedBody:b};let{modelType:R,thinkingEnabled:S,searchEnabled:T}=(j=(i=(a||"").toLowerCase()).includes("pro")||i.includes("expert")?"expert":"default",{modelType:j,thinkingEnabled:i.includes("r1")||i.includes("think")||i.includes("reason")||k?.thinking_enabled===!0||k?.thinking===!0||!!k?.reasoning_effort,searchEnabled:i.includes("search")||k?.search_enabled===!0||k?.search===!0||k?.web_search===!0}),U=d.providerSpecificData??{},V=!0===U.persistSession,W="number"==typeof U.historyWindow&&U.historyWindow>0?U.historyWindow:0;try{let b=Date.now(),d=await N(y,e,f);f?.info?.("DEEPSEEK-WEB",`Token acquired in ${Date.now()-b}ms`);let i=m?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=q(b.content).trim();a&&c.push(a)}else if("user"===b.role){let a=q(b.content).trim();a&&d.push(`User: ${a}`)}else if("assistant"===b.role){let a=q(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=q(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,"")}(o,n):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=[];if(c.length>0&&h.push(c.join("\n\n")),b>0&&d.length>1){let a=d.slice(-b).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,"")}(x,W),j=Array.isArray(k.ref_file_ids)?k.ref_file_ids:[];f?.info?.("DEEPSEEK-WEB",`model_type=${R}, thinking=${S}, search=${T}, files=${j.length}, stream=${!1!==c}, persist=${V}, window=${W}`);let w=async a=>{let b=await Q(d,e),c=await H(b),f={...A,"Content-Type":"application/json",Authorization:`Bearer ${d}`,"X-Ds-Pow-Response":c,"X-Client-Timezone-Offset":String(-60*new Date().getTimezoneOffset()),Cookie:G()},g={chat_session_id:a,parent_message_id:null,model_type:R,prompt:i,ref_file_ids:j,thinking_enabled:S,search_enabled:T,preempt:!1};return{resp:await fetch(z,{method:"POST",headers:f,body:JSON.stringify(g),signal:e??void 0}),reqHeaders:f,requestPayload:g}},E=async()=>{if(V){let a=C.get(y);if(a)return{sessionId:a.sessionId,reused:!0};let b=await O(d,e);return D(C),C.set(y,{sessionId:b,createdAt:Date.now()}),{sessionId:b,reused:!1}}return{sessionId:await O(d,e),reused:!1}};b=Date.now();let{sessionId:U,reused:X}=await E();f?.info?.("DEEPSEEK-WEB",`Session ${X?"reused":"created"} in ${Date.now()-b}ms`),b=Date.now(),f?.info?.("DEEPSEEK-WEB",`POST ${z}`);let{resp:Y,reqHeaders:Z,requestPayload:$}=await w(U);if(f?.info?.("DEEPSEEK-WEB",`Completion response in ${Date.now()-b}ms, status=${Y.status}`),!Y.ok&&V&&X&&(f?.warn?.("DEEPSEEK-WEB","Reused session failed — retrying with a fresh session"),C.delete(y),U=await O(d,e),D(C),C.set(y,{sessionId:U,createdAt:Date.now()}),X=!1,{resp:Y,reqHeaders:Z,requestPayload:$}=await w(U)),!Y.ok){let a=Y.status,b=`DeepSeek API error (${a})`;401===a||403===a?(B.delete(y),b="DeepSeek token expired — get a fresh userToken from localStorage."):429===a&&(b="DeepSeek rate limited. Wait and retry."),f?.warn?.("DEEPSEEK-WEB",b);try{let a=await Y.json();a?.code&&0!==a.code&&(b=`DeepSeek error ${a.code}: ${a.msg}`)}catch{}return V&&C.delete(y),P(d,U).catch(()=>{}),{response:F(a,b),url:z,headers:Z,transformedBody:$}}if((Y.headers.get("content-type")||"").includes("application/json"))try{let a=await Y.json(),b=function(a){if(!a||"object"!=typeof a)return null;let b=a.code,c="number"==typeof b?b:void 0,d=a.msg,e=a.data,f=e?.biz_msg;return void 0!==c&&0!==c?{code:c,message:("string"==typeof d?d:"string"==typeof f?f:"")||`DeepSeek error ${c}`}:null}(a);if(b){let a=`DeepSeek error ${b.code}: ${b.message}`;f?.warn?.("DEEPSEEK-WEB",a);let c=40003===b.code?401:40002===b.code?429:502;return 40003===b.code&&B.delete(y),V&&C.delete(y),P(d,U).catch(()=>{}),{response:F(c,a,b.code),url:z,headers:Z,transformedBody:$}}return V||P(d,U).catch(()=>{}),{response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json"}}),url:z,headers:Z,transformedBody:$}}catch{}let _=V?async()=>{}:()=>P(d,U),aa="string"==typeof a&&a.trim()?a.trim():"deepseek-web";if(m){let{content:a,reasoningContent:b}=await M(Y.body,aa);await _();let{content:d,toolCalls:e}=function(a,b="call",c){if("string"!=typeof a||0===a.length)return{content:a??"",toolCalls:null};let d=function(a){let b,c=[];for(r.lastIndex=0;null!==(b=r.exec(a));)c.push({start:b.index,end:r.lastIndex,closing:"/"===b[1],suffix:b[2]?b[2].slice(1):"",attrs:b[3]||""});return c}(a);if(0===d.length)return(0,p.uQ)(a,b,c);let e=(0,p.x2)(c),f=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),g=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}(d,a.length),h=[],i=[];for(let c of g.filter(a=>!g.some(b=>b!==a&&b.open.start>=a.innerStart&&b.close.end<=a.innerEnd)).sort((a,b)=>a.open.start-b.open.start)){let d=c.open.suffix||s(c.open.attrs,"name")||s(c.open.attrs,"id")||"",g=function(a,b,c,d){let e,f=b.trim(),g=t(f,"name"),h=t(f,"arguments")??t(f,"parameters"),i=h?null:function(a){let b,c={},d=!1;for(u.lastIndex=0;null!==(b=u.exec(a));){let a=b[1]||"",e=b[2],f=s(a,"name");if(!f)continue;let g=s(a,"content")??("string"==typeof e?e.trim():"");c[f]=g,d=!0}return d?c:null}(f),j=g||h||i?null:(0,p.n)(f),k=j?v(j.name)??v(j.type):null,l=g?(0,p.Ub)(g,c):null,m=k?(0,p.Ub)(k,c):null,n=a?(0,p.Ub)(a,c):null,o=null,q=!1,r=(a,b)=>{!o&&a&&(o=a,q=b)};if(r(l,!1),r(m,!1),r(n,!0),r(g,!1),r(k,!1),r(a,!0),!o&&!a&&j){let a=v(j.command),b=a?(0,p.Ub)(a,c):null;b&&(o=b,q=!1)}if(!o&&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&&(o=b[0],q=!1)}}if(!o)return null;if(h)e=(0,p.n)(h)??h;else if(i)e=i;else if(j)if(void 0!==j.arguments)e=j.arguments;else if(void 0!==j.params)e=j.params;else if(q)e=j;else{let{name:a,type:b,id:c,command:d,arguments:f,params:g,...h}=j;e=h}else e={};return{name:o,arguments:(0,p.r3)(e)}}(d,a.slice(c.innerStart,c.innerEnd),e,f);g&&(h.push({id:`${b}_${h.length}`,type:"function",function:{name:g.name,arguments:g.arguments}}),i.push({start:c.open.start,end:c.close.end}))}if(0===h.length)return(0,p.uQ)(a,b,c);let j=[...i,...d.filter(a=>!i.some(b=>a.start>=b.start&&a.end<=b.end)).map(a=>({start:a.start,end:a.end}))];return{content:(0,p.LW)(a,j),toolCalls:h}}(a,`call-${Date.now()}`,l);return function(a){let{stream:b,clientModel:c,content:d,reasoningContent:e,toolCalls:f,reqHeaders:g,requestPayload:h}=a,i=!!f&&f.length>0,j=i?"tool_calls":"stop",k=`chatcmpl-${Date.now()}`,l=Math.floor(Date.now()/1e3);if(b){let a=new TextEncoder,b=(b,d,e)=>{b.enqueue(a.encode(`data: ${JSON.stringify({id:k,object:"chat.completion.chunk",created:l,model:c,choices:[{index:0,delta:d,finish_reason:e}]})}
|
|
@@ -257,7 +261,7 @@ ${b}`})),o(),n({},"stop"),h.enqueue(a.encode("data: [DONE]\n\n")),h.close()},q=a
|
|
|
257
261
|
|
|
258
262
|
`,new Response(new ReadableStream({start(a){a.enqueue(v.encode(y)),a.enqueue(v.encode(z)),a.enqueue(v.encode(A)),a.enqueue(v.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})),url:R,headers:{},transformedBody:D}:{response:(p=W,q=P,new Response(JSON.stringify({id:`chatcmpl-${(0,d.randomUUID)()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:q,choices:[{index:0,message:{role:"assistant",content:p},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}})),url:R,headers:{},transformedBody:D}:(0,f.DV)(502,"Gemini Business returned no text. The cookie may be expired or the entry URL is wrong.",D,R)}}function j(a){if("string"!=typeof a)return"";let b=a.trim();return b||""}function k(a,b){if(!a||"object"!=typeof a)return"";for(let c of b){let b=a[c];if("string"==typeof b&&b.trim().length>0)return b.trim()}return""}function l(a,b){for(let c of a.split(";")){let[a,...d]=c.trim().split("=");if(a===b)return d.join("=")}return null}},47360:(a,b,c)=>{c.d(b,{I:()=>g});var d=c(97510),e=c(61408),f=c(23060);class g extends d.Hv{constructor(){super("pollinations",e.xq.pollinations||{format:"openai"}),this.poolConfig=f.W}buildUrl(a,b,c=0,d=null){let e=this.getBaseUrls();return e[c]||e[0]||"https://gen.pollinations.ai/v1/chat/completions"}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return c&&(d.Authorization=`Bearer ${c}`),b&&(d.Accept="text/event-stream"),d}transformRequest(a,b,c,d){if("object"==typeof b&&null!==b){b.model=a,b.stream=c;let d=b.response_format?.type;("json_object"===d||"json_schema"===d)&&(b.jsonMode=!0)}return b}async execute(a){let b;if(!(!a.credentials?.apiKey&&!a.credentials?.accessToken))return super.execute(a);let c=this.getPool();try{b=c?await c.acquireBlocking(1e4):null}catch{b=null}b&&(a.upstreamExtraHeaders={...b.buildHeaders(),...a.upstreamExtraHeaders});try{let d=await super.execute(a);if(b&&c){let a=d.response.status;429===a?c.reportCooldown(b):a>=500?c.reportDead(b):c.reportSuccess(b)}return d}catch(d){if(b&&c&&c.reportCooldown(b),d?.status===401||d?.statusCode===401){let b=a.model||"";if(["claude","claude-fast","claude-large","gemini","gemini-fast","midijourney","midijourney-large"].includes(b)){let a=Error(`Pollinations model "${b}" requires an API key. Free keyless models: openai, openai-fast, openai-large, qwen-coder, mistral, deepseek, grok, gemini-flash-lite-3.1, perplexity-fast, perplexity-reasoning. Get a Pollinations API key at https://enter.pollinations.ai and add it in Settings → API Keys.`);throw a.status=401,a.type="authentication_error",a}}throw d}finally{b?.release()}}}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,gK:()=>e,j$:()=>d.j$,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(58246);async function e(a){return null}},49059:(a,b,c)=>{c.d(b,{K:()=>e});var d=c(74350);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);if(!e||"object"!=typeof e||Array.isArray(e))return e;e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},50954:(a,b,c)=>{c.d(b,{Lf:()=>f,W9:()=>g,fk:()=>e,lT:()=>d,of:()=>i,p1:()=>h});let d=()=>void 0,e=()=>void 0,f=()=>void 0,g=()=>void 0,h=()=>void 0,i=()=>void 0},52089:(a,b,c)=>{c.d(b,{No:()=>m});var d=c(97510);let e="https://theoldllm.vercel.app/api/chatgpt",f="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",g={"gpt-5.4":"GPT_5_4","gpt-5.3":"GPT_5_3","gpt-5.2":"GPT_5_2","gpt-5.1":"GPT_5_1","gpt-5":"GPT_5",gpt5_4:"GPT_5_4",gpt5_3:"GPT_5_3",gpt5_2:"GPT_5_2",gpt5_1:"GPT_5_1",gpt_4o:"GPT_4O","gpt-4o":"GPT_4O",gpt_5_3:"GPT_5_3",gpt_5_2:"GPT_5_2",gpt_5_1:"GPT_5_1",gpt_5:"GPT_5"},h={"claude-4.6-opus":"CLAUDE_4_6_OPUS","claude-4.6-sonnet":"CLAUDE_4_6_SONNET","claude-4.5-haiku":"CLAUDE_4_5_HAIKU",claude_opus_4:"CLAUDE_4_6_OPUS",claude_sonnet_4:"CLAUDE_4_6_SONNET",claude_haiku_3_5:"CLAUDE_4_5_HAIKU","claude opus 4":"CLAUDE_4_6_OPUS","claude sonnet 4":"CLAUDE_4_6_SONNET","claude haiku 3.5":"CLAUDE_4_5_HAIKU"};function i(a){let b=a.toLowerCase().trim(),c=b.replace(/[_\s]+/g,"-");if(g[c])return g[c];let d=b.replace(/[-\s]+/g,"_");if(g[d])return g[d];if(h[b])return h[b];if(b.includes("claude")){if(b.includes("opus"))return"CLAUDE_4_6_OPUS";if(b.includes("sonnet"))return"CLAUDE_4_6_SONNET";if(b.includes("haiku"))return"CLAUDE_4_5_HAIKU"}return b.includes("gpt")&&b.includes("5"),"GPT_5_4"}let j=f.slice(0,20);function k(){let a=Date.now(),b=`${a}-oldllm-client-2026-${j}`,c=0;for(let a=0;a<b.length;a++)c=(c<<5)-c+b.charCodeAt(a),c&=c;let d=crypto.randomUUID().replace(/-/g,"").slice(0,8);return`${a.toString(36)}-${Math.abs(c).toString(36)}-${d}`}async function l(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),12e4),g=b?()=>c.abort(b.reason):void 0;b?.addEventListener("abort",g,{once:!0});try{return await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Client-Version":"3.8.4","X-Request-Token":k(),"User-Agent":f},body:JSON.stringify(a),signal:c.signal})}finally{clearTimeout(d),g&&b?.removeEventListener("abort",g)}}class m extends d.Hv{constructor(){super("theoldllm",{format:"openai"})}buildUrl(a,b){return e}buildHeaders(a){return{"Content-Type":"application/json","X-Client-Version":"3.8.4","User-Agent":f}}transformRequest(a,b,c){return"object"==typeof b&&null!==b?{...b,model:i(a)}:b}async testConnection(a,b,c){try{let a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Client-Version":"3.8.4","X-Request-Token":k(),"User-Agent":f},body:JSON.stringify({model:"GPT_5_4",messages:[{role:"user",content:"ping"}],stream:!1}),signal:b??void 0});return 200===a.status}catch{return c?.warn?.("THEOLDLLM","testConnection network error"),!1}}async execute(a){let{model:b,stream:c,body:d,signal:f,log:g}=a,h=new TextEncoder;if(f?.aborted)return{response:new Response(h.encode(JSON.stringify({error:{message:"Request aborted",type:"abort",code:"ABORTED"}})),{status:499,headers:{"Content-Type":"application/json"}}),url:e,headers:this.buildHeaders(a.credentials),transformedBody:d};try{let k={...d,model:i(b),stream:!0},m=await l(k,f),n=await m.text();if(function(a,b){if(401===a||403===a)return!0;try{let a=JSON.parse(b);return a?.error?.type==="access_denied"||"string"==typeof a?.error&&/blocked|denied|invalid/i.test(a.error)}catch{return!1}}(m.status,n)&&(g?.warn?.("THEOLDLLM",`Token rejected (${m.status}), retrying with fresh token…`),m=await l(k,f),n=await m.text()),200===m.status&&n){var j;let f=c?n:(j=function(a){let b="";for(let c of a.split("\n"))if(c.startsWith("data: ")&&"data: [DONE]"!==c)try{let a=JSON.parse(c.slice(6));b+=a.choices?.[0]?.delta?.content||a.choices?.[0]?.delta?.text||""}catch{}return b}(n),JSON.stringify({id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:i(b),choices:[{index:0,message:{role:"assistant",content:j},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}));return{response:new Response(h.encode(f),{status:200,headers:{"Content-Type":c?"text/event-stream":"application/json","Cache-Control":"no-cache"}}),url:e,headers:this.buildHeaders(a.credentials),transformedBody:d}}return{response:new Response(h.encode(function(a,b){let c=b;for(let a of b.split("\n"))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6));if(b.error){c=JSON.stringify(b.error);break}}catch{}return JSON.stringify({error:{message:c,type:"upstream_error",code:`HTTP_${a}`}})}(m.status,n)),{status:m.status,headers:{"Content-Type":"application/json"}}),url:e,headers:this.buildHeaders(a.credentials),transformedBody:d}}catch(c){let b=c instanceof Error?c.message:String(c);return g?.error?.("THEOLDLLM",`Executor error: ${b}`),{response:new Response(h.encode(JSON.stringify({error:{message:b,type:"upstream_error",code:"EXECUTOR_ERROR"}})),{status:502,headers:{"Content-Type":"application/json"}}),url:e,headers:this.buildHeaders(a.credentials),transformedBody:d}}}}},53198:(a,b,c)=>{c.d(b,{A:()=>x});var d=c(77598),e=c(74199),f=c(36081),g=c(97510);let h=process.env.COMMAND_CODE_VERSION?.trim()||"0.33.2",i=new TextEncoder;function j(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function k(a){return Array.isArray(a)?a.filter(j):[]}function l(a){return"string"==typeof a?a:void 0}function m(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function n(a){if(j(a))return a;if("string"==typeof a&&a.trim())try{let b=JSON.parse(a);if(j(b))return b}catch(a){console.warn("[commandCode] tool arg parse failed:",a instanceof Error?a.message:String(a))}return{}}function o(a){return"string"==typeof a?a:k(a).filter(a=>"text"===a.type).map(a=>l(a.text)||"").join("\n")}let p=[/kimi-k2/i,/qwen3\.\d/i,/step-?3/i,/claude-fable/i,/gpt-5/i,/fugu/i],q=["reasoning_effort","reasoning","thinking","effort","output_config","extra_body"];function r(a){let b=a.trim();if(!(!b||b.startsWith(":")||b.startsWith("event:"))&&(b.startsWith("data:")&&(b=b.slice(5).trim()),b&&"[DONE]"!==b))try{return JSON.parse(b)}catch(a){console.warn("[commandCode] stream line parse failed:",a instanceof Error?a.message:String(a));return}}function s(a){return"tool-calls"===a||"tool_calls"===a||"toolUse"===a?"tool_calls":"length"===a||"max_tokens"===a||"max-tokens"===a||"max_output_tokens"===a?"length":"stop"}function t(a,b,c,d=null){return{id:a,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,delta:c,finish_reason:d}]}}function u(a){return i.encode(`data: ${JSON.stringify(a)}
|
|
259
263
|
|
|
260
|
-
`)}function v(a,b){if("error"===a.type)throw Error(l((j(a.error)?a.error:{}).message)||l(a.error)||"Command Code stream error");switch(a.type){case"text-delta":b.content+=l(a.text)||"";break;case"reasoning-delta":b.reasoning+=l(a.text)||"";break;case"tool-call":{let c=n(a.input??a.args??a.arguments);b.toolCalls.push({id:l(a.toolCallId)||l(a.id)||(0,d.randomUUID)(),type:"function",function:{name:l(a.toolName)||l(a.name)||"",arguments:JSON.stringify(c)}});break}case"finish":b.finishReason=s(a.finishReason),b.usage=j(a.totalUsage)?a.totalUsage:null}}async function w(a,b,c){let e=a.body?.getReader();if(!e)throw Error("Command Code response missing body");let f=new TextDecoder,g="",h={content:"",reasoning:"",toolCalls:[],finishReason:"stop",usage:null};try{for(;;){if(c?.aborted)throw new DOMException("The operation was aborted","AbortError");let{done:a,value:b}=await e.read();if(a)break;let d=(g+=f.decode(b,{stream:!0})).split("\n");for(let a of(g=d.pop()||"",d)){let b=r(a);j(b)&&v(b,h)}}if(g.trim()){let a=r(g);j(a)&&v(a,h)}}finally{try{await e.cancel()}catch(a){console.warn("[commandCode] reader cancel failed:",a instanceof Error?a.message:String(a))}try{e.releaseLock()}catch(a){console.warn("[commandCode] reader releaseLock failed:",a instanceof Error?a.message:String(a))}}let i={role:"assistant",content:h.content};h.reasoning&&(i.reasoning_content=h.reasoning),h.toolCalls.length>0&&(i.tool_calls=h.toolCalls);let k={id:`chatcmpl-${(0,d.randomUUID)()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:i,finish_reason:h.finishReason}]},l=function(a){if(!a)return;let b=j(a.inputTokenDetails)?a.inputTokenDetails:{},c=(m(a.inputTokens)||0)+(m(b.cacheReadTokens)||0),d=m(a.outputTokens)||0;return{prompt_tokens:c,completion_tokens:d,total_tokens:c+d}}(h.usage);return l&&(k.usage=l),new Response(JSON.stringify(k),{status:200,headers:{"Content-Type":"application/json"}})}class x extends g.Hv{constructor(a="command-code"){super(a,f.Mo["command-code"])}buildUrl(){let a=(this.config.baseUrl||"https://api.commandcode.ai").replace(/\/$/,"");return`${a}${this.config.chatPath||"/alpha/generate"}`}async execute({model:a,body:b,stream:c,credentials:f,signal:v,upstreamExtraHeaders:x}){let y,z,A,B,C,D,E,F=f?.apiKey||f?.accessToken;if(!F)throw Error("Command Code API key required");let G={"Content-Type":"application/json",Authorization:`Bearer ${F}`,"x-command-code-version":h,"x-cli-environment":"external","x-project-slug":"pi-cc","x-taste-learning":"false","x-co-flag":"false","x-session-id":(0,d.randomUUID)()};(0,g._F)(G,x);let H=function(a,b,c=!1){let d=j(b)?b:{},f="string"==typeof d.model&&d.model.trim().length>0?d.model:a,g=function(a,b){let c=k(a),d=function(a){let b=new Set,c=new Set;for(let d of a)if("assistant"===d.role)for(let a of k(d.tool_calls)){let c=l(a.id);c&&b.add(c)}else if("tool"===d.role){let a=l(d.tool_call_id);a&&c.add(a)}return new Set([...b].filter(a=>c.has(a)))}(c),f=[],g=[],h=!(!b||/(?:^|\/)mimo-v2\.5-pro$/i.test(b))&&(!!(/(?:^|\/)mimo-v2\.5$/i.test(b)||/(?:^|\/)mimo-v2-omni$/i.test(b)||p.some(a=>a.test(b)))||(0,e.R)(b));for(let a of c){let b=l(a.role);if("system"===b||"developer"===b){let b=o(a.content);b&&g.push(b);continue}if("user"===b){f.push({role:"user",content:function(a,b){if(!b||"string"==typeof a)return o(a);let c=[];for(let b of k(a)){var d;if("text"===b.type){let a=l(b.text);a&&c.push({type:"text",text:a});continue}let a="image"===(d=b).type?l(d.image):"image_url"===d.type?j(d.image_url)?l(d.image_url.url):l(d.image_url):void 0;if(a){c.push({type:"image",image:a});continue}}return 0===c.length&&c.push({type:"text",text:""}),c}(a.content,h)});continue}if("assistant"===b){let b=[],c=o(a.content);for(let e of(c&&b.push({type:"text",text:c}),k(a.tool_calls))){let a=l(e.id)||"";if(!a||!d.has(a))continue;let c=j(e.function)?e.function:{};b.push({type:"tool-call",toolCallId:a,toolName:l(c.name)||"",input:n(c.arguments)})}b.length>0&&f.push({role:"assistant",content:b});continue}if("tool"===b){let b=l(a.tool_call_id)||"";if(!b||!d.has(b))continue;f.push({role:"tool",content:[{type:"tool-result",toolCallId:b,toolName:l(a.name)||"",output:{type:"text",value:o(a.content)}}]})}}return{system:g.join("\n\n"),messages:f}}(d.messages,f),h="string"==typeof d.system?d.system:"",i=[g.system,h].filter(Boolean).join("\n\n"),r={model:f,messages:g.messages,tools:k(d.tools).map(a=>{let b=j(a.function)?a.function:a;return{type:"function",name:l(b.name)||"",description:l(b.description)||"",input_schema:j(b.parameters)?b.parameters:{}}}),system:i,stream:!0},s=function(a){let b=m(a);if(void 0!==b&&!(b<=0))return Math.min(Math.floor(b),2e5)}(d.max_tokens??d.max_completion_tokens);for(let a of(void 0!==s&&(r.max_tokens=s),q)){let b=d[a];null!=b&&(r[a]=b)}return{config:{workingDir:"/workspace",date:new Date().toISOString().slice(0,10),environment:"external",structure:[],isGitRepo:!1,currentBranch:"",mainBranch:"",gitStatus:"",recentCommits:[]},memory:"",taste:"",skills:"",permissionMode:"standard",params:r}}(a,b,c),I=this.buildUrl(),J=await fetch(I,{method:"POST",headers:G,body:JSON.stringify(H),signal:v||void 0});return J.ok?{response:c?(y=`chatcmpl-${(0,d.randomUUID)()}`,z=J.body?.getReader(),A=new TextDecoder,B="",C=!1,D=!1,E={content:"",reasoning:"",toolCalls:[],finishReason:"stop",usage:null},new Response(new ReadableStream({start(b){if(!z)return void b.error(Error("Command Code response missing body"));let c=()=>{D=!0,z.cancel().catch(()=>void 0),b.error(new DOMException("The operation was aborted","AbortError"))};v?.addEventListener("abort",c,{once:!0});let e=c=>{if(j(c)&&!D)switch(!C&&(C=!0,b.enqueue(u(t(y,a,{role:"assistant"})))),c.type){case"text-delta":{let d=l(c.text)||"";d&&b.enqueue(u(t(y,a,{content:d}))),E.content+=d;break}case"reasoning-delta":{let d=l(c.text)||"";d&&(b.enqueue(u(t(y,a,{reasoning_content:d}))),E.reasoning+=d);break}case"tool-call":{let e=E.toolCalls.length,f=n(c.input??c.args??c.arguments),g={id:l(c.toolCallId)||l(c.id)||(0,d.randomUUID)(),type:"function",function:{name:l(c.toolName)||l(c.name)||"",arguments:JSON.stringify(f)}};E.toolCalls.push(g),b.enqueue(u(t(y,a,{tool_calls:[{index:e,...g}]})));break}case"reasoning-end":break;case"finish":E.finishReason=s(c.finishReason),E.usage=j(c.totalUsage)?c.totalUsage:null,b.enqueue(u(t(y,a,{},E.finishReason))),b.enqueue(i.encode("data: [DONE]\n\n")),D=!0,b.close(),z.cancel().catch(()=>void 0);break;case"error":throw Error(l((j(c.error)?c.error:{}).message)||l(c.error)||"Command Code stream error")}};(async()=>{try{for(;;){if(D)return;let{done:a,value:b}=await z.read();if(a)break;let c=(B+=A.decode(b,{stream:!0})).split("\n");for(let a of(B=c.pop()||"",c))e(r(a))}B.trim()&&e(r(B)),D||(C||b.enqueue(u(t(y,a,{role:"assistant"}))),b.enqueue(u(t(y,a,{},E.finishReason))),b.enqueue(i.encode("data: [DONE]\n\n")),b.close())}catch(a){b.error(a)}finally{v?.removeEventListener("abort",c);try{z.releaseLock()}catch(a){console.warn("[commandCode] reader releaseLock failed:",a instanceof Error?a.message:String(a))}}})()},cancel:()=>(D=!0,z?.cancel())}),{status:200,headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache"}})):await w(J,a,v),url:I,headers:G,transformedBody:H}:{response:new Response(await J.text().catch(()=>(console.warn("[commandCode] upstream text failed"),""))||`Command Code API error ${J.status}`,{status:J.status,statusText:J.statusText,headers:J.headers}),url:I,headers:G,transformedBody:H}}}},54669:(a,b,c)=>{c.d(b,{extractContextEditingTelemetry:()=>i,fm:()=>f});let d="clear_tool_uses_20250919",e="clear_thinking_20251015";function f(a,b){if(!b.enabled||!a||"object"!=typeof a)return;let c=a.context_management&&"object"==typeof a.context_management?a.context_management:{},f=Array.isArray(c.edits)?[...c.edits]:[];f.some(a=>a&&a.type===d)||(f.push({type:d,trigger:{type:"input_tokens",value:1e5},keep:{type:"tool_uses",value:3}}),f.sort((a,b)=>(a&&a.type===e?0:1)-(b&&b.type===e?0:1))),c.edits=f,a.context_management=c}function g(a){if("number"==typeof a&&Number.isFinite(a))return Math.max(0,Math.floor(a));if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return Math.max(0,Math.floor(b))}return 0}function h(a,b){let c=a;for(let a of b){if(!c||"object"!=typeof c)return;c=c[a]}return c}function i(a){if(!a||"object"!=typeof a)return null;let b=[h(a,["context_management","applied_edits"]),h(a,["usage","context_management","applied_edits"]),h(a,["usage","applied_edits"])].find(a=>Array.isArray(a));if(!Array.isArray(b)||0===b.length)return null;let c=0,d=0;for(let a of b)a&&"object"==typeof a&&(c+=g(a.cleared_input_tokens??a.clearedInputTokens),d+=g(a.cleared_tool_uses??a.clearedToolUses));return c<=0&&d<=0?null:{editCount:b.length,clearedInputTokens:c,clearedToolUses:d}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>ag});var e=c(59078),f=c(11655),g=c(78269),h=c(13511),i=c(11191),j=c(19946),k=c(85308),l=c(74350),m=c(83041),n=c(84664),o=c(47360),p=c(12022),q=c(35538),r=c(61592),s=c(73870),t=c(18812),u=c(75582),v=c(22965),w=c(78095),x=c(98492),y=c(42686),z=c(9927),A=c(12103),B=c(88357),C=c(34156),D=c(53198),E=c(79855),F=c(31655),G=c(15890),H=c(95089),I=c(10082),J=c(56168),K=c(63882),L=c(98185),M=c(98026),N=c(88331),O=c(57197),P=c(60059),Q=c(30973),R=c(81551),S=c(64029),T=c(87943),U=c(9379),V=c(28537),W=c(33085),X=c(2324),Y=c(71394),Z=c(52089),$=c(76422),_=c(12560),aa=c(69071),ab=c(22376),ac=c(49059),ad=c(21880);c(97510),c(87836);var ae=c(69505);c(39326);var af=a([j,K,ae]);[j,K,ae]=af.then?(await af)():af;let ah={antigravity:new e.cV,agy:new e.cV,github:new f.x,qoder:new g.DH,kiro:new h.Br,"amazon-q":new h.Br("amazon-q"),bedrock:new m.UD,codex:new i.T1,cursor:new j.ou,trae:new k.q,glm:new n.a("glm"),"glm-cn":new n.a("glm-cn"),glmt:new n.a("glmt"),cu:new j.ou,"azure-openai":new C.f,"command-code":new D.A,cmd:new D.A,gitlab:new E.L,"gitlab-duo":new E.L("gitlab-duo"),nlpcloud:new F.L,pollinations:new o.I,pol:new o.I,"cloudflare-ai":new p.x,cf:new p.x,"opencode-zen":new q.P("opencode-zen"),"opencode-go":new q.P("opencode-go"),opencode:new q.P("opencode-zen"),puter:new r.I,pu:new r.I,vertex:new s.w0,"vertex-partner":new s.w0,cliproxyapi:new t.SC,cpa:new t.SC,"9router":new u.Fs,nr:new u.Fs,"perplexity-web":new v.A,"pplx-web":new v.A,"grok-web":new w.$,"claude-web":new K.z,"cw-web":new K.z,"gemini-web":new x.d,gweb:new x.d,"gemini-business":new y.N,gembiz:new y.N,"chatgpt-web":new z.RF,"cgpt-web":new z.RF,"blackbox-web":new A.am,"bb-web":new A.am,"muse-spark-web":new B.nq,"ms-web":new B.nq,windsurf:new G.i,ws:new G.i,"devin-cli":new H.c,devin:new H.c,"deepseek-web":new I.E,"ds-web":new I.E,"adapta-web":new J.N,"adp-web":new J.N,"copilot-web":new L.yx,"copilot-m365-web":new M.T,copilot:new L.yx,"veoaifree-web":new N.q,"veo-free":new N.q,"duckduckgo-web":new O.eN,ddgw:new O.eN,"t3-web":new P.lc,t3chat:new P.lc,"inner-ai":new Q.G,"in-ai":new Q.G,huggingchat:new R.P,hc:new R.P,"poe-web":new S.I,poe:new S.I,"venice-web":new T.g,ven:new T.g,"v0-vercel-web":new U.B,v0:new U.B,"kimi-web":new V.Kt,"kimi-coding-apikey":new Y.C,"kimi-coding":new Y.C,"doubao-web":new W.c,db:new W.c,"qwen-web":new X.j,qw:new X.j,theoldllm:new Z.No,tllm:new Z.No,chipotle:new $.OD,pepper:new $.OD,lmarena:new _.mu,lma:new _.mu,mimocode:new aa.Vr,mcode:new aa.Vr,"grok-cli":new ab.h,gc:new ab.h,"codebuddy-cn":new ac.K,cbcn:new ac.K,"zenmux-free":new ad.l,zmf:new ad.l},ai=new Map;function ag(a){return ah[a]?ah[a]:(ai.has(a)||ai.set(a,new l.L(a)),ai.get(a))}d()}catch(a){d(a)}})},56168:(a,b,c)=>{c.d(b,{N:()=>t});var d=c(97510),e=c(72221),f=c(43659);let g="https://agent.adapta.one",h="https://clerk.agent.adapta.one",i=`${g}/api/chat/stream/v1`,j={"adapta-one":14,"adapta-gpt":14,"adapta-claude":14,"adapta-gemini":14,"adapta-grok":14,"adapta-deepseek":14,"adapta-llama":14},k="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",l=new Map;function m(a){return a.slice(0,32)}function n(a){let b=a.trim(),c=b.indexOf("=");return c>0&&!b.startsWith("eyJ")?b.slice(c+1).trim():b}function o(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}async function p(a,b,c){let d=await fetch(`${h}/v1/client`,{headers:{Cookie:`__client=${a}`,"User-Agent":k,Origin:g},signal:b??void 0});if(!d.ok)throw Error(`Clerk /v1/client returned HTTP ${d.status} — check your __client cookie`);let e=await d.json(),f=(e?.response?.sessions??[]).find(a=>"active"===a.status);if(!f?.id)throw Error("No active Clerk session found — your __client cookie may be expired or invalid");return c?.info?.("ADAPTA-WEB",`Got session ID: ${f.id}`),f.id}async function q(a,b,c,d){let e=await fetch(`${h}/v1/client/sessions/${b}/tokens`,{method:"POST",headers:{Cookie:`__client=${a}`,"Content-Type":"application/json","User-Agent":k,Origin:g},signal:c??void 0});if(!e.ok)throw Error(`Clerk token refresh returned HTTP ${e.status}`);let f=await e.json(),i=f?.jwt;if("string"!=typeof i||!i.startsWith("eyJ"))throw Error("Clerk token refresh did not return a valid JWT");return d?.info?.("ADAPTA-WEB",`Got fresh session JWT (${i.length} chars)`),i}async function r(a,b,c){var d;let e,f=!(e=l.get(m(a)))||Date.now()>=e.jwtExpiresAt-3e4?null:e.jwt;if(f)return c?.info?.("ADAPTA-WEB","Using cached session JWT"),f;let g=await p(a,b,c),h=await q(a,g,b,c);return d=function(a){try{let b=a.split(".");if(b.length<2)return 0;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=JSON.parse(atob(c));return"number"==typeof d.exp?1e3*d.exp:0}catch{return 0}}(h)||Date.now()+55e3,l.set(m(a),{sessionId:g,jwt:h,jwtExpiresAt:d}),h}function s(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>String(a.text??"")).join(""):String(a??"")}class t extends d.Hv{constructor(){super("adapta-web",{baseUrl:i})}async testConnection(a,b){try{let c=String(a?.apiKey??"");if(!c)return!1;let d=n(c);return!!await p(d,b)}catch{return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:h,log:p}){let q,t=b??{},u=Array.isArray(t.messages)?t.messages:[],{hasTools:v,requestedTools:w,effectiveMessages:x}=(0,e.S$)(t,u),y=String(d?.apiKey??"");if(!y)return{response:o(401,"Missing Adapta credentials — paste your __client cookie from .clerk.agent.adapta.one"),url:i,headers:{},transformedBody:b};let z=n(y);try{p?.info?.("ADAPTA-WEB","Obtaining session JWT via Clerk..."),q=await r(z,h,p)}catch(c){let a=c instanceof Error?c.message:String(c);return p?.warn?.("ADAPTA-WEB",`Auth failed: ${a}`),{response:o(401,`Adapta auth failed: ${(0,f.sanitizeErrorMessage)(a)}`),url:i,headers:{},transformedBody:b}}let A=j[a]??14,B=function(a){let b="",c=[];for(let d of a)"system"===("developer"===d.role?"system":d.role)?b+=(b?"\n":"")+s(d.content):c.push(d);let d=[],e=!1;for(let a of c){if("user"!==a.role&&"assistant"!==a.role)continue;let c=s(a.content);c.trim()&&(!e&&b&&"user"===a.role?(d.push({role:"user",parts:[{type:"text",text:`${b}
|
|
264
|
+
`)}function v(a,b){if("error"===a.type)throw Error(l((j(a.error)?a.error:{}).message)||l(a.error)||"Command Code stream error");switch(a.type){case"text-delta":b.content+=l(a.text)||"";break;case"reasoning-delta":b.reasoning+=l(a.text)||"";break;case"tool-call":{let c=n(a.input??a.args??a.arguments);b.toolCalls.push({id:l(a.toolCallId)||l(a.id)||(0,d.randomUUID)(),type:"function",function:{name:l(a.toolName)||l(a.name)||"",arguments:JSON.stringify(c)}});break}case"finish":b.finishReason=s(a.finishReason),b.usage=j(a.totalUsage)?a.totalUsage:null}}async function w(a,b,c){let e=a.body?.getReader();if(!e)throw Error("Command Code response missing body");let f=new TextDecoder,g="",h={content:"",reasoning:"",toolCalls:[],finishReason:"stop",usage:null};try{for(;;){if(c?.aborted)throw new DOMException("The operation was aborted","AbortError");let{done:a,value:b}=await e.read();if(a)break;let d=(g+=f.decode(b,{stream:!0})).split("\n");for(let a of(g=d.pop()||"",d)){let b=r(a);j(b)&&v(b,h)}}if(g.trim()){let a=r(g);j(a)&&v(a,h)}}finally{try{await e.cancel()}catch(a){console.warn("[commandCode] reader cancel failed:",a instanceof Error?a.message:String(a))}try{e.releaseLock()}catch(a){console.warn("[commandCode] reader releaseLock failed:",a instanceof Error?a.message:String(a))}}let i={role:"assistant",content:h.content};h.reasoning&&(i.reasoning_content=h.reasoning),h.toolCalls.length>0&&(i.tool_calls=h.toolCalls);let k={id:`chatcmpl-${(0,d.randomUUID)()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:i,finish_reason:h.finishReason}]},l=function(a){if(!a)return;let b=j(a.inputTokenDetails)?a.inputTokenDetails:{},c=(m(a.inputTokens)||0)+(m(b.cacheReadTokens)||0),d=m(a.outputTokens)||0;return{prompt_tokens:c,completion_tokens:d,total_tokens:c+d}}(h.usage);return l&&(k.usage=l),new Response(JSON.stringify(k),{status:200,headers:{"Content-Type":"application/json"}})}class x extends g.Hv{constructor(a="command-code"){super(a,f.Mo["command-code"])}buildUrl(){let a=(this.config.baseUrl||"https://api.commandcode.ai").replace(/\/$/,"");return`${a}${this.config.chatPath||"/alpha/generate"}`}async execute({model:a,body:b,stream:c,credentials:f,signal:v,upstreamExtraHeaders:x}){let y,z,A,B,C,D,E,F=f?.apiKey||f?.accessToken;if(!F)throw Error("Command Code API key required");let G={"Content-Type":"application/json",Authorization:`Bearer ${F}`,"x-command-code-version":h,"x-cli-environment":"external","x-project-slug":"pi-cc","x-taste-learning":"false","x-co-flag":"false","x-session-id":(0,d.randomUUID)()};(0,g._F)(G,x);let H=function(a,b,c=!1){let d=j(b)?b:{},f="string"==typeof d.model&&d.model.trim().length>0?d.model:a,g=function(a,b){let c=k(a),d=function(a){let b=new Set,c=new Set;for(let d of a)if("assistant"===d.role)for(let a of k(d.tool_calls)){let c=l(a.id);c&&b.add(c)}else if("tool"===d.role){let a=l(d.tool_call_id);a&&c.add(a)}return new Set([...b].filter(a=>c.has(a)))}(c),f=[],g=[],h=!(!b||/(?:^|\/)mimo-v2\.5-pro$/i.test(b))&&(!!(/(?:^|\/)mimo-v2\.5$/i.test(b)||/(?:^|\/)mimo-v2-omni$/i.test(b)||p.some(a=>a.test(b)))||(0,e.R)(b));for(let a of c){let b=l(a.role);if("system"===b||"developer"===b){let b=o(a.content);b&&g.push(b);continue}if("user"===b){f.push({role:"user",content:function(a,b){if(!b||"string"==typeof a)return o(a);let c=[];for(let b of k(a)){var d;if("text"===b.type){let a=l(b.text);a&&c.push({type:"text",text:a});continue}let a="image"===(d=b).type?l(d.image):"image_url"===d.type?j(d.image_url)?l(d.image_url.url):l(d.image_url):void 0;if(a){c.push({type:"image",image:a});continue}}return 0===c.length&&c.push({type:"text",text:""}),c}(a.content,h)});continue}if("assistant"===b){let b=[],c=o(a.content);for(let e of(c&&b.push({type:"text",text:c}),k(a.tool_calls))){let a=l(e.id)||"";if(!a||!d.has(a))continue;let c=j(e.function)?e.function:{};b.push({type:"tool-call",toolCallId:a,toolName:l(c.name)||"",input:n(c.arguments)})}b.length>0&&f.push({role:"assistant",content:b});continue}if("tool"===b){let b=l(a.tool_call_id)||"";if(!b||!d.has(b))continue;f.push({role:"tool",content:[{type:"tool-result",toolCallId:b,toolName:l(a.name)||"",output:{type:"text",value:o(a.content)}}]})}}return{system:g.join("\n\n"),messages:f}}(d.messages,f),h="string"==typeof d.system?d.system:"",i=[g.system,h].filter(Boolean).join("\n\n"),r={model:f,messages:g.messages,tools:k(d.tools).map(a=>{let b=j(a.function)?a.function:a;return{type:"function",name:l(b.name)||"",description:l(b.description)||"",input_schema:j(b.parameters)?b.parameters:{}}}),system:i,stream:!0},s=function(a){let b=m(a);if(void 0!==b&&!(b<=0))return Math.min(Math.floor(b),2e5)}(d.max_tokens??d.max_completion_tokens);for(let a of(void 0!==s&&(r.max_tokens=s),q)){let b=d[a];null!=b&&(r[a]=b)}return{config:{workingDir:"/workspace",date:new Date().toISOString().slice(0,10),environment:"external",structure:[],isGitRepo:!1,currentBranch:"",mainBranch:"",gitStatus:"",recentCommits:[]},memory:"",taste:"",skills:"",permissionMode:"standard",params:r}}(a,b,c),I=this.buildUrl(),J=await fetch(I,{method:"POST",headers:G,body:JSON.stringify(H),signal:v||void 0});return J.ok?{response:c?(y=`chatcmpl-${(0,d.randomUUID)()}`,z=J.body?.getReader(),A=new TextDecoder,B="",C=!1,D=!1,E={content:"",reasoning:"",toolCalls:[],finishReason:"stop",usage:null},new Response(new ReadableStream({start(b){if(!z)return void b.error(Error("Command Code response missing body"));let c=()=>{D=!0,z.cancel().catch(()=>void 0),b.error(new DOMException("The operation was aborted","AbortError"))};v?.addEventListener("abort",c,{once:!0});let e=c=>{if(j(c)&&!D)switch(!C&&(C=!0,b.enqueue(u(t(y,a,{role:"assistant"})))),c.type){case"text-delta":{let d=l(c.text)||"";d&&b.enqueue(u(t(y,a,{content:d}))),E.content+=d;break}case"reasoning-delta":{let d=l(c.text)||"";d&&(b.enqueue(u(t(y,a,{reasoning_content:d}))),E.reasoning+=d);break}case"tool-call":{let e=E.toolCalls.length,f=n(c.input??c.args??c.arguments),g={id:l(c.toolCallId)||l(c.id)||(0,d.randomUUID)(),type:"function",function:{name:l(c.toolName)||l(c.name)||"",arguments:JSON.stringify(f)}};E.toolCalls.push(g),b.enqueue(u(t(y,a,{tool_calls:[{index:e,...g}]})));break}case"reasoning-end":break;case"finish":E.finishReason=s(c.finishReason),E.usage=j(c.totalUsage)?c.totalUsage:null,b.enqueue(u(t(y,a,{},E.finishReason))),b.enqueue(i.encode("data: [DONE]\n\n")),D=!0,b.close(),z.cancel().catch(()=>void 0);break;case"error":throw Error(l((j(c.error)?c.error:{}).message)||l(c.error)||"Command Code stream error")}};(async()=>{try{for(;;){if(D)return;let{done:a,value:b}=await z.read();if(a)break;let c=(B+=A.decode(b,{stream:!0})).split("\n");for(let a of(B=c.pop()||"",c))e(r(a))}B.trim()&&e(r(B)),D||(C||b.enqueue(u(t(y,a,{role:"assistant"}))),b.enqueue(u(t(y,a,{},E.finishReason))),b.enqueue(i.encode("data: [DONE]\n\n")),b.close())}catch(a){b.error(a)}finally{v?.removeEventListener("abort",c);try{z.releaseLock()}catch(a){console.warn("[commandCode] reader releaseLock failed:",a instanceof Error?a.message:String(a))}}})()},cancel:()=>(D=!0,z?.cancel())}),{status:200,headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache"}})):await w(J,a,v),url:I,headers:G,transformedBody:H}:{response:new Response(await J.text().catch(()=>(console.warn("[commandCode] upstream text failed"),""))||`Command Code API error ${J.status}`,{status:J.status,statusText:J.statusText,headers:J.headers}),url:I,headers:G,transformedBody:H}}}},54669:(a,b,c)=>{c.d(b,{extractContextEditingTelemetry:()=>i,fm:()=>f});let d="clear_tool_uses_20250919",e="clear_thinking_20251015";function f(a,b){if(!b.enabled||!a||"object"!=typeof a)return;let c=a.context_management&&"object"==typeof a.context_management?a.context_management:{},f=Array.isArray(c.edits)?[...c.edits]:[];f.some(a=>a&&a.type===d)||(f.push({type:d,trigger:{type:"input_tokens",value:1e5},keep:{type:"tool_uses",value:3}}),f.sort((a,b)=>(a&&a.type===e?0:1)-(b&&b.type===e?0:1))),c.edits=f,a.context_management=c}function g(a){if("number"==typeof a&&Number.isFinite(a))return Math.max(0,Math.floor(a));if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return Math.max(0,Math.floor(b))}return 0}function h(a,b){let c=a;for(let a of b){if(!c||"object"!=typeof c)return;c=c[a]}return c}function i(a){if(!a||"object"!=typeof a)return null;let b=[h(a,["context_management","applied_edits"]),h(a,["usage","context_management","applied_edits"]),h(a,["usage","applied_edits"])].find(a=>Array.isArray(a));if(!Array.isArray(b)||0===b.length)return null;let c=0,d=0;for(let a of b)a&&"object"==typeof a&&(c+=g(a.cleared_input_tokens??a.clearedInputTokens),d+=g(a.cleared_tool_uses??a.clearedToolUses));return c<=0&&d<=0?null:{editCount:b.length,clearedInputTokens:c,clearedToolUses:d}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>ag});var e=c(59078),f=c(11655),g=c(78269),h=c(13511),i=c(11191),j=c(21585),k=c(85308),l=c(74350),m=c(83041),n=c(84664),o=c(47360),p=c(12022),q=c(35538),r=c(61592),s=c(73870),t=c(18812),u=c(75582),v=c(22965),w=c(78095),x=c(98492),y=c(42686),z=c(9927),A=c(12103),B=c(88357),C=c(34156),D=c(53198),E=c(79855),F=c(31655),G=c(15890),H=c(95089),I=c(10082),J=c(56168),K=c(63882),L=c(98185),M=c(98026),N=c(88331),O=c(57197),P=c(60059),Q=c(30973),R=c(81551),S=c(64029),T=c(87943),U=c(9379),V=c(28537),W=c(33085),X=c(2324),Y=c(71394),Z=c(52089),$=c(76422),_=c(12560),aa=c(69071),ab=c(22376),ac=c(49059),ad=c(21880);c(97510),c(87836);var ae=c(69505);c(39326);var af=a([K,ae]);[K,ae]=af.then?(await af)():af;let ah={antigravity:new e.cV,agy:new e.cV,github:new f.x,qoder:new g.DH,kiro:new h.Br,"amazon-q":new h.Br("amazon-q"),bedrock:new m.UD,codex:new i.T1,cursor:new j.ou,trae:new k.q,glm:new n.a("glm"),"glm-cn":new n.a("glm-cn"),glmt:new n.a("glmt"),cu:new j.ou,"azure-openai":new C.f,"command-code":new D.A,cmd:new D.A,gitlab:new E.L,"gitlab-duo":new E.L("gitlab-duo"),nlpcloud:new F.L,pollinations:new o.I,pol:new o.I,"cloudflare-ai":new p.x,cf:new p.x,"opencode-zen":new q.P("opencode-zen"),"opencode-go":new q.P("opencode-go"),opencode:new q.P("opencode-zen"),puter:new r.I,pu:new r.I,vertex:new s.w0,"vertex-partner":new s.w0,cliproxyapi:new t.SC,cpa:new t.SC,"9router":new u.Fs,nr:new u.Fs,"perplexity-web":new v.A,"pplx-web":new v.A,"grok-web":new w.$,"claude-web":new K.z,"cw-web":new K.z,"gemini-web":new x.d,gweb:new x.d,"gemini-business":new y.N,gembiz:new y.N,"chatgpt-web":new z.RF,"cgpt-web":new z.RF,"blackbox-web":new A.am,"bb-web":new A.am,"muse-spark-web":new B.nq,"ms-web":new B.nq,windsurf:new G.i,ws:new G.i,"devin-cli":new H.c,devin:new H.c,"deepseek-web":new I.E,"ds-web":new I.E,"adapta-web":new J.N,"adp-web":new J.N,"copilot-web":new L.yx,"copilot-m365-web":new M.T,copilot:new L.yx,"veoaifree-web":new N.q,"veo-free":new N.q,"duckduckgo-web":new O.eN,ddgw:new O.eN,"t3-web":new P.lc,t3chat:new P.lc,"inner-ai":new Q.G,"in-ai":new Q.G,huggingchat:new R.P,hc:new R.P,"poe-web":new S.I,poe:new S.I,"venice-web":new T.g,ven:new T.g,"v0-vercel-web":new U.B,v0:new U.B,"kimi-web":new V.Kt,"kimi-coding-apikey":new Y.C,"kimi-coding":new Y.C,"doubao-web":new W.c,db:new W.c,"qwen-web":new X.j,qw:new X.j,theoldllm:new Z.No,tllm:new Z.No,chipotle:new $.OD,pepper:new $.OD,lmarena:new _.mu,lma:new _.mu,mimocode:new aa.Vr,mcode:new aa.Vr,"grok-cli":new ab.h,gc:new ab.h,"codebuddy-cn":new ac.K,cbcn:new ac.K,"zenmux-free":new ad.l,zmf:new ad.l},ai=new Map;function ag(a){return ah[a]?ah[a]:(ai.has(a)||ai.set(a,new l.L(a)),ai.get(a))}d()}catch(a){d(a)}})},56168:(a,b,c)=>{c.d(b,{N:()=>t});var d=c(97510),e=c(72221),f=c(43659);let g="https://agent.adapta.one",h="https://clerk.agent.adapta.one",i=`${g}/api/chat/stream/v1`,j={"adapta-one":14,"adapta-gpt":14,"adapta-claude":14,"adapta-gemini":14,"adapta-grok":14,"adapta-deepseek":14,"adapta-llama":14},k="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",l=new Map;function m(a){return a.slice(0,32)}function n(a){let b=a.trim(),c=b.indexOf("=");return c>0&&!b.startsWith("eyJ")?b.slice(c+1).trim():b}function o(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}async function p(a,b,c){let d=await fetch(`${h}/v1/client`,{headers:{Cookie:`__client=${a}`,"User-Agent":k,Origin:g},signal:b??void 0});if(!d.ok)throw Error(`Clerk /v1/client returned HTTP ${d.status} — check your __client cookie`);let e=await d.json(),f=(e?.response?.sessions??[]).find(a=>"active"===a.status);if(!f?.id)throw Error("No active Clerk session found — your __client cookie may be expired or invalid");return c?.info?.("ADAPTA-WEB",`Got session ID: ${f.id}`),f.id}async function q(a,b,c,d){let e=await fetch(`${h}/v1/client/sessions/${b}/tokens`,{method:"POST",headers:{Cookie:`__client=${a}`,"Content-Type":"application/json","User-Agent":k,Origin:g},signal:c??void 0});if(!e.ok)throw Error(`Clerk token refresh returned HTTP ${e.status}`);let f=await e.json(),i=f?.jwt;if("string"!=typeof i||!i.startsWith("eyJ"))throw Error("Clerk token refresh did not return a valid JWT");return d?.info?.("ADAPTA-WEB",`Got fresh session JWT (${i.length} chars)`),i}async function r(a,b,c){var d;let e,f=!(e=l.get(m(a)))||Date.now()>=e.jwtExpiresAt-3e4?null:e.jwt;if(f)return c?.info?.("ADAPTA-WEB","Using cached session JWT"),f;let g=await p(a,b,c),h=await q(a,g,b,c);return d=function(a){try{let b=a.split(".");if(b.length<2)return 0;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=JSON.parse(atob(c));return"number"==typeof d.exp?1e3*d.exp:0}catch{return 0}}(h)||Date.now()+55e3,l.set(m(a),{sessionId:g,jwt:h,jwtExpiresAt:d}),h}function s(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>String(a.text??"")).join(""):String(a??"")}class t extends d.Hv{constructor(){super("adapta-web",{baseUrl:i})}async testConnection(a,b){try{let c=String(a?.apiKey??"");if(!c)return!1;let d=n(c);return!!await p(d,b)}catch{return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:h,log:p}){let q,t=b??{},u=Array.isArray(t.messages)?t.messages:[],{hasTools:v,requestedTools:w,effectiveMessages:x}=(0,e.S$)(t,u),y=String(d?.apiKey??"");if(!y)return{response:o(401,"Missing Adapta credentials — paste your __client cookie from .clerk.agent.adapta.one"),url:i,headers:{},transformedBody:b};let z=n(y);try{p?.info?.("ADAPTA-WEB","Obtaining session JWT via Clerk..."),q=await r(z,h,p)}catch(c){let a=c instanceof Error?c.message:String(c);return p?.warn?.("ADAPTA-WEB",`Auth failed: ${a}`),{response:o(401,`Adapta auth failed: ${(0,f.sanitizeErrorMessage)(a)}`),url:i,headers:{},transformedBody:b}}let A=j[a]??14,B=function(a){let b="",c=[];for(let d of a)"system"===("developer"===d.role?"system":d.role)?b+=(b?"\n":"")+s(d.content):c.push(d);let d=[],e=!1;for(let a of c){if("user"!==a.role&&"assistant"!==a.role)continue;let c=s(a.content);c.trim()&&(!e&&b&&"user"===a.role?(d.push({role:"user",parts:[{type:"text",text:`${b}
|
|
261
265
|
|
|
262
266
|
${c}`}]}),e=!0):d.push({role:a.role,parts:[{type:"text",text:c}]}))}return d}(x);if(0===B.length)return{response:o(400,"No messages provided"),url:i,headers:{},transformedBody:b};let C={messages:B,aiModelId:A},D={Authorization:`Bearer ${q}`,"Content-Type":"application/json",Accept:"text/event-stream","User-Agent":k,Origin:g,Referer:`${g}/agentic-chat`};p?.info?.("ADAPTA-WEB",`POST ${i} | model=${a} aiModelId=${A} msgs=${B.length}`);let E=await fetch(i,{method:"POST",headers:D,body:JSON.stringify(C),signal:h??void 0});if(!E.ok){let a=`Adapta error HTTP ${E.status}`;return 401===E.status||403===E.status?(a="Adapta session expired or invalid — re-paste your __client cookie from .clerk.agent.adapta.one",l.delete(m(z))):429===E.status&&(a="Adapta rate limited — wait and retry"),p?.warn?.("ADAPTA-WEB",a),{response:o(E.status,a),url:i,headers:D,transformedBody:C}}if(!1!==c){var F;let b,c,d,e,f;return{response:new Response((F=E.body,b=new TextEncoder,c=new TextDecoder,d=`chatcmpl-adp-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,e=Math.floor(Date.now()/1e3),f=!1,new ReadableStream({async start(g){let h=F.getReader(),i="",j=(c,f)=>{let h;return h={id:d,object:"chat.completion.chunk",created:e,model:a,choices:[{index:0,delta:c,finish_reason:f??null}]},g.enqueue(b.encode(`data: ${JSON.stringify(h)}
|
|
263
267
|
|
|
@@ -347,7 +351,7 @@ var getComputedStyle = __getComputedStyle;
|
|
|
347
351
|
`;a.enqueue(new TextEncoder().encode(d))}}}catch{}}}if(h.trim()){let c=h.trim();if(c.startsWith("data: ")){let d=c.slice(6);try{let c=JSON.parse(d);if("content_block_delta"===c.type){let d=c.delta,e=d?.text;if(e){let c=r(e,b);a.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
|
|
348
352
|
|
|
349
353
|
`))}}}catch{}}}f||a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}catch(b){c?.error?.("CLAUDE-WEB-STREAM",`Stream error: ${String(b)}`),a.error(b)}finally{try{d.releaseLock()}catch{}try{a.close()}catch{}}}});return new Response(g,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}class y extends e.Hv{constructor(){super("claude-web",{baseUrl:v})}async testConnection(a,b){try{let c=n(a);if(!c.trim())return!1;let d=await q(c,{allowAutoSolve:!1}),e=o(a);return await s(d,e,b)}catch(a){return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:h,log:i}){let m=b||{};try{let b;if(!d||"object"!=typeof d)return{response:new Response(JSON.stringify({error:{message:"Invalid credentials",type:"invalid_request_error"}}),{status:400,statusText:"Bad Request",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m};let c=n(d);if(!c.trim())return{response:new Response(JSON.stringify({error:{message:"Missing session cookie",type:"authentication_error"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m};let k=await q(c,{allowAutoSolve:!0,log:i}),r=o(d);try{b=function(a,b){let c=Array.isArray(a.messages)?a.messages:[],d="";for(let a of c)"object"==typeof a&&null!==a&&"user"===a.role&&(d=String(a.content||""));if(!d.trim())throw Error("No user message found in request");return{prompt:d,model:b||x,timezone:"Asia/Jakarta",personalized_styles:[{type:"default",key:"Default",name:"Normal",nameKey:"normal_style_name",prompt:"Normal\n",summary:"Default responses from Claude",summaryKey:"normal_style_summary",isDefault:!0}],locale:"en-US",tools:[{name:"show_widget",description:"Display interactive widgets and visualizations",input_schema:{type:"object",properties:{widget_type:{type:"string",description:"Type of widget to display"}}},integration_name:"visualize",is_mcp_app:!0},{name:"read_me",description:"Read and reference documents",input_schema:{type:"object",properties:{file_path:{type:"string",description:"Path to the file to read"}}},integration_name:"visualize",is_mcp_app:!1},{type:"web_search_v0",name:"web_search"},{type:"artifacts_v0",name:"artifacts"},{type:"repl_v0",name:"repl"},{type:"widget",name:"weather_fetch"},{type:"widget",name:"recipe_display_v0"},{type:"widget",name:"places_map_display_v0"},{type:"widget",name:"message_compose_v1"},{type:"widget",name:"ask_user_input_v0"},{type:"widget",name:"recommend_claude_apps"},{type:"widget",name:"places_search"},{type:"widget",name:"fetch_sports_data"}],turn_message_uuids:{human_message_uuid:(0,j.randomUUID)(),assistant_message_uuid:(0,j.randomUUID)()},attachments:[],effort:"low",files:[],sync_sources:[],rendering_mode:"messages",thinking_mode:"off",create_conversation_params:{name:"",model:b||x,include_conversation_preferences:!0,paprika_mode:null,compass_mode:null,is_temporary:!1,enabled_imagine:!0,tool_search_mode:"auto"}}}(m,a)}catch(a){return{response:new Response(JSON.stringify({error:{message:a instanceof Error?a.message:"Invalid request format",type:"invalid_request_error"}}),{status:400,statusText:"Bad Request",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m}}let s=d?.orgId,w=d?.conversationId;!s&&((s=await t(k,r,h))||(i?.warn?.("CLAUDE-WEB","Could not retrieve organization ID, using fallback"),s="")),w||(w=(0,j.randomUUID)());let y=p(r);if(function(){let a=process.env.WEB_COOKIE_USE_BROWSER;if("1"===a||"true"===a||"on"===a)return!0;let b=process.env.OMNIROUTE_BROWSER_POOL;return"on"===b||"1"===b||"true"===b}()){let d=function(a){let b=Array.isArray(a.messages)?a.messages:[];for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){let c=b[a].content;if("string"==typeof c)return c;if(Array.isArray(c))return c.map(a=>"object"==typeof a&&a&&"text"in a?String(a.text):"").filter(Boolean).join("\n")}return"Reply with OK"}(m),e=s?`${v}/organizations/${s}/chat_conversations/PLACEHOLDER/completion`:`${v}/chat_conversations/PLACEHOLDER/completion`,f=await (0,l.As)({poolKey:"claude-web",chatPageUrl:"https://claude.ai/new",chatUrl:e,chatUrlMatchDomain:"claude.ai",cookieString:c,cookieDomain:".claude.ai",userMessage:d,inputSelector:"div[contenteditable='true']",postSubmitWaitMs:15e3,signal:h??null});if(f.status>0){let c=new Response(f.body,{status:f.status,headers:{"Content-Type":f.contentType||"text/event-stream"}});return{response:await u(c,a,i,null),url:e,headers:y,transformedBody:b}}return{response:new Response(JSON.stringify({error:{message:`Claude Web browser-backed chat captured no upstream response (timing: ${JSON.stringify(f.timing)})`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:e,headers:y,transformedBody:b}}let z=s&&w?`${v}/organizations/${s}/chat_conversations/${w}/completion`:`${v}/chat_conversations/new/completion`,A=AbortSignal.timeout(f.MT),B=h?(0,e.OW)(h,A):A;i?.debug?.("CLAUDE-WEB",`Making request to ${z}`);let C=await (0,g.wf)(z,{method:"POST",headers:{...y,Cookie:k},body:JSON.stringify(b),timeoutMs:f.MT,stream:!0,signal:B});if(C.status<200||C.status>=300){let a;if(i?.error?.("CLAUDE-WEB",`HTTP ${C.status}`),401===C.status)return{response:new Response(JSON.stringify({error:{message:"Session expired or invalid",type:"authentication_error"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b};if(429===C.status)return{response:new Response(JSON.stringify({error:{message:"Rate limited by Claude Web API",type:"rate_limit_error"}}),{status:429,statusText:"Too Many Requests",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b};let c="",d=null;try{if(C.body){let a=C.body.getReader(),b=new TextDecoder,d=[],e=0;for(;e<2048;){let{value:b,done:c}=await a.read();if(c||!b)break;d.push(b),e+=b.byteLength}try{a.releaseLock()}catch{}if(1===d.length)c=b.decode(d[0]);else{let a=new Uint8Array(e),f=0;for(let b of d)a.set(b,f),f+=b.byteLength;c=b.decode(a)}}else C.text&&(c=C.text)}catch{c=""}d=C.headers.get("cf-mitigated");let e=403===C.status&&("challenge"===d||/<title>\s*Just a moment/i.test(c)||/<title>\s*Attention Required/i.test(c));if(e)a=`Claude Web returned a Cloudflare bot-management challenge (cf-mitigated=${d??"challenge"}). The sandbox / VPS IP appears to be flagged; the cf_clearance cookie pasted from a residential IP won't pass. Probe from a residential network, or use the official Anthropic API (provider: 'claude') instead.`;else{let b=c.trim().slice(0,500);a=b?`Claude Web API error (${C.status}): ${b}`:`Claude Web API error (${C.status}) with no response body`}return{response:new Response(JSON.stringify({error:{message:a,type:e?"cloudflare_challenge":"api_error",code:e?"cf_mitigated_challenge":`HTTP_${C.status}`,...d?{cfMitigated:d}:{}}}),{status:C.status,statusText:"HTTP Error",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b}}return{response:await u(C,a,i,C.body),url:z,headers:y,transformedBody:b}}catch(b){let a=b instanceof Error?b.message:String(b);return i?.error?.("CLAUDE-WEB",`Fetch failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`Claude Web connection failed: ${(0,k.sanitizeErrorMessage)(a)}`,type:"api_connection_error"}}),{status:500,statusText:"Internal Server Error",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m}}}}d()}catch(a){d(a)}})},69734:(a,b,c)=>{c.d(b,{Fx:()=>d,y9:()=>e});let d=()=>void 0,e=()=>void 0},69896:(a,b,c)=>{c.d(b,{l:()=>m});var d=c(14170),e=c(81167),f=c(23874),g=c(31252);function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a,b=""){return"string"==typeof a?a:b}function j(a,b=0){let c="number"==typeof a?a:"string"==typeof a&&a.trim().length>0?Number(a):NaN;return Number.isFinite(c)?c:b}function k(...a){for(let b of a){let a=j(b,0);if(a>0)return a}return 0}function l(a){if(!Array.isArray(a.content))return"";let b="";for(let c of a.content){if(!c||"object"!=typeof c)continue;let a=h(c);"output_text"===a.type&&"string"==typeof a.text&&(b+=a.text)}return b}function m(a,b,c,m){if(b===c)return a;let n=a;if(b===d.h.OPENAI_RESPONSES){let b=h(a),c="response"===b.object?b:h(b.response??b),d=Array.isArray(c.output)?c.output:[],e=h(c.usage??b.usage),f=function(a){let b=a.map(a=>h(a)).filter(a=>"message"===a.type&&Array.isArray(a.content));for(let a=b.length-1;a>=0;a-=1){let c=l(b[a]);if(c.trim().length>0)return{text:c,selectedMessageIndex:a,messageItems:b}}if(b.length>0){let a=b.length-1;return{text:l(b[a]),selectedMessageIndex:a,messageItems:b}}return{text:"",selectedMessageIndex:-1,messageItems:[]}}(d),g=f.text,o="",p=[];for(let a of d){if(!a||"object"!=typeof a)continue;let b=h(a);if("message"===b.type&&Array.isArray(b.content))for(let a of b.content){if(!a||"object"!=typeof a)continue;let b=h(a);"summary_text"===b.type&&"string"==typeof b.text&&(o+=b.text)}else if("reasoning"===b.type&&Array.isArray(b.summary))for(let a of b.summary){let b=h(a);"summary_text"===b.type&&"string"==typeof b.text&&(o+=b.text)}else if("function_call"===b.type){let a=i(b.call_id)||i(b.id)||`call_${Date.now()}_${p.length}`,c=b.arguments;if(null!=c&&"object"==typeof c&&!Array.isArray(c)){let a={...c};for(let[b,c]of Object.entries(a))(""===c||Array.isArray(c)&&0===c.length)&&delete a[b];c=a}let d="string"==typeof c?c:JSON.stringify(c||{}),e=i(b.name),f=m?.get(e)??e;p.push({id:a,type:"function",function:{name:f,arguments:d}})}}let q={role:"assistant"};g&&(q.content=g),o&&(q.reasoning_content=o),p.length>0&&(q.tool_calls=p),void 0===q.content&&(q.content=""),"true"===process.env.DEBUG_RESPONSES_SSE_TO_JSON&&(console.log(`[ResponsesSSE] ${d.length} output items, ${f.messageItems.length} message items`),f.messageItems.forEach((a,b)=>{let c=l(a).length;console.log(` [${b}] text length: ${c}`)}),console.log(` → Selected message index: ${f.selectedMessageIndex}`),console.log(` → Final text content length: ${g.length}`));let r=j(c.created_at,Math.floor(Date.now()/1e3)),s=i(c.model||b.model,"openai-responses"),t=p.length>0?"tool_calls":"stop",u={id:`chatcmpl-${i(c.id,String(Date.now()))}`,object:"chat.completion",created:r,model:s,choices:[{index:0,message:q,finish_reason:t}]};if(Object.keys(e).length>0){let a=j(e.input_tokens,0),b=j(e.output_tokens,0),c=h(e.input_tokens_details),d=h(e.output_tokens_details),f=h(e.prompt_tokens_details),g=h(e.completion_tokens_details),i=k(c.cached_tokens,f.cached_tokens,e.cache_read_input_tokens),l=k(c.cache_creation_tokens,f.cache_creation_tokens,e.cache_creation_input_tokens),m=k(d.reasoning_tokens,g.reasoning_tokens,e.reasoning_tokens);if(u.usage={prompt_tokens:a,completion_tokens:b,total_tokens:a+b},m>0&&(u.usage.completion_tokens_details={reasoning_tokens:m}),i>0||l>0){u.usage.prompt_tokens_details={};let a=u.usage.prompt_tokens_details;i>0&&(a.cached_tokens=i),l>0&&(a.cache_creation_tokens=l)}}n=u}else if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY){let b=h(a),c=h(b.response??b),d=Array.isArray(c.candidates)?c.candidates:[],k=h(c.usageMetadata??b.usageMetadata),l=h(c.promptFeedback??b.promptFeedback);if(d.length>0||Object.keys(l).length>0){let a=Date.parse(i(c.createTime)),b=Number.isFinite(a)?Math.floor(a/1e3):Math.floor(Date.now()/1e3),l=d.length>0?d.map((a,b)=>{let c=h(a),d=h(c.content),j="",k=[],l=[],n="",o="";if(Array.isArray(d.parts))for(let a of d.parts){let b=h(a);if(!0===b.thought&&"string"==typeof b.text){n+=b.text;continue}let c=i(b.thoughtSignature??b.thought_signature);if(c&&(o=c),"string"==typeof b.text){let a=function(a){if("string"!=typeof a)return null;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,"").match(/^[\s\S]*?\[Tool call:\s*([^\]\n]+)\]\s*\nArguments:\s*([\s\S]+?)\s*$/);if(!b)return null;let c=b[1]?.trim(),d=b[2]?.trim();if(!c||!d)return null;try{let a=JSON.parse(d);if("string"==typeof a){let b=a.trim();(b.startsWith("{")||b.startsWith("["))&&(a=JSON.parse(b))}if(a&&"object"==typeof a&&!Array.isArray(a))return{name:c,args:a}}catch{}return null}(b.text);if(a){let b=`call_${i(a.name,"unknown")}_${Date.now()}_${l.length}`;l.push({id:b,type:"function",function:{name:a.name,arguments:JSON.stringify(a.args||{})}})}else(0,g.vE)(b.text)||(j+=b.text,k.push({type:"text",text:b.text}))}let d=h(b.inlineData??b.inline_data);if("string"==typeof d.data&&d.data.length>0){let a=i(d.mimeType??d.mime_type,"image/png");k.push({type:"image_url",image_url:{url:`data:${a};base64,${d.data}`}})}if(b.functionCall){let a=h(b.functionCall),d=i(a.name),f=m?.get(d)??d,g=i(a.id),j=g.length>0?g:`call_${i(f,"unknown")}_${Date.now()}_${l.length}`,k=c||o;if(k){let a=(0,e.q)(null,j);(0,e.Sk)(a,k)}l.push({id:j,type:"function",function:{name:f,arguments:JSON.stringify(function(a){if("string"!=typeof a)return a;let b=a.trim();if(!b||!(b.startsWith("{")||b.startsWith("[")))return a;try{return JSON.parse(b)}catch{return a}}(a.args||{}))}})}}let p={role:"assistant"};1===k.length&&"text"===k[0].type?p.content=k[0].text:k.length>0?p.content=k:j&&(p.content=j),n&&(p.reasoning_content=n),l.length>0&&(p.tool_calls=l),p.content||p.tool_calls||(p.content="");let q=(0,f.U)(i(c.finishReason,"stop"));return"stop"===q&&l.length>0&&(q="tool_calls"),{index:b,message:p,finish_reason:q}}):[{index:0,message:{role:"assistant",content:""},finish_reason:"content_filter"}],o={id:`chatcmpl-${i(c.responseId,String(Date.now()))}`,object:"chat.completion",created:b,model:i(c.modelVersion,"gemini"),choices:l};if(Object.keys(k).length>0){let a=j(k.promptTokenCount,0),b=j(k.thoughtsTokenCount,0);o.usage={prompt_tokens:a,completion_tokens:j(k.candidatesTokenCount,0)+b,total_tokens:j(k.totalTokenCount,0)},b>0&&(o.usage.completion_tokens_details={reasoning_tokens:b}),j(k.cachedContentTokenCount,0)>0&&(o.usage.prompt_tokens_details={cached_tokens:j(k.cachedContentTokenCount,0)})}n=o}}else if(b===d.h.CLAUDE){let b=h(a),c=Array.isArray(b.content)?b.content:[];if(c.length>0){let a="",d="",e=[];for(let b of c){let c=h(b);if("text"===c.type)a+=i(c.text);else if("thinking"===c.type)d+=i(c.thinking);else if("tool_use"===c.type){let a=i(c.name),b=m?.get(a)??a;e.push({id:i(c.id,`call_${Date.now()}_${e.length}`),type:"function",function:{name:b,arguments:JSON.stringify(c.input||{})}})}}let f={role:"assistant"};a&&(f.content=a),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=e),void 0===f.content&&(f.content="");let g=i(b.stop_reason,"stop");"end_turn"===g&&(g="stop"),"tool_use"===g&&(g="tool_calls");let k={id:`chatcmpl-${i(b.id,String(Date.now()))}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:i(b.model,"claude"),choices:[{index:0,message:f,finish_reason:g}]},l=h(b.usage);if(Object.keys(l).length>0){let a=j(l.input_tokens,0),b=j(l.output_tokens,0);k.usage={prompt_tokens:a,completion_tokens:b,total_tokens:a+b}}n=k}}return c===d.h.CLAUDE&&c!==b?function(a){let b=a.choices,c=Array.isArray(b);if(!c&&"chat.completion"!==a.object)return a;let d=c?b[0]:null,e=d?h(d):{},f=e.message?h(e.message):{},g=[],k=!1;if(f.reasoning_content&&(k=!0,g.push({type:"thinking",thinking:i(f.reasoning_content)})),Array.isArray(f.tool_calls)&&f.tool_calls.length,void 0!==f.content&&null!==f.content){k=!0;let a=i(f.content);g.push({type:"text",text:""===a?"(empty response)":a})}else k||g.push({type:"text",text:"(empty response)"});if(Array.isArray(f.tool_calls))for(let a of f.tool_calls){let b=h(a),c=h(b.function);g.push({type:"tool_use",id:i(b.id,`call_${Date.now()}`),name:i(c.name),input:"string"==typeof c.arguments?JSON.parse(c.arguments||"{}"):c.arguments||{}})}let l=i(e.finish_reason,"end_turn");"stop"===l&&(l="end_turn"),"tool_calls"===l&&(l="tool_use");let m=h(a.usage);return{id:i(a.id,`msg_${Date.now()}`),type:"message",role:"assistant",model:i(a.model,"claude"),content:g,stop_reason:l,stop_sequence:null,usage:{input_tokens:j(m.prompt_tokens,0),output_tokens:j(m.completion_tokens,0)}}}(h(n)):n}},71394:(a,b,c)=>{c.d(b,{C:()=>k});var d=c(74350),e=c(56452),f=c(33748);function g(a){return"string"==typeof a.reasoning_content&&a.reasoning_content.trim().length>0}function h(a){return!!a&&"object"==typeof a&&!Array.isArray(a)&&"tool_use"===a.type}function i(a){return!!a&&"object"==typeof a&&!Array.isArray(a)&&("thinking"===a.type||"redacted_thinking"===a.type)}function j(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}class k extends d.L{constructor(a="kimi-coding"){super(a)}transformRequest(a,b,c,d){return function(a){let b,c=(0,e.b)(a,void 0),d=j(c);if(!d||!Array.isArray(d.messages))return c;let k=function(a){if(!(Array.isArray(a.system)||Array.isArray(a.messages)&&a.messages.some(a=>{let b=j(a);return!!b&&!!Array.isArray(b.content)&&b.content.some(a=>{let b=j(a);return b?.type==="text"||b?.type==="tool_use"||b?.type==="tool_result"})})))return a;let b=j(a.thinking)??{type:"enabled"};return null===b.keep?a:{...a,thinking:{...b,keep:null}}}(d);if(!(b=k.thinking)||"object"!=typeof b||Array.isArray(b)||"enabled"!==b.type&&"adaptive"!==b.type)return k;let l=!1,m=(Array.isArray(k.messages)?k.messages:d.messages).map(a=>{let b=j(a);if(!b||"assistant"!==b.role||!(Array.isArray(b.tool_calls)&&b.tool_calls.length>0||Array.isArray(b.content)&&b.content.some(h)))return a;let c=function(a){let b=g(a)?String(a.reasoning_content):f.A_,c=g(a)?a:{...a,reasoning_content:b};if(!Array.isArray(c.content))return c;let d=c.content.findIndex(h);if(d<0||c.content.some(i))return c;let e=[...c.content];return e.splice(d,0,{type:"thinking",thinking:b}),{...c,content:e}}(b);return c!==b&&(l=!0),c});return l?{...k,messages:m}:k}(super.transformRequest(a,b,c,d))}}},72221:(a,b,c)=>{c.d(b,{LW:()=>k,S$:()=>n,Ub:()=>i,mU:()=>o,n:()=>j,r3:()=>l,uQ:()=>m,x2:()=>g});let d=/<tool>\s*([\s\S]*?)\s*<\/tool>/g,e=/<tool_call(?:\s+[^>]*)?\s*>\s*([\s\S]*?)\s*<\/tool_call>/g;function f(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function g(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){let a=f(d),e=f(a?.function),g="string"==typeof e?.name?e.name.trim():"";!g||c.has(g)||(c.add(g),b.push({original:g,normalized:h(g)}))}return b}function h(a){return a.toLowerCase().replace(/[^a-z0-9]/g,"")}function i(a,b){if(0===b.length)return a;let c=null,d=0;for(let e of b){let b=function(a,b){if(a===b.original)return 1;let c=h(a);if(!c||!b.normalized)return 0;if(c===b.normalized)return .98;let d=Math.min(c.length,b.normalized.length),e=Math.max(c.length,b.normalized.length);if(d>=4&&(c.includes(b.normalized)||b.normalized.includes(c)))return .86-(e-d)/Math.max(e,1)/4;let f=1-function(a,b){if(a===b)return 0;if(!a)return b.length;if(!b)return a.length;let c=Array.from({length:b.length+1},(a,b)=>b),d=Array(b.length+1);for(let e=1;e<=a.length;e+=1){d[0]=e;for(let f=1;f<=b.length;f+=1){let g=+(a[e-1]!==b[f-1]);d[f]=Math.min(d[f-1]+1,c[f]+1,c[f-1]+g)}let f=c;c=d,d=f}return c[b.length]}(c,b.normalized)/Math.max(e,1);return f>=.72?f:0}(a,e);!c||b>c.score?(d=c?.score??0,c={name:e.original,score:b}):b>d&&(d=b)}return!c||c.score<.72||c.score<.98&&c.score-d<.08?null:c.name}function j(a){let b=a.trim().replace(/^```(?:json|javascript|js|python)?\s*/i,"").replace(/\s*```$/i,"").trim();for(let a of[b,(function(a){let b="",c=!1,d=!1,e="",f=()=>{"True"===e?b+="true":"False"===e?b+="false":"None"===e?b+="null":b+=e,e=""};for(let g of a){if(d){e&&f(),b+=g,d=!1;continue}if("\\"===g){e&&f(),b+=g,d=c;continue}if('"'===g){e&&f(),c=!c,b+=g;continue}if(!c&&/[A-Za-z]/.test(g)){e+=g;continue}e&&f(),b+=g}return e&&f(),b})(function(a){let b="",c=!1,d=!1,e=!1;for(let f of a){if(e){b+='"'===f&&c?'\\"':f,e=!1;continue}if("\\"===f){b+=f,e=!0;continue}if('"'===f){c?b+='\\"':(d=!d,b+=f);continue}if("'"===f&&!d){c=!c,b+='"';continue}b+=f}return b}(b)).replace(/([{,]\s*)([A-Za-z_][A-Za-z0-9_-]*)(\s*:)/g,'$1"$2"$3').replace(/,\s*([}\]])/g,"$1")])try{return f(JSON.parse(a))}catch{}return null}function k(a,b){let c=a;for(let a of[...b].sort((a,b)=>b.start-a.start)){let b=c.lastIndexOf("\n",a.start-1)+1,d=c.indexOf("\n",a.end),e=-1===d?c.length:d,f=c.slice(b,a.start),g=c.slice(a.end,e),h=""===f.trim()&&""===g.trim(),i=h?b:a.start,j=h&&-1!==d?d+1:h?e:a.end;c=`${c.slice(0,i)}${c.slice(j)}`}return c.replace(/\n{3,}/g,"\n\n").trim()}function l(a){if(void 0===a)return"{}";if("string"==typeof a){let b=j(a);return b?JSON.stringify(b):a}try{return JSON.stringify(a)}catch{return"{}"}}function m(a,b="call",c){let f,h=g(c),n=h.length>0;if("string"!=typeof a||!a.includes("<tool>")&&!a.includes("<tool_call")&&!n)return{content:a??"",toolCalls:null};let o=[],p=[];for(d.lastIndex=0;null!==(f=d.exec(a));){let a={start:f.index,end:d.lastIndex};p.push(a),o.push({raw:f[1].trim(),start:a.start,end:a.end,requireRequestedTool:!1})}for(e.lastIndex=0;null!==(f=e.exec(a));){let a={start:f.index,end:e.lastIndex};p.push(a),o.push({raw:f[1].trim(),start:a.start,end:a.end,requireRequestedTool:!1})}if(n)for(let b of function(a){let b=[],c=-1,d=0,e="",f=!1;for(let g=0;g<a.length;g+=1){let h=a[g];if(0!==d||"{"===h){if(f){f=!1;continue}if(e){"\\"===h?f=!0:h===e&&(e="");continue}if('"'===h||"'"===h){e=h;continue}if("{"===h){0===d&&(c=g),d+=1;continue}if("}"===h&&d>0&&0==(d-=1)&&c>=0){let d=a.slice(c,g+1);/[{,]\s*["']?(name|command)["']?\s*:/i.test(d)&&/[{,]\s*["']?arguments["']?\s*:/i.test(d)&&b.push({raw:d,start:c,end:g+1,requireRequestedTool:!0}),c=-1}}}return b}(a))p.some(a=>a.start<b.end&&b.start<a.end)||o.push(b);o.sort((a,b)=>a.start-b.start);let q=[],r=[];for(let a of o){let c=j(a.raw),d=c&&"string"==typeof c.name?c.name:c&&"string"==typeof c.command?c.command:null;if(!d)continue;let e=i(d,h)||(a.requireRequestedTool?null:d);if(!e||a.requireRequestedTool&&0===h.length)continue;let f=l(c?.arguments);q.push({id:`${b}_${q.length}`,type:"function",function:{name:e,arguments:f}}),r.push({start:a.start,end:a.end})}return 0===q.length?{content:a,toolCalls:null}:{content:k(a,r),toolCalls:q}}function n(a,b){let c=a.tools;if(!(Array.isArray(c)&&c.length>0))return{hasTools:!1,requestedTools:c,effectiveMessages:b};let d=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=[];for(let c of a){let a=c?.function;if(!a?.name)continue;let d="string"==typeof a.description&&a.description?a.description:"",e="";try{e=a.parameters?JSON.stringify(a.parameters):""}catch{e=""}b.push(`- ${a.name}${d?`: ${d}`:""}${e?`
|
|
350
|
-
parameters: ${e}`:""}`)}return 0===b.length?"":["You can call tools. To call a tool, reply with a single line containing a <tool> block",'with JSON: <tool>{"name": "<tool_name>", "arguments": { ... }}</tool>',"Only emit the <tool> block when you actually want to call a tool; otherwise answer normally.","","Available tools:",...b].join("\n")}(c);return{hasTools:!0,requestedTools:c,effectiveMessages:[{role:"system",content:d},...b]}}function o(a,b,c="call"){let{content:d,toolCalls:e}=m(a,`${c}-${Date.now()}`,b);return{content:d,toolCalls:e,finishReason:e?"tool_calls":"stop"}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>n,IF:()=>t,O9:()=>k,OF:()=>s,WL:()=>l,bC:()=>q,f5:()=>o,lm:()=>g,oT:()=>r});var d=c(47370),e=c(78769),f=c(14170);let g={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"},h=null,i=0;async function j(){try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=(await a()).usageTokenBuffer;"number"==typeof b&&b>=0&&(h=b,i=Date.now())}catch{}}function k(a){if(!a||"object"!=typeof a)return a;let b=function(){let a=Date.now(),b=null!==h&&a-i>=3e4;if(null!==h&&!b)return h;let c=process.env.USAGE_TOKEN_BUFFER;if(void 0!==c){let b=parseInt(c,10);if(!isNaN(b)&&b>=0)return h=b,i=a,b}return(null===h||b)&&(null===h&&(h=2e3),i=a,j()),h}();if(0===b)return a;let c={...a};return void 0!==c.input_tokens&&(c.input_tokens+=b),void 0!==c.prompt_tokens&&(c.prompt_tokens+=b),void 0!==c.total_tokens?c.total_tokens+=b:void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens),c}function l(a,b){if(!a||"object"!=typeof a)return a;let c={...a};b===f.h.CLAUDE||b===f.h.OPENAI_RESPONSES?(void 0!==c.prompt_tokens&&void 0===c.input_tokens&&(c.input_tokens=c.prompt_tokens),void 0!==c.completion_tokens&&void 0===c.output_tokens&&(c.output_tokens=c.completion_tokens)):(void 0!==c.input_tokens&&void 0===c.prompt_tokens&&(c.prompt_tokens=c.input_tokens),void 0!==c.output_tokens&&void 0===c.completion_tokens&&(c.completion_tokens=c.output_tokens),void 0===c.total_tokens&&void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens));let d={[f.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[f.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[f.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},e=d[b];b===f.h.ANTIGRAVITY?e=d[f.h.GEMINI]:b===f.h.OPENAI_RESPONSE?e=d[f.h.OPENAI_RESPONSES]:e||(e=d.default);let g={};for(let a of e)void 0!==c[a]&&(g[a]=c[a]);return g}function m(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("input_tokens",a?.input_tokens),c("output_tokens",a?.output_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function n(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function o(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage){let b=a.message.usage,c=b.input_tokens||b.prompt_tokens||0,d=b.cache_read_input_tokens||0,e=b.cache_creation_input_tokens||0;if(c>0||d>0||e>0)return m({prompt_tokens:c+d+e,completion_tokens:b.output_tokens||b.completion_tokens||0,input_tokens:c+d+e,output_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens||0,c=a.usage.cache_read_input_tokens||0,d=a.usage.cache_creation_input_tokens||0;return m({prompt_tokens:b+c+d,completion_tokens:a.usage.output_tokens||0,input_tokens:b+c+d,output_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens})}if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return m({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens??b.prompt_tokens_details?.cached_tokens??b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens??b.completion_tokens_details?.reasoning_tokens??b.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&(void 0!==a.usage.prompt_tokens||void 0!==a.usage.input_tokens))return m({prompt_tokens:a.usage.prompt_tokens??a.usage.input_tokens??0,completion_tokens:a.usage.completion_tokens??a.usage.output_tokens??0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens??a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_cache_hit_tokens??a.usage.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens??a.usage.output_tokens_details?.reasoning_tokens??a.usage.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;if(b&&"object"==typeof b)return m({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount});if(!0===a.done&&"number"==typeof a.prompt_eval_count){let b=a.prompt_eval_count||0,c=a.eval_count||0;return m({prompt_tokens:b,completion_tokens:c,total_tokens:b+c})}return null}function p(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function q(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=p(JSON.stringify(f))}else c=p(JSON.stringify(a));return c+b}catch(a){return 0}}function r(a){return!a||a<=0?0:Math.max(1,Math.ceil(a/3.5))}function s(a,b,c=f.h.OPENAI){var d,e;return d=q(a),e=r(b),c===f.h.CLAUDE?k({input_tokens:d,output_tokens:e,estimated:!0}):k({prompt_tokens:d,completion_tokens:e,total_tokens:d+e,estimated:!0})}function t(a,b,c=null,f=null,h=null){if(!b||"object"!=typeof b)return;let i=a?.toUpperCase()||"UNKNOWN",j=(0,e.jf)(b),k=(0,e.eh)(b),l="string"==typeof f?f:void 0,m=l?l.slice(0,8)+"...":"unknown",n=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${g.green}[USAGE] ${i} | in=${j} | out=${k} | account=${m}${g.reset}`;b.estimated&&(n+=` ${g.yellow}(estimated)${g.reset}`);let o=(0,e.rO)(b);o&&(n+=` | cache_read=${o}`);let p=(0,e.I8)(b);p&&(n+=` | cache_create=${p}`);let q=b.reasoning_tokens;q&&(n+=` | reasoning=${q}`),console.log(n),(0,d.E5)({model:"string"==typeof c?c:void 0,provider:"string"==typeof a?a:void 0,connectionId:l,tokens:{input:j,output:k,cacheRead:o||0,cacheCreation:p||0,reasoning:q||0},status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w0:()=>o});var d=c(89419),e=c(86935),f=c(97510),g=c(61408);let h=new Map,i=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/generative-language.retriever"];function j(a){try{return JSON.parse(a)}catch{throw Error("Vertex AI requires a valid Service Account JSON as the API key")}}function k(a){if(!a||"string"!=typeof a)return!1;try{let b=JSON.parse(a);return!!b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}async function l(a){if(!a.client_email||!a.private_key)throw Error("Service Account JSON is missing required fields (client_email or private_key)");let b=a.client_email,c=h.get(b);if(c&&Date.now()<c.expiresAt-6e4)return c.token;let f=await (0,d.Lf)(a.private_key,"RS256"),g=Math.floor(Date.now()/1e3),j=await new e.P({iss:a.client_email,sub:a.client_email,aud:"https://oauth2.googleapis.com/token",iat:g,exp:g+3600,scope:i.join(" ")}).setProtectedHeader({alg:"RS256",kid:a.private_key_id}).sign(f),k=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();throw Error(`Failed to exchange JWT for Vertex access token: ${k.status} ${a}`)}let l=(await k.json()).access_token;if(!l)throw Error("Vertex AI token exchange succeeded but no access_token found");return h.set(b,{token:l,expiresAt:(g+3600)*1e3}),l}let m=new Set(["claude-3-5-sonnet","claude-3-opus","claude-3-haiku","deepseek-v3","deepseek-v3.2","deepseek-v4","deepseek-deepseek-r1","qwen3-next-80b","qwen3.6-","llama-3.1","mistral-","glm-5","glm-5.1","meta/llama"]);function n(a){let b=a.toLowerCase();return[...m].some(a=>b.startsWith(a))}class o extends f.Hv{constructor(){super("vertex",g.xq.vertex)}async execute(a){let{credentials:b,log:c}=a;if("string"==typeof b.apiKey&&(b.apiKey=b.apiKey.trim()),b.apiKey&&!b.accessToken&&k(b.apiKey))try{let a=j(b.apiKey);b.accessToken=await l(a)}catch(a){throw c?.error?.("VERTEX",`Failed to generate JWT token: ${a.message}`),a}return super.execute(a)}buildUrl(a,b,c=0,d=null){var e;if("string"==typeof(e=d?.apiKey)&&e.trim().length>0&&!k(e)&&!d?.accessToken){let c=encodeURIComponent(String(d.apiKey).trim());return n(a)?`https://aiplatform.googleapis.com/v1/publishers/openapi/chat/completions?key=${c}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse&":"generateContent?"}key=${c}`}let f=d?.providerSpecificData?.region||"us-central1",g="unknown-project";if(d?.apiKey)try{let a=j(d.apiKey);a.project_id&&(g=a.project_id)}catch{}return n(a)?`https://aiplatform.googleapis.com/v1/projects/${g}/locations/global/endpoints/openapi/chat/completions`:`https://aiplatform.googleapis.com/v1/projects/${g}/locations/${f}/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}}},74051:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(98946);class e{constructor(a={}){this.sessions=new Map,this.idleTtlMs=a.idleTtlMs??3e5,this.maxSessions=a.maxSessions??100}acquire(a){this.evictExpired();let b=this.sessions.get(a);if(b&&"awaiting_tool_result"===b.state)return this.clearIdleTimer(b),b.state="running",b.lastActivityTs=Date.now(),b}open(a,b,c,d){let e=this.sessions.get(a);e&&this.close(e);let f={conversationId:a,h2Client:b,h2Req:c,blobStore:d,pendingToolCalls:new Map,state:"running",lastActivityTs:Date.now()};return this.sessions.set(a,f),this.attachCloseHandlers(f),this.enforceMaxSessions(),f}release(a,b){if(a.lastActivityTs=Date.now(),"awaiting_tool_result"===b){a.state="awaiting_tool_result",this.armIdleTimer(a);return}this.close(a)}close(a){if("closed"!==a.state){a.state="closed",this.clearIdleTimer(a);try{a.h2Req.close()}catch{}try{a.h2Client.close()}catch{}a.pendingToolCalls.clear(),this.sessions.delete(a.conversationId)}}sendToolResult(a,b,c,e){let f=a.pendingToolCalls.get(b);if(!f)return!1;try{return a.h2Req.write((0,d.vK)(f.execMsgId,f.execId,c,e)),a.pendingToolCalls.delete(b),a.lastActivityTs=Date.now(),!0}catch{return!1}}evictExpired(){let a=Date.now();for(let b of this.sessions.values())a-b.lastActivityTs>this.idleTtlMs&&this.close(b)}armIdleTimer(a){this.clearIdleTimer(a),a.idleTimer=setTimeout(()=>this.close(a),this.idleTtlMs),a.idleTimer.unref?.()}clearIdleTimer(a){a.idleTimer&&(clearTimeout(a.idleTimer),a.idleTimer=void 0)}attachCloseHandlers(a){let b=()=>this.close(a);a.h2Req.once?.("close",b),a.h2Req.once?.("error",b),a.h2Client.once?.("close",b),a.h2Client.once?.("error",b)}enforceMaxSessions(){if(this.sessions.size<=this.maxSessions)return;let a=Array.from(this.sessions.values()).sort((a,b)=>a.lastActivityTs-b.lastActivityTs)[0];a&&this.close(a)}size(){return this.sessions.size}has(a){return this.sessions.has(a)}}let f=new e},74184:(a,b,c)=>{c.d(b,{As:()=>E});var d=c(4573);let e={browser:null,contexts:new Map,pendingContexts:new Map,launching:null,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function f(){if(e.cloakLaunchResolved)return e.cloakLaunch;e.cloakLaunchResolved=!0;try{e.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{e.cloakLaunch=null}return e.cloakLaunch}function g(){e.idleTimer&&clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{m("idle-timeout")},3e5),e.idleTimer.unref?.()}async function h(a,b){try{let d=b?.resolveProxy??(async a=>{let{resolveProxyForProvider:b}=await c.e(1676).then(c.bind(c,51676));return b(a)}),e=await d(a);if(!e?.host)return;let f="socks5"===e.type?"socks5":"http",g={server:`${f}://${e.host}:${e.port}`};return e.username&&(g.username=String(e.username),g.password=null==e.password?"":String(e.password)),g}catch(a){console.warn("[BrowserPool] Failed to resolve proxy from DB:",a);return}}async function i(){if(e.browser)return e.browser;if(e.launching)return e.launching;e.launching=(async()=>{let a,b=await f();if(b)a=await b({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});else{let{chromium:b}=await Promise.resolve().then(c.bind(c,83237));a=await b.launch({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]})}return e.browser=a,e.launching=null,e.metrics.browserLaunches++,a})();try{return await e.launching}catch(a){throw e.launching=null,e.metrics.browserLaunchFailures++,a}}function j(a,b){b&&e.metrics.contextCreateFailures++,e.pendingContexts.delete(a)}async function k(a,b){let c;if(void 0!==(c=process.env.OMNIROUTE_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: OMNIROUTE_BROWSER_POOL=off — context requested but pool is disabled");let d=e.contexts.get(a);if(d)return d.lastUsed=Date.now(),e.lastActivity=Date.now(),e.metrics.contextsReused++,g(),d;let f=e.pendingContexts.get(a);if(f)return f;let k=(async()=>{let[c,d]=await Promise.all([i(),h(a)]),f=null!==e.cloakLaunch,j=await c.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...d?{proxy:d}:{}});if(b.cookieString){var k,l;let a=(k=b.cookieString,l=b.cookieDomain,k.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),d=a.slice(b+1).trim();return c&&d?{name:c,value:d,domain:l.startsWith(".")?l:`.${l}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));a.length>0&&await j.addCookies(a)}let n=null;if(b.warmupUrl)try{n=await j.newPage(),await n.goto(b.warmupUrl,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500))}catch(a){try{await n?.close()}catch{}n=null}if(e.browser!==c)throw await j.close().catch(()=>{}),n&&await n.close().catch(()=>{}),Error("Pool shut down during context creation");let o={id:a,context:j,warmupPage:n,lastUsed:Date.now(),isStealth:f};return e.contexts.set(a,o),e.metrics.contextsCreated++,e.lastActivity=Date.now(),g(),e.evictTimer&&clearInterval(e.evictTimer),e.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of e.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context:",b,"(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),e.contexts.delete(b),e.metrics.contextsEvicted++,c.context.close().catch(()=>{}));0!==e.contexts.size||e.launching||m("all-contexts-evicted")})(),6e4),e.evictTimer.unref?.(),o})();return e.pendingContexts.set(a,k),k.then(()=>j(a,!1)).catch(()=>j(a,!0)),k}async function l(a){return a.context.newPage()}async function m(a){for(let[b,c]of(e.metrics.shutdowns++,e.metrics.lastShutdownReason=a,e.idleTimer&&(clearTimeout(e.idleTimer),e.idleTimer=null),e.evictTimer&&(clearInterval(e.evictTimer),e.evictTimer=null),e.pendingContexts.clear(),e.contexts)){try{await c.context.close()}catch{}e.contexts.delete(b)}if(e.browser){try{await e.browser.close()}catch{}e.browser=null}e.lastActivity=Date.now()}async function n(a){let b={};for(let[c,d]of Object.entries(a.headers()))b[c]=d;let c=await a.body();return{status:a.status(),headers:b,body:d.Buffer.from(c)}}var o=c(58643),p=c(43659);let q=new Map;function r(a){let b=q.get(a);return b&&Date.now()<b.expiresAt?b.cookieString:(q.delete(a),null)}function s(a,b,c){q.set(a,{cookieString:b,expiresAt:Date.now()+(c??3e5),domain:a})}let t=new Map;function u(a,b){return new Promise((c,d)=>{if(b?.aborted)return d(new DOMException("Aborted","AbortError"));let e=()=>{clearTimeout(f),d(new DOMException("Aborted","AbortError"))},f=setTimeout(()=>{b?.removeEventListener("abort",e),c()},a);b?.addEventListener("abort",e,{once:!0})}).catch(a=>{if(a instanceof DOMException&&"AbortError"===a.name)throw a})}async function v(a,b){return b?{key:a,acquired:!0}:{key:`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,acquired:!1}}async function w(a){let b=Date.now(),{poolKey:c,chatUrl:e,chatPageUrl:f,userMessage:g,cookieString:h,cookieDomain:i,chatUrlMatchDomain:j,userAgent:m,locale:o,timezone:q,inputSelector:r,submitButtonSelector:s,postSubmitWaitMs:t=15e3,signal:w,reuseContext:x=!0}=a,{key:y,acquired:z}=await v(c,x),A=Date.now(),B=await k(y,{cookieDomain:i||j,cookieString:h||null,warmupUrl:f,userAgent:m,locale:o,timezone:q}),C=Date.now()-A,D=await l(B);try{let a,c=Date.now();await D.goto(f,{waitUntil:"domcontentloaded",timeout:6e4,signal:w??void 0}),await u(2500,w);let h=Date.now()-c,i=D.locator(r).first();await i.waitFor({state:"visible",timeout:1e4,signal:w??void 0}),await i.fill(g),await u(800,w),Date.now();let k=D.waitForResponse(a=>"POST"===a.request().method()&&function(a,b,c){let d,e;if(a===c)return!0;try{d=new URL(a),e=new URL(c)}catch{return!1}if(!d.host.endsWith(b))return!1;let f=e.pathname.split("/").filter(Boolean),g=d.pathname.split("/").filter(Boolean);if(f.length<2||g.length!==f.length)return!1;let h=1;for(let a=0;a<f.length;a++)if(f[a]!==g[a]){if("PLACEHOLDER"===f[a]&&h>0){h--;continue}return!1}return!0}(a.url(),j,e),{timeout:3e4}),l=w?new Promise((b,c)=>{if(w.aborted)return c(new DOMException("Aborted","AbortError"));a=()=>c(new DOMException("Aborted","AbortError")),w.addEventListener("abort",a,{once:!0})}):null;if(s){let a=D.locator(s).first();if(await a.count()>0)try{await a.click({timeout:2e3})}catch{await D.keyboard.press("Enter")}else await D.keyboard.press("Enter")}else await D.keyboard.press("Enter");let m=Date.now(),o=l?await Promise.race([k,l]).catch(()=>null):await k.catch(()=>null);w&&a&&w.removeEventListener("abort",a),o?await u(Math.min(t,3e4),w):await u(t,w);let p=Date.now()-m,q=0,v=null,x=d.Buffer.alloc(0);if(o){let a=await n(o);a.body.length>0xa00000?(x=d.Buffer.from(JSON.stringify({error:{message:"Response too large",type:"upstream_error"}})),q=502,v="application/json"):(q=a.status,v=a.headers["content-type"]||null,x=a.body)}return{status:q,contentType:v,body:x,isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:h,submitMs:p,captureResponseMs:p,totalMs:Date.now()-b}}}catch(c){let a=c instanceof Error?c.message:String(c);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`browserBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-b}}}finally{if(await D.close(),!z)try{await B.context.close()}catch{}}}async function x(a){let b,c=Date.now(),{chatUrl:e,userMessage:f,cookieString:g,cookieDomain:h,chatUrlMatchDomain:i,signal:j}=a,k={"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",Accept:"text/event-stream, application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Content-Type":"application/json",Origin:"duckduckgo.com"===i?"https://duckduckgo.com":`https://${i}`,Referer:"duckduckgo.com"===i?"https://duckduckgo.com/":`https://${i}/`,"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","Sec-Ch-Ua":'"Chromium";v="149", "Google Chrome";v="149", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Priority:"u=1, i"};g&&(k.Cookie=g),b=new URL(e).hostname.includes("duckduckgo")?JSON.stringify({model:"gpt-4o-mini",messages:[{role:"user",content:f}]}):JSON.stringify({messages:[{role:"user",content:f}]});try{let a=Date.now();if(!o.A.available)return{status:501,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"httpBackedChat unavailable: wreq-js (TLS client) not installed",type:"configuration_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:Date.now()-c,captureResponseMs:0,totalMs:Date.now()-c}};let f=await o.A.fetch(e,{method:"POST",headers:k,body:b,signal:j??void 0}),g=Date.now()-a,h=f.headers.get("content-length");if(h&&parseInt(h,10)>0xa00000)throw Error("Response too large");let i=d.Buffer.from(await f.text()),l=f.status,m=f.headers.get("content-type")||"text/event-stream";return{status:l,contentType:m,body:i,isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:g,captureResponseMs:0,totalMs:Date.now()-c}}}catch(b){if(b instanceof DOMException&&"AbortError"===b.name)throw b;let a=b instanceof Error?b.message:String(b);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`httpBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-c}}}}async function y(a,b,c){let d=Date.now()+5e3;for(;Date.now()<d;){if(c?.aborted)throw new DOMException("Aborted","AbortError");let e=(await a.cookies(b)).map(a=>`${a.name}=${a.value}`).join("; ");if(e)return e;let f=d-Date.now();if(f<=0)break;await u(Math.min(500,f),c)}return null}async function z(a,b,c,d){let e=await l(a);try{return await e.goto(b,{waitUntil:"domcontentloaded",timeout:6e4,signal:d??void 0}),await y(a.context,c,d)}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return null}finally{await e.close().catch(()=>{})}}async function A(a,b,c,d){let e=r(c);if(e)return e;let f=t.get(a);if(f)return f;let g=B(a,b,c,d);return t.set(a,g),g.finally(()=>t.delete(a)),g}async function B(a,b,c,d){let e,{key:f}=await v(a,!0);try{e=await k(f,{cookieDomain:c,cookieString:null,warmupUrl:b})}catch{return null}let g=await z(e,b,c,d);return g&&s(c,g),g}async function C(a){if(!a.cookieDomain)return null;let b=process.env.OMNIROUTE_BROWSER_POOL;if("off"===b||"0"===b||"false"===b)return null;try{let{key:b}=await v(a.poolKey,!0);return await k(b,{cookieDomain:a.cookieDomain,cookieString:null})}catch{return null}}async function D(a,b,c,d,e){if(e)try{let a=await e;if(a){let e=await z(a,b,c,d);if(e)return s(c,e),e}}catch{}return A(a,b,c,d)}async function E(a){let b=a.signal?null:new AbortController,c=a.signal??b?.signal??null;b&&setTimeout(()=>b.abort(),45e3);let e=C(a);try{var f;let b=await x({...a,signal:c??void 0});if(b.status>=200&&b.status<300||!((f=b.status)>=400&&501!==f))return b;let d=null;if(a.cookieDomain){if(d=r(a.cookieDomain)){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b;d=null}if(!d&&(d=await D(a.poolKey,a.chatPageUrl,a.cookieDomain,c,e))){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b}}let g=d?{...a,cookieString:d,signal:c??void 0}:{...a,signal:c??void 0},h=await w(g);return h.status>=200&&h.status,h}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return{status:504,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"tryBackedChat timed out",type:"timeout_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:0}};throw a}}},74199:(a,b,c)=>{c.d(b,{R:()=>d});let d=()=>!1},74350:(a,b,c)=>{c.d(b,{L:()=>I});var d=c(97510),e=c(61408),f=c(8590),g=c(89625),h=c(55511);let i=new Map,j=new Map;async function k(a={}){let b=(a.credentials||"").trim();if(!b)throw Error("Missing GigaChat credentials");let c=(a.authUrl||"https://ngw.devices.sberbank.ru:9443/api/v2/oauth").trim(),d=(a.scope||"GIGACHAT_API_PERS").trim(),e=`${c}::${d}::${b}`,f=i.get(e);if(function(a){if(!a?.accessToken||!a?.expiresAt)return!1;let b=new Date(a.expiresAt).getTime();return Number.isFinite(b)&&b-Date.now()>6e4}(f))return f;let g=j.get(e);if(g)return g;let l=(async()=>{let f=await fetch(c,{method:"POST",headers:{Authorization:`Basic ${b}`,RqUID:(0,h.randomUUID)(),"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({scope:d}).toString(),signal:a.signal});if(!f.ok){let a=await f.text();throw Error(`GigaChat token request failed: ${f.status} ${a}`.trim())}let g=await f.json(),j="string"==typeof g.tok?g.tok:"string"==typeof g.access_token?g.access_token:"";if(!j)throw Error("GigaChat token response missing access token");let k={accessToken:j,expiresAt:function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isFinite(b))return new Date(b).toISOString();let c=Date.parse(a);if(Number.isFinite(c))return new Date(c).toISOString()}return new Date(Date.now()+18e5).toISOString()}(g.exp??g.expires_at)};return i.set(e,k),k})();j.set(e,l);try{return await l}finally{j.delete(e)}}var l=c(36081),m=c(57247),n=c(93462),o=c(56452),p=c(78340),q=c(57647),r=c(57441),s=c(9427);let t="/api/v2",u="/genai/llmgw/chat/completions/",v="https://app.datarobot.com",w="https://example-resource.services.ai.azure.com/openai/v1",x="https://ca-tor.ml.cloud.ibm.com/ml/gateway/v1",y="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",z="https://example-aicore.cfapps.eu10.hana.ondemand.com/v2/lm/deployments/example-deployment";var A=c(74361),B=c(40615);let C=()=>!1;var D=c(96303),E=c(4928),F=c(13568);function G(a,b){let c=null;if(b&&"object"==typeof b&&!Array.isArray(b))c=b;else if("string"==typeof b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&(c=a)}catch{}if(c)for(let[b,d]of Object.entries(c)){if("string"!=typeof b||"string"!=typeof d||C(b)||/[\r\n\0]/.test(b)||/[\r\n]/.test(d))continue;let c=b.toLowerCase();for(let b of Object.keys(a))b.toLowerCase()===c&&delete a[b];a[b]=d}}function H(a){let b=(0,s.q)(a);return b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/chat")?b:b.endsWith("/v1")?`${b}/chat/completions`:`${b}/v1/chat/completions`}class I extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai);const b=(0,l.qs)(a);b?.poolConfig&&(this.poolConfig=b.poolConfig)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=d?.providerSpecificData,b=(a?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if(c)return`${b}${c}`;let e=a?._omnirouteForceResponsesUpstream===!0||"responses"===(0,q.J9)(this.provider,a)?"/responses":"/chat/completions";return`${b}${e}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=d?.providerSpecificData,b=a?.baseUrl||"https://api.anthropic.com/v1",c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if((0,q.GK)(this.provider))return(0,g.tI)(b,c||g.np);let e=b.replace(/\/$/,"");return`${e}${c||"/messages"}`}switch(this.provider){case"openai":{let b="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,c=b?H(b):this.config.baseUrl;if("openai-responses"===(0,m.ux)("openai",a))return c.replace(/\/chat\/completions\/?$/,"/responses");return c}case"bailian-coding-plan":{let a;return h=this.resolveBaseUrl(d),(a=(0,s.q)(h).replace(/\?beta=true$/,"")).endsWith("/messages")?a:`${a}/messages`}case"heroku":case"databricks":case"snowflake":case"gigachat":return void this.resolveBaseUrl(d);case"datarobot":{let a;var e,f,h,i=this.resolveBaseUrl(d);return(a=(0,s.q)(i||v)||v).endsWith("/chat/completions")?a:/\/api\/v2\/deployments\/[^/]+$/i.test(a)?`${a}/chat/completions`:/\/api\/v2\/genai\/llmgw$/i.test(a)?`${a}/chat/completions/`:/\/api\/v2\/genai\/llmgw\/chat$/i.test(a)?`${a}/completions/`:a.includes(t)?`${a}${u}`:`${a}${t}${u}`}case"azure-ai":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){let c=function(a){let b=(0,s.q)(a||w);if(!b)return w;if(b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/models"))return b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(b.endsWith("/openai/v1")||b.endsWith("/v1"))return b;if(b.endsWith("/openai"))return`${b}/v1`;let c=new URL(b);return(c.hostname.endsWith(".services.ai.azure.com")||c.hostname.endsWith(".openai.azure.com"))&&(!c.pathname||"/"===c.pathname)?(c.pathname="/openai/v1",(0,s.o)(c.toString())):b}(a);return`${c}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"watsonx":return e=this.resolveBaseUrl(d),`${function(a){let b=(0,s.q)(a||x);if(!b)return x;let c=b.replace(/\/(?:chat\/completions|completions|embeddings|models)$/i,"");if(c.endsWith("/ml/gateway/v1"))return c;if(c.endsWith("/ml/gateway"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/ml/gateway")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/ml/gateway/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(e)}/chat/completions`;case"oci":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){return`${function(a){let b=(0,s.q)(a||y);if(!b)return y;let c=b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(c.endsWith("/openai/v1"))return c;if(c.endsWith("/openai"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/openai")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/openai/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(a)}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"sap":{let a;return(a=function(a){let b=(0,s.q)(a||z);if(!b)return z;var c=b.replace(/\/chat\/completions$/i,"");try{let a=new URL(c);return a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(this.resolveBaseUrl(d))).endsWith("/chat/completions")?a:`${a}/chat/completions`}case"xiaomi-mimo":{let a;return f=this.resolveBaseUrl(d),a=(0,s.q)(f).replace(/\/chat\/completions$/,""),`${a}/chat/completions`}case"maritalk":{let a=this.resolveBaseUrl(d);return(0,A.$D)(a)}case"siliconflow":return H(this.resolveBaseUrl(d));case"ollama-local":case"llama-cpp":case"lm-studio":case"modal":case"reka":case"vllm":case"lemonade":case"llamafile":case"triton":case"docker-model-runner":case"xinference":case"oobabooga":{let a=B.HP[this.provider]?.localDefault;return H(d?.providerSpecificData?.baseUrl||a||this.config.baseUrl)}case"zai":case"glm-coding-apikey":{let a=this.resolveBaseUrl(d);return`${a}?beta=true`}case"claude":case"glm":case"glmt":case"kimi-coding":case"minimax":case"minimax-cn":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;case"qwen":{let a=d?.providerSpecificData?.resourceUrl;return`https://${a||"portal.qwen.ai"}/v1/chat/completions`}default:{let a="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,b=!this.config.format||"openai"===this.config.format;if(a&&b)return H(a);let c=this.config.baseUrl,e=(0,l.qs)(this.provider);return e?.urlSuffix?`${c}${e.urlSuffix}`:c}}}buildHeaders(a,b=!0,c){let{headers:d,effectiveKey:e}=this.buildHeadersPreamble(a,b);switch(this.provider){case"gemini":e?d["x-goog-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"snowflake":{let b=e||a.accessToken||"",c=b.startsWith("pat/");d.Authorization=`Bearer ${c?b.slice(4):b}`,d["X-Snowflake-Authorization-Token-Type"]=c?"PROGRAMMATIC_ACCESS_TOKEN":"KEYPAIR_JWT";break}case"gigachat":d.Authorization=`Bearer ${a.accessToken||e}`;break;case"clarifai":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"azure-ai":(e||a.accessToken)&&(d["api-key"]=e||a.accessToken),delete d.Authorization;break;case"oci":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`);let c=a.projectId||a?.providerSpecificData?.projectId||a?.providerSpecificData?.project;c&&(d["OpenAI-Project"]=c);break}case"sap":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`),d["AI-Resource-Group"]=function(a,b="default"){for(let b of[a?.resourceGroup,a?.aiResourceGroup,a?.resource_group])if("string"==typeof b&&b.trim())return b.trim();return b}(a?.providerSpecificData);break}case"reka":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`,d["X-Api-Key"]=b);break}case"maritalk":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"claude":case"anthropic":e?d["x-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"glm":case"glmt":case"kimi-coding":case"bailian-coding-plan":case"kimi-coding-apikey":case"zai":case"glm-coding-apikey":d["x-api-key"]=e||a.accessToken;break;case"cline":Object.assign(d,(0,E.w)(e||a.accessToken));break;default:if((0,q.GK)(this.provider)){let c=(0,D.RG)(a?.providerSpecificData),d=(0,g.mu)(e||a.accessToken||"",b,a?.providerSpecificData?.ccSessionId,{redactThinking:!0===c.redactThinking});return G(d,a.providerSpecificData?.customHeaders),d}if(this.provider?.startsWith?.("anthropic-compatible-"))e?d["x-api-key"]=e:a.accessToken&&(d.Authorization=`Bearer ${a.accessToken}`),e&&!d.Authorization&&!function(a){if(!a)return!0;let b=null;try{b=new URL(a).hostname}catch{try{b=new URL(`https://${a}`).hostname}catch{return!1}}return"api.anthropic.com"===b}(a?.providerSpecificData?.baseUrl||"")&&(d.Authorization=`Bearer ${e}`),Object.keys(d).some(a=>"anthropic-version"===a.toLowerCase())||(d["anthropic-version"]="2023-06-01");else{let b=(0,l.qs)(this.provider),c=b?.authHeader||"bearer",f=e||a.accessToken||b?.anonymousApiKey;f&&("x-api-key"===c?d["x-api-key"]=f:"x-goog-api-key"===c?d["x-goog-api-key"]=f:d.Authorization=`Bearer ${f}`)}}if(d.Accept=b?"text/event-stream":"application/json","qwen"===this.provider&&e)for(let a of Object.keys(d))a.toLowerCase().startsWith("x-dashscope-")&&delete d[a];if((this.provider?.startsWith?.("openai-compatible-")||this.provider?.startsWith?.("anthropic-compatible-"))&&G(d,a.providerSpecificData?.customHeaders),c){(0,F.G)(d,c);let a=c["anthropic-beta"]??c["Anthropic-Beta"]??null,b=Object.keys(d).find(a=>"anthropic-beta"===a.toLowerCase());b&&a&&(d[b]=(0,n.S9)(d[b],a))}return(0,n.Xs)(d),d}applyJsonSchemaFallback(a){if(!this.provider?.startsWith?.("openai-compatible-")||!a||"object"!=typeof a||Array.isArray(a))return a;let b=a.response_format;if(b?.type!=="json_schema"||!b.json_schema?.schema)return a;let c=JSON.stringify(b.json_schema.schema,null,2),d=`You must respond with valid JSON that strictly follows this JSON schema:
|
|
354
|
+
parameters: ${e}`:""}`)}return 0===b.length?"":["You can call tools. To call a tool, reply with a single line containing a <tool> block",'with JSON: <tool>{"name": "<tool_name>", "arguments": { ... }}</tool>',"Only emit the <tool> block when you actually want to call a tool; otherwise answer normally.","","Available tools:",...b].join("\n")}(c);return{hasTools:!0,requestedTools:c,effectiveMessages:[{role:"system",content:d},...b]}}function o(a,b,c="call"){let{content:d,toolCalls:e}=m(a,`${c}-${Date.now()}`,b);return{content:d,toolCalls:e,finishReason:e?"tool_calls":"stop"}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>n,IF:()=>t,O9:()=>k,OF:()=>s,WL:()=>l,bC:()=>q,f5:()=>o,lm:()=>g,oT:()=>r});var d=c(47370),e=c(78769),f=c(14170);let g={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"},h=null,i=0;async function j(){try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=(await a()).usageTokenBuffer;"number"==typeof b&&b>=0&&(h=b,i=Date.now())}catch{}}function k(a){if(!a||"object"!=typeof a)return a;let b=function(){let a=Date.now(),b=null!==h&&a-i>=3e4;if(null!==h&&!b)return h;let c=process.env.USAGE_TOKEN_BUFFER;if(void 0!==c){let b=parseInt(c,10);if(!isNaN(b)&&b>=0)return h=b,i=a,b}return(null===h||b)&&(null===h&&(h=2e3),i=a,j()),h}();if(0===b)return a;let c={...a};return void 0!==c.input_tokens&&(c.input_tokens+=b),void 0!==c.prompt_tokens&&(c.prompt_tokens+=b),void 0!==c.total_tokens?c.total_tokens+=b:void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens),c}function l(a,b){if(!a||"object"!=typeof a)return a;let c={...a};b===f.h.CLAUDE||b===f.h.OPENAI_RESPONSES?(void 0!==c.prompt_tokens&&void 0===c.input_tokens&&(c.input_tokens=c.prompt_tokens),void 0!==c.completion_tokens&&void 0===c.output_tokens&&(c.output_tokens=c.completion_tokens)):(void 0!==c.input_tokens&&void 0===c.prompt_tokens&&(c.prompt_tokens=c.input_tokens),void 0!==c.output_tokens&&void 0===c.completion_tokens&&(c.completion_tokens=c.output_tokens),void 0===c.total_tokens&&void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens));let d={[f.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[f.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[f.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},e=d[b];b===f.h.ANTIGRAVITY?e=d[f.h.GEMINI]:b===f.h.OPENAI_RESPONSE?e=d[f.h.OPENAI_RESPONSES]:e||(e=d.default);let g={};for(let a of e)void 0!==c[a]&&(g[a]=c[a]);return g}function m(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("input_tokens",a?.input_tokens),c("output_tokens",a?.output_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function n(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function o(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage){let b=a.message.usage,c=b.input_tokens||b.prompt_tokens||0,d=b.cache_read_input_tokens||0,e=b.cache_creation_input_tokens||0;if(c>0||d>0||e>0)return m({prompt_tokens:c+d+e,completion_tokens:b.output_tokens||b.completion_tokens||0,input_tokens:c+d+e,output_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens||0,c=a.usage.cache_read_input_tokens||0,d=a.usage.cache_creation_input_tokens||0;return m({prompt_tokens:b+c+d,completion_tokens:a.usage.output_tokens||0,input_tokens:b+c+d,output_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens})}if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return m({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens??b.prompt_tokens_details?.cached_tokens??b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens??b.completion_tokens_details?.reasoning_tokens??b.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&(void 0!==a.usage.prompt_tokens||void 0!==a.usage.input_tokens))return m({prompt_tokens:a.usage.prompt_tokens??a.usage.input_tokens??0,completion_tokens:a.usage.completion_tokens??a.usage.output_tokens??0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens??a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_cache_hit_tokens??a.usage.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens??a.usage.output_tokens_details?.reasoning_tokens??a.usage.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;if(b&&"object"==typeof b)return m({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount});if(!0===a.done&&"number"==typeof a.prompt_eval_count){let b=a.prompt_eval_count||0,c=a.eval_count||0;return m({prompt_tokens:b,completion_tokens:c,total_tokens:b+c})}return null}function p(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function q(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=p(JSON.stringify(f))}else c=p(JSON.stringify(a));return c+b}catch(a){return 0}}function r(a){return!a||a<=0?0:Math.max(1,Math.ceil(a/3.5))}function s(a,b,c=f.h.OPENAI){var d,e;return d=q(a),e=r(b),c===f.h.CLAUDE?k({input_tokens:d,output_tokens:e,estimated:!0}):k({prompt_tokens:d,completion_tokens:e,total_tokens:d+e,estimated:!0})}function t(a,b,c=null,f=null,h=null){if(!b||"object"!=typeof b)return;let i=a?.toUpperCase()||"UNKNOWN",j=(0,e.jf)(b),k=(0,e.eh)(b),l="string"==typeof f?f:void 0,m=l?l.slice(0,8)+"...":"unknown",n=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${g.green}[USAGE] ${i} | in=${j} | out=${k} | account=${m}${g.reset}`;b.estimated&&(n+=` ${g.yellow}(estimated)${g.reset}`);let o=(0,e.rO)(b);o&&(n+=` | cache_read=${o}`);let p=(0,e.I8)(b);p&&(n+=` | cache_create=${p}`);let q=b.reasoning_tokens;q&&(n+=` | reasoning=${q}`),console.log(n),(0,d.E5)({model:"string"==typeof c?c:void 0,provider:"string"==typeof a?a:void 0,connectionId:l,tokens:{input:j,output:k,cacheRead:o||0,cacheCreation:p||0,reasoning:q||0},status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w0:()=>o});var d=c(89419),e=c(86935),f=c(97510),g=c(61408);let h=new Map,i=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/generative-language.retriever"];function j(a){try{return JSON.parse(a)}catch{throw Error("Vertex AI requires a valid Service Account JSON as the API key")}}function k(a){if(!a||"string"!=typeof a)return!1;try{let b=JSON.parse(a);return!!b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}async function l(a){if(!a.client_email||!a.private_key)throw Error("Service Account JSON is missing required fields (client_email or private_key)");let b=a.client_email,c=h.get(b);if(c&&Date.now()<c.expiresAt-6e4)return c.token;let f=await (0,d.Lf)(a.private_key,"RS256"),g=Math.floor(Date.now()/1e3),j=await new e.P({iss:a.client_email,sub:a.client_email,aud:"https://oauth2.googleapis.com/token",iat:g,exp:g+3600,scope:i.join(" ")}).setProtectedHeader({alg:"RS256",kid:a.private_key_id}).sign(f),k=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();throw Error(`Failed to exchange JWT for Vertex access token: ${k.status} ${a}`)}let l=(await k.json()).access_token;if(!l)throw Error("Vertex AI token exchange succeeded but no access_token found");return h.set(b,{token:l,expiresAt:(g+3600)*1e3}),l}let m=new Set(["claude-3-5-sonnet","claude-3-opus","claude-3-haiku","deepseek-v3","deepseek-v3.2","deepseek-v4","deepseek-deepseek-r1","qwen3-next-80b","qwen3.6-","llama-3.1","mistral-","glm-5","glm-5.1","meta/llama"]);function n(a){let b=a.toLowerCase();return[...m].some(a=>b.startsWith(a))}class o extends f.Hv{constructor(){super("vertex",g.xq.vertex)}async execute(a){let{credentials:b,log:c}=a;if("string"==typeof b.apiKey&&(b.apiKey=b.apiKey.trim()),b.apiKey&&!b.accessToken&&k(b.apiKey))try{let a=j(b.apiKey);b.accessToken=await l(a)}catch(a){throw c?.error?.("VERTEX",`Failed to generate JWT token: ${a.message}`),a}return super.execute(a)}buildUrl(a,b,c=0,d=null){var e;if("string"==typeof(e=d?.apiKey)&&e.trim().length>0&&!k(e)&&!d?.accessToken){let c=encodeURIComponent(String(d.apiKey).trim());return n(a)?`https://aiplatform.googleapis.com/v1/publishers/openapi/chat/completions?key=${c}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse&":"generateContent?"}key=${c}`}let f=d?.providerSpecificData?.region||"us-central1",g="unknown-project";if(d?.apiKey)try{let a=j(d.apiKey);a.project_id&&(g=a.project_id)}catch{}return n(a)?`https://aiplatform.googleapis.com/v1/projects/${g}/locations/global/endpoints/openapi/chat/completions`:`https://aiplatform.googleapis.com/v1/projects/${g}/locations/${f}/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}}},74184:(a,b,c)=>{c.d(b,{As:()=>E});var d=c(4573);let e={browser:null,contexts:new Map,pendingContexts:new Map,launching:null,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function f(){if(e.cloakLaunchResolved)return e.cloakLaunch;e.cloakLaunchResolved=!0;try{e.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{e.cloakLaunch=null}return e.cloakLaunch}function g(){e.idleTimer&&clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{m("idle-timeout")},3e5),e.idleTimer.unref?.()}async function h(a,b){try{let d=b?.resolveProxy??(async a=>{let{resolveProxyForProvider:b}=await c.e(1676).then(c.bind(c,51676));return b(a)}),e=await d(a);if(!e?.host)return;let f="socks5"===e.type?"socks5":"http",g={server:`${f}://${e.host}:${e.port}`};return e.username&&(g.username=String(e.username),g.password=null==e.password?"":String(e.password)),g}catch(a){console.warn("[BrowserPool] Failed to resolve proxy from DB:",a);return}}async function i(){if(e.browser)return e.browser;if(e.launching)return e.launching;e.launching=(async()=>{let a,b=await f();if(b)a=await b({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});else{let{chromium:b}=await Promise.resolve().then(c.bind(c,83237));a=await b.launch({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]})}return e.browser=a,e.launching=null,e.metrics.browserLaunches++,a})();try{return await e.launching}catch(a){throw e.launching=null,e.metrics.browserLaunchFailures++,a}}function j(a,b){b&&e.metrics.contextCreateFailures++,e.pendingContexts.delete(a)}async function k(a,b){let c;if(void 0!==(c=process.env.OMNIROUTE_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: OMNIROUTE_BROWSER_POOL=off — context requested but pool is disabled");let d=e.contexts.get(a);if(d)return d.lastUsed=Date.now(),e.lastActivity=Date.now(),e.metrics.contextsReused++,g(),d;let f=e.pendingContexts.get(a);if(f)return f;let k=(async()=>{let[c,d]=await Promise.all([i(),h(a)]),f=null!==e.cloakLaunch,j=await c.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...d?{proxy:d}:{}});if(b.cookieString){var k,l;let a=(k=b.cookieString,l=b.cookieDomain,k.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),d=a.slice(b+1).trim();return c&&d?{name:c,value:d,domain:l.startsWith(".")?l:`.${l}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));a.length>0&&await j.addCookies(a)}let n=null;if(b.warmupUrl)try{n=await j.newPage(),await n.goto(b.warmupUrl,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500))}catch(a){try{await n?.close()}catch{}n=null}if(e.browser!==c)throw await j.close().catch(()=>{}),n&&await n.close().catch(()=>{}),Error("Pool shut down during context creation");let o={id:a,context:j,warmupPage:n,lastUsed:Date.now(),isStealth:f};return e.contexts.set(a,o),e.metrics.contextsCreated++,e.lastActivity=Date.now(),g(),e.evictTimer&&clearInterval(e.evictTimer),e.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of e.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context:",b,"(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),e.contexts.delete(b),e.metrics.contextsEvicted++,c.context.close().catch(()=>{}));0!==e.contexts.size||e.launching||m("all-contexts-evicted")})(),6e4),e.evictTimer.unref?.(),o})();return e.pendingContexts.set(a,k),k.then(()=>j(a,!1)).catch(()=>j(a,!0)),k}async function l(a){return a.context.newPage()}async function m(a){for(let[b,c]of(e.metrics.shutdowns++,e.metrics.lastShutdownReason=a,e.idleTimer&&(clearTimeout(e.idleTimer),e.idleTimer=null),e.evictTimer&&(clearInterval(e.evictTimer),e.evictTimer=null),e.pendingContexts.clear(),e.contexts)){try{await c.context.close()}catch{}e.contexts.delete(b)}if(e.browser){try{await e.browser.close()}catch{}e.browser=null}e.lastActivity=Date.now()}async function n(a){let b={};for(let[c,d]of Object.entries(a.headers()))b[c]=d;let c=await a.body();return{status:a.status(),headers:b,body:d.Buffer.from(c)}}var o=c(58643),p=c(43659);let q=new Map;function r(a){let b=q.get(a);return b&&Date.now()<b.expiresAt?b.cookieString:(q.delete(a),null)}function s(a,b,c){q.set(a,{cookieString:b,expiresAt:Date.now()+(c??3e5),domain:a})}let t=new Map;function u(a,b){return new Promise((c,d)=>{if(b?.aborted)return d(new DOMException("Aborted","AbortError"));let e=()=>{clearTimeout(f),d(new DOMException("Aborted","AbortError"))},f=setTimeout(()=>{b?.removeEventListener("abort",e),c()},a);b?.addEventListener("abort",e,{once:!0})}).catch(a=>{if(a instanceof DOMException&&"AbortError"===a.name)throw a})}async function v(a,b){return b?{key:a,acquired:!0}:{key:`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,acquired:!1}}async function w(a){let b=Date.now(),{poolKey:c,chatUrl:e,chatPageUrl:f,userMessage:g,cookieString:h,cookieDomain:i,chatUrlMatchDomain:j,userAgent:m,locale:o,timezone:q,inputSelector:r,submitButtonSelector:s,postSubmitWaitMs:t=15e3,signal:w,reuseContext:x=!0}=a,{key:y,acquired:z}=await v(c,x),A=Date.now(),B=await k(y,{cookieDomain:i||j,cookieString:h||null,warmupUrl:f,userAgent:m,locale:o,timezone:q}),C=Date.now()-A,D=await l(B);try{let a,c=Date.now();await D.goto(f,{waitUntil:"domcontentloaded",timeout:6e4,signal:w??void 0}),await u(2500,w);let h=Date.now()-c,i=D.locator(r).first();await i.waitFor({state:"visible",timeout:1e4,signal:w??void 0}),await i.fill(g),await u(800,w),Date.now();let k=D.waitForResponse(a=>"POST"===a.request().method()&&function(a,b,c){let d,e;if(a===c)return!0;try{d=new URL(a),e=new URL(c)}catch{return!1}if(!d.host.endsWith(b))return!1;let f=e.pathname.split("/").filter(Boolean),g=d.pathname.split("/").filter(Boolean);if(f.length<2||g.length!==f.length)return!1;let h=1;for(let a=0;a<f.length;a++)if(f[a]!==g[a]){if("PLACEHOLDER"===f[a]&&h>0){h--;continue}return!1}return!0}(a.url(),j,e),{timeout:3e4}),l=w?new Promise((b,c)=>{if(w.aborted)return c(new DOMException("Aborted","AbortError"));a=()=>c(new DOMException("Aborted","AbortError")),w.addEventListener("abort",a,{once:!0})}):null;if(s){let a=D.locator(s).first();if(await a.count()>0)try{await a.click({timeout:2e3})}catch{await D.keyboard.press("Enter")}else await D.keyboard.press("Enter")}else await D.keyboard.press("Enter");let m=Date.now(),o=l?await Promise.race([k,l]).catch(()=>null):await k.catch(()=>null);w&&a&&w.removeEventListener("abort",a),o?await u(Math.min(t,3e4),w):await u(t,w);let p=Date.now()-m,q=0,v=null,x=d.Buffer.alloc(0);if(o){let a=await n(o);a.body.length>0xa00000?(x=d.Buffer.from(JSON.stringify({error:{message:"Response too large",type:"upstream_error"}})),q=502,v="application/json"):(q=a.status,v=a.headers["content-type"]||null,x=a.body)}return{status:q,contentType:v,body:x,isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:h,submitMs:p,captureResponseMs:p,totalMs:Date.now()-b}}}catch(c){let a=c instanceof Error?c.message:String(c);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`browserBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-b}}}finally{if(await D.close(),!z)try{await B.context.close()}catch{}}}async function x(a){let b,c=Date.now(),{chatUrl:e,userMessage:f,cookieString:g,cookieDomain:h,chatUrlMatchDomain:i,signal:j}=a,k={"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",Accept:"text/event-stream, application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Content-Type":"application/json",Origin:"duckduckgo.com"===i?"https://duckduckgo.com":`https://${i}`,Referer:"duckduckgo.com"===i?"https://duckduckgo.com/":`https://${i}/`,"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","Sec-Ch-Ua":'"Chromium";v="149", "Google Chrome";v="149", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Priority:"u=1, i"};g&&(k.Cookie=g),b=new URL(e).hostname.includes("duckduckgo")?JSON.stringify({model:"gpt-4o-mini",messages:[{role:"user",content:f}]}):JSON.stringify({messages:[{role:"user",content:f}]});try{let a=Date.now();if(!o.A.available)return{status:501,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"httpBackedChat unavailable: wreq-js (TLS client) not installed",type:"configuration_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:Date.now()-c,captureResponseMs:0,totalMs:Date.now()-c}};let f=await o.A.fetch(e,{method:"POST",headers:k,body:b,signal:j??void 0}),g=Date.now()-a,h=f.headers.get("content-length");if(h&&parseInt(h,10)>0xa00000)throw Error("Response too large");let i=d.Buffer.from(await f.text()),l=f.status,m=f.headers.get("content-type")||"text/event-stream";return{status:l,contentType:m,body:i,isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:g,captureResponseMs:0,totalMs:Date.now()-c}}}catch(b){if(b instanceof DOMException&&"AbortError"===b.name)throw b;let a=b instanceof Error?b.message:String(b);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`httpBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-c}}}}async function y(a,b,c){let d=Date.now()+5e3;for(;Date.now()<d;){if(c?.aborted)throw new DOMException("Aborted","AbortError");let e=(await a.cookies(b)).map(a=>`${a.name}=${a.value}`).join("; ");if(e)return e;let f=d-Date.now();if(f<=0)break;await u(Math.min(500,f),c)}return null}async function z(a,b,c,d){let e=await l(a);try{return await e.goto(b,{waitUntil:"domcontentloaded",timeout:6e4,signal:d??void 0}),await y(a.context,c,d)}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return null}finally{await e.close().catch(()=>{})}}async function A(a,b,c,d){let e=r(c);if(e)return e;let f=t.get(a);if(f)return f;let g=B(a,b,c,d);return t.set(a,g),g.finally(()=>t.delete(a)),g}async function B(a,b,c,d){let e,{key:f}=await v(a,!0);try{e=await k(f,{cookieDomain:c,cookieString:null,warmupUrl:b})}catch{return null}let g=await z(e,b,c,d);return g&&s(c,g),g}async function C(a){if(!a.cookieDomain)return null;let b=process.env.OMNIROUTE_BROWSER_POOL;if("off"===b||"0"===b||"false"===b)return null;try{let{key:b}=await v(a.poolKey,!0);return await k(b,{cookieDomain:a.cookieDomain,cookieString:null})}catch{return null}}async function D(a,b,c,d,e){if(e)try{let a=await e;if(a){let e=await z(a,b,c,d);if(e)return s(c,e),e}}catch{}return A(a,b,c,d)}async function E(a){let b=a.signal?null:new AbortController,c=a.signal??b?.signal??null;b&&setTimeout(()=>b.abort(),45e3);let e=C(a);try{var f;let b=await x({...a,signal:c??void 0});if(b.status>=200&&b.status<300||!((f=b.status)>=400&&501!==f))return b;let d=null;if(a.cookieDomain){if(d=r(a.cookieDomain)){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b;d=null}if(!d&&(d=await D(a.poolKey,a.chatPageUrl,a.cookieDomain,c,e))){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b}}let g=d?{...a,cookieString:d,signal:c??void 0}:{...a,signal:c??void 0},h=await w(g);return h.status>=200&&h.status,h}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return{status:504,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"tryBackedChat timed out",type:"timeout_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:0}};throw a}}},74199:(a,b,c)=>{c.d(b,{R:()=>d});let d=()=>!1},74350:(a,b,c)=>{c.d(b,{L:()=>I});var d=c(97510),e=c(61408),f=c(8590),g=c(89625),h=c(55511);let i=new Map,j=new Map;async function k(a={}){let b=(a.credentials||"").trim();if(!b)throw Error("Missing GigaChat credentials");let c=(a.authUrl||"https://ngw.devices.sberbank.ru:9443/api/v2/oauth").trim(),d=(a.scope||"GIGACHAT_API_PERS").trim(),e=`${c}::${d}::${b}`,f=i.get(e);if(function(a){if(!a?.accessToken||!a?.expiresAt)return!1;let b=new Date(a.expiresAt).getTime();return Number.isFinite(b)&&b-Date.now()>6e4}(f))return f;let g=j.get(e);if(g)return g;let l=(async()=>{let f=await fetch(c,{method:"POST",headers:{Authorization:`Basic ${b}`,RqUID:(0,h.randomUUID)(),"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({scope:d}).toString(),signal:a.signal});if(!f.ok){let a=await f.text();throw Error(`GigaChat token request failed: ${f.status} ${a}`.trim())}let g=await f.json(),j="string"==typeof g.tok?g.tok:"string"==typeof g.access_token?g.access_token:"";if(!j)throw Error("GigaChat token response missing access token");let k={accessToken:j,expiresAt:function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isFinite(b))return new Date(b).toISOString();let c=Date.parse(a);if(Number.isFinite(c))return new Date(c).toISOString()}return new Date(Date.now()+18e5).toISOString()}(g.exp??g.expires_at)};return i.set(e,k),k})();j.set(e,l);try{return await l}finally{j.delete(e)}}var l=c(36081),m=c(57247),n=c(93462),o=c(56452),p=c(78340),q=c(57647),r=c(57441),s=c(9427);let t="/api/v2",u="/genai/llmgw/chat/completions/",v="https://app.datarobot.com",w="https://example-resource.services.ai.azure.com/openai/v1",x="https://ca-tor.ml.cloud.ibm.com/ml/gateway/v1",y="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",z="https://example-aicore.cfapps.eu10.hana.ondemand.com/v2/lm/deployments/example-deployment";var A=c(74361),B=c(40615);let C=()=>!1;var D=c(96303),E=c(4928),F=c(13568);function G(a,b){let c=null;if(b&&"object"==typeof b&&!Array.isArray(b))c=b;else if("string"==typeof b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&(c=a)}catch{}if(c)for(let[b,d]of Object.entries(c)){if("string"!=typeof b||"string"!=typeof d||C(b)||/[\r\n\0]/.test(b)||/[\r\n]/.test(d))continue;let c=b.toLowerCase();for(let b of Object.keys(a))b.toLowerCase()===c&&delete a[b];a[b]=d}}function H(a){let b=(0,s.q)(a);return b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/chat")?b:b.endsWith("/v1")?`${b}/chat/completions`:`${b}/v1/chat/completions`}class I extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai);const b=(0,l.qs)(a);b?.poolConfig&&(this.poolConfig=b.poolConfig)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=d?.providerSpecificData,b=(a?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if(c)return`${b}${c}`;let e=a?._omnirouteForceResponsesUpstream===!0||"responses"===(0,q.J9)(this.provider,a)?"/responses":"/chat/completions";return`${b}${e}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=d?.providerSpecificData,b=a?.baseUrl||"https://api.anthropic.com/v1",c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if((0,q.GK)(this.provider))return(0,g.tI)(b,c||g.np);let e=b.replace(/\/$/,"");return`${e}${c||"/messages"}`}switch(this.provider){case"openai":{let b="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,c=b?H(b):this.config.baseUrl;if("openai-responses"===(0,m.ux)("openai",a))return c.replace(/\/chat\/completions\/?$/,"/responses");return c}case"bailian-coding-plan":{let a;return h=this.resolveBaseUrl(d),(a=(0,s.q)(h).replace(/\?beta=true$/,"")).endsWith("/messages")?a:`${a}/messages`}case"heroku":case"databricks":case"snowflake":case"gigachat":return void this.resolveBaseUrl(d);case"datarobot":{let a;var e,f,h,i=this.resolveBaseUrl(d);return(a=(0,s.q)(i||v)||v).endsWith("/chat/completions")?a:/\/api\/v2\/deployments\/[^/]+$/i.test(a)?`${a}/chat/completions`:/\/api\/v2\/genai\/llmgw$/i.test(a)?`${a}/chat/completions/`:/\/api\/v2\/genai\/llmgw\/chat$/i.test(a)?`${a}/completions/`:a.includes(t)?`${a}${u}`:`${a}${t}${u}`}case"azure-ai":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){let c=function(a){let b=(0,s.q)(a||w);if(!b)return w;if(b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/models"))return b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(b.endsWith("/openai/v1")||b.endsWith("/v1"))return b;if(b.endsWith("/openai"))return`${b}/v1`;let c=new URL(b);return(c.hostname.endsWith(".services.ai.azure.com")||c.hostname.endsWith(".openai.azure.com"))&&(!c.pathname||"/"===c.pathname)?(c.pathname="/openai/v1",(0,s.o)(c.toString())):b}(a);return`${c}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"watsonx":return e=this.resolveBaseUrl(d),`${function(a){let b=(0,s.q)(a||x);if(!b)return x;let c=b.replace(/\/(?:chat\/completions|completions|embeddings|models)$/i,"");if(c.endsWith("/ml/gateway/v1"))return c;if(c.endsWith("/ml/gateway"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/ml/gateway")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/ml/gateway/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(e)}/chat/completions`;case"oci":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){return`${function(a){let b=(0,s.q)(a||y);if(!b)return y;let c=b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(c.endsWith("/openai/v1"))return c;if(c.endsWith("/openai"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/openai")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/openai/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(a)}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"sap":{let a;return(a=function(a){let b=(0,s.q)(a||z);if(!b)return z;var c=b.replace(/\/chat\/completions$/i,"");try{let a=new URL(c);return a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(this.resolveBaseUrl(d))).endsWith("/chat/completions")?a:`${a}/chat/completions`}case"xiaomi-mimo":{let a;return f=this.resolveBaseUrl(d),a=(0,s.q)(f).replace(/\/chat\/completions$/,""),`${a}/chat/completions`}case"maritalk":{let a=this.resolveBaseUrl(d);return(0,A.$D)(a)}case"siliconflow":return H(this.resolveBaseUrl(d));case"ollama-local":case"llama-cpp":case"lm-studio":case"modal":case"reka":case"vllm":case"lemonade":case"llamafile":case"triton":case"docker-model-runner":case"xinference":case"oobabooga":{let a=B.HP[this.provider]?.localDefault;return H(d?.providerSpecificData?.baseUrl||a||this.config.baseUrl)}case"zai":case"glm-coding-apikey":{let a=this.resolveBaseUrl(d);return`${a}?beta=true`}case"claude":case"glm":case"glmt":case"kimi-coding":case"minimax":case"minimax-cn":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;case"qwen":{let a=d?.providerSpecificData?.resourceUrl;return`https://${a||"portal.qwen.ai"}/v1/chat/completions`}default:{let a="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,b=!this.config.format||"openai"===this.config.format;if(a&&b)return H(a);let c=this.config.baseUrl,e=(0,l.qs)(this.provider);return e?.urlSuffix?`${c}${e.urlSuffix}`:c}}}buildHeaders(a,b=!0,c){let{headers:d,effectiveKey:e}=this.buildHeadersPreamble(a,b);switch(this.provider){case"gemini":e?d["x-goog-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"snowflake":{let b=e||a.accessToken||"",c=b.startsWith("pat/");d.Authorization=`Bearer ${c?b.slice(4):b}`,d["X-Snowflake-Authorization-Token-Type"]=c?"PROGRAMMATIC_ACCESS_TOKEN":"KEYPAIR_JWT";break}case"gigachat":d.Authorization=`Bearer ${a.accessToken||e}`;break;case"clarifai":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"azure-ai":(e||a.accessToken)&&(d["api-key"]=e||a.accessToken),delete d.Authorization;break;case"oci":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`);let c=a.projectId||a?.providerSpecificData?.projectId||a?.providerSpecificData?.project;c&&(d["OpenAI-Project"]=c);break}case"sap":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`),d["AI-Resource-Group"]=function(a,b="default"){for(let b of[a?.resourceGroup,a?.aiResourceGroup,a?.resource_group])if("string"==typeof b&&b.trim())return b.trim();return b}(a?.providerSpecificData);break}case"reka":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`,d["X-Api-Key"]=b);break}case"maritalk":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"claude":case"anthropic":e?d["x-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"glm":case"glmt":case"kimi-coding":case"bailian-coding-plan":case"kimi-coding-apikey":case"zai":case"glm-coding-apikey":d["x-api-key"]=e||a.accessToken;break;case"cline":Object.assign(d,(0,E.w)(e||a.accessToken));break;default:if((0,q.GK)(this.provider)){let c=(0,D.RG)(a?.providerSpecificData),d=(0,g.mu)(e||a.accessToken||"",b,a?.providerSpecificData?.ccSessionId,{redactThinking:!0===c.redactThinking});return G(d,a.providerSpecificData?.customHeaders),d}if(this.provider?.startsWith?.("anthropic-compatible-"))e?d["x-api-key"]=e:a.accessToken&&(d.Authorization=`Bearer ${a.accessToken}`),e&&!d.Authorization&&!function(a){if(!a)return!0;let b=null;try{b=new URL(a).hostname}catch{try{b=new URL(`https://${a}`).hostname}catch{return!1}}return"api.anthropic.com"===b}(a?.providerSpecificData?.baseUrl||"")&&(d.Authorization=`Bearer ${e}`),Object.keys(d).some(a=>"anthropic-version"===a.toLowerCase())||(d["anthropic-version"]="2023-06-01");else{let b=(0,l.qs)(this.provider),c=b?.authHeader||"bearer",f=e||a.accessToken||b?.anonymousApiKey;f&&("x-api-key"===c?d["x-api-key"]=f:"x-goog-api-key"===c?d["x-goog-api-key"]=f:d.Authorization=`Bearer ${f}`)}}if(d.Accept=b?"text/event-stream":"application/json","qwen"===this.provider&&e)for(let a of Object.keys(d))a.toLowerCase().startsWith("x-dashscope-")&&delete d[a];if((this.provider?.startsWith?.("openai-compatible-")||this.provider?.startsWith?.("anthropic-compatible-"))&&G(d,a.providerSpecificData?.customHeaders),c){(0,F.G)(d,c);let a=c["anthropic-beta"]??c["Anthropic-Beta"]??null,b=Object.keys(d).find(a=>"anthropic-beta"===a.toLowerCase());b&&a&&(d[b]=(0,n.S9)(d[b],a))}return(0,n.Xs)(d),d}applyJsonSchemaFallback(a){if(!this.provider?.startsWith?.("openai-compatible-")||!a||"object"!=typeof a||Array.isArray(a))return a;let b=a.response_format;if(b?.type!=="json_schema"||!b.json_schema?.schema)return a;let c=JSON.stringify(b.json_schema.schema,null,2),d=`You must respond with valid JSON that strictly follows this JSON schema:
|
|
351
355
|
\`\`\`json
|
|
352
356
|
${c}
|
|
353
357
|
\`\`\`
|
|
@@ -385,7 +389,7 @@ ${e}`.trim():e}function k(a,b){return new Response(JSON.stringify({error:{messag
|
|
|
385
389
|
|
|
386
390
|
`}function m(a,b){return b?{...a,...b,providerSpecificData:{...a.providerSpecificData||{},...b.providerSpecificData||{}}}:a}function n(a){return(0,h.L_)(a?.providerSpecificData)}function o(a){return{"Content-Type":"application/json",Accept:"application/json",...a?{Authorization:`Bearer ${a}`}:{}}}function p(a){return{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a.token}`,...a.headers}}function q(a){return"gitlab-duo"===a}async function r(a,b,c,d){a.onCredentialsRefreshed&&await a.onCredentialsRefreshed({providerSpecificData:{...b.providerSpecificData||{},baseUrl:c,gitlabDirectAccess:{token:d.token,baseUrl:d.baseUrl,expiresAt:d.expiresAt,headers:d.headers}}})}class s extends e.Hv{constructor(a="gitlab"){super(a,{id:a,baseUrl:"https://gitlab.com/api/v4/code_suggestions/completions",headers:{"Content-Type":"application/json"}})}buildUrl(a,b,c=0,d=null){return(0,h.Tg)(n(d||{})).publicCompletionsUrl}buildHeaders(a,b=!1){return o(a?.apiKey||a?.accessToken||null)}transformRequest(a,b,c,d){let e=j(b.messages),f=d?.providerSpecificData&&"object"==typeof d.providerSpecificData?d.providerSpecificData:{},g="string"==typeof f.projectPath&&f.projectPath.trim().length>0?f.projectPath.trim():void 0;return{current_file:{file_name:"string"==typeof f.fileName&&f.fileName.trim().length>0?f.fileName.trim():"snippet.txt",content_above_cursor:e,content_below_cursor:""},intent:"generation",generation_type:"small_file",stream:!1,...g?{project_path:g}:{},...e?{user_instruction:e}:{}}}async refreshCredentials(a,b){if(!q(this.provider)||!a.refreshToken)return null;try{return await (0,g.iD)(this.provider,a,b)}catch(a){return b?.error?.("TOKEN",`GitLab Duo refresh error: ${a instanceof Error?a.message:String(a)}`),null}}needsRefresh(a){return!!(q(this.provider)&&!a?.accessToken&&a?.refreshToken)||super.needsRefresh(a)}async fetchGitLabDirectAccess(a,b,c){let d=(0,h.Tg)(a),g=AbortSignal.timeout(f.MT),i=c?(0,e.OW)(c,g):g,j=await fetch(d.directAccessUrl,{method:"POST",headers:{Authorization:`Bearer ${b}`,Accept:"application/json"},signal:i}),k=await j.text();if(!j.ok)return{directAccess:null,response:j,bodyText:k};let l=k?JSON.parse(k):{};return{directAccess:(0,h.cc)(l),response:j,bodyText:k}}async resolveRequestTarget(a,b){let c=n(b),d=(0,h.Tg)(c);if(!q(this.provider))return{target:{mode:"monolith",url:d.publicCompletionsUrl,headers:o(b.apiKey||b.accessToken||null)},credentials:b,errorResponse:null};if(!b.accessToken)return{target:null,credentials:b,errorResponse:k(401,"GitLab Duo OAuth connection is missing an access token")};let e=(0,h.RW)(b.providerSpecificData);if(e)return{target:{mode:"direct",url:(0,h.wA)(e.baseUrl),headers:p(e)},credentials:b,errorResponse:null};try{let{directAccess:e,response:f,bodyText:g}=await this.fetchGitLabDirectAccess(c,b.accessToken,a.signal);if(e){await r(a,b,c,e);let d=m(b,{providerSpecificData:{...b.providerSpecificData||{},baseUrl:c,gitlabDirectAccess:{token:e.token,baseUrl:e.baseUrl,expiresAt:e.expiresAt,headers:e.headers}}});return{target:{mode:"direct",url:(0,h.wA)(e.baseUrl),headers:p(e)},credentials:d,errorResponse:null}}if(!f)return{target:{mode:"monolith",url:d.publicCompletionsUrl,headers:o(b.accessToken)},credentials:b,errorResponse:null};if(401===f.status)return{target:null,credentials:b,errorResponse:k(401,"GitLab Duo direct access token request was rejected")};if(403===f.status&&!(0,h.zF)(f.status,g))return{target:null,credentials:b,errorResponse:k(403,"GitLab Duo direct access scope is unavailable")};return{target:{mode:"monolith",url:d.publicCompletionsUrl,headers:o(b.accessToken)},credentials:b,errorResponse:null}}catch(a){return{target:{mode:"monolith",url:d.publicCompletionsUrl,headers:o(b.accessToken)},credentials:b,errorResponse:null}}}async performRequest(a,b,c){let d={...b.headers};(0,e._F)(d,a.upstreamExtraHeaders);let g=AbortSignal.timeout(f.MT),h=a.signal?(0,e.OW)(a.signal,g):g;return{response:await fetch(b.url,{method:"POST",headers:d,body:JSON.stringify(c),signal:h}),headers:d}}async execute(a){let b,c,e,f;if(!j(a.body?.messages))return{response:k(400,"GitLab Duo requires at least one user message")};let g=a.credentials;if(this.needsRefresh(g)){let b=await this.refreshCredentials(g,a.log||null);b&&(g=m(g,b),await a.onCredentialsRefreshed?.({...b,providerSpecificData:{...a.credentials.providerSpecificData||{},...b.providerSpecificData||{}}}))}let p=this.transformRequest(a.model,a.body||{},!1,g),{target:q,credentials:r,errorResponse:s}=await this.resolveRequestTarget(a,g);if(s||!q)return{response:s||k(500,"GitLab Duo target resolution failed")};g=r;let t=q;try{let d=await this.performRequest(a,q,p);b=d.response,c=d.headers}catch(b){let a=b instanceof Error?b.message:String(b);return{response:k(502,`GitLab Duo connection failed: ${a}`),url:q.url,headers:q.headers,transformedBody:p}}if(!b.ok&&"direct"===q.mode){let d={mode:"monolith",url:(0,h.Tg)(n(g)).publicCompletionsUrl,headers:o(g.accessToken||null)};try{let e=await this.performRequest(a,d,p);b=e.response,c=e.headers,t=d}catch(b){let a=b instanceof Error?b.message:String(b);return{response:k(502,`GitLab Duo connection failed: ${a}`),url:d.url,headers:d.headers,transformedBody:p}}}if(!b.ok){let a=await b.text(),d=401===b.status||403===b.status?`GitLab Duo auth failed: ${b.status}`:429===b.status?"GitLab Duo rate limited the request":a||`GitLab Duo request failed: ${b.status}`;return{response:k(b.status,d),url:t.url,headers:c,transformedBody:p}}let u=await b.json(),v=Array.isArray(u.choices)?u.choices:[],w=v[0]&&"object"==typeof v[0]?v[0]:{},x="string"==typeof w.text?w.text:"string"==typeof u.content?u.content:"",y=function(a,b){let c=a.model;if("string"==typeof c&&c.trim().length>0)return c.trim();let d=i(c),e="string"==typeof d.name&&d.name.trim().length>0?d.name.trim():"string"==typeof d.id&&d.id.trim().length>0?d.id.trim():null;if(e)return e;let f=i(a.metadata);for(let b of[i(f.model_details),i(a.model_details)]){let a="string"==typeof b.model_name&&b.model_name.trim().length>0?b.model_name.trim():"string"==typeof b.name&&b.name.trim().length>0?b.name.trim():null;if(a)return a}return b}(u,a.model),z=`chatcmpl-gitlab-${(0,d.randomUUID)()}`,A=Math.floor(Date.now()/1e3);return{response:a.stream?(e=new TextEncoder,new Response(new ReadableStream({start(a){a.enqueue(e.encode(l({id:z,object:"chat.completion.chunk",created:A,model:y,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]}))),x&&a.enqueue(e.encode(l({id:z,object:"chat.completion.chunk",created:A,model:y,choices:[{index:0,delta:{content:x},finish_reason:null}]}))),a.enqueue(e.encode(l({id:z,object:"chat.completion.chunk",created:A,model:y,choices:[{index:0,delta:{},finish_reason:"stop"}]}))),a.enqueue(e.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"Content-Type":"text/event-stream"}})):new Response(JSON.stringify({id:z,object:"chat.completion",created:A,model:y,choices:[{index:0,message:{role:"assistant",content:x},finish_reason:"stop"}],usage:{prompt_tokens:f=Math.max(1,Math.ceil(x.length/4)),completion_tokens:f,total_tokens:2*f}}),{status:200,headers:{"Content-Type":"application/json"}}),url:t.url,headers:c,transformedBody:p}}}},81551:(a,b,c)=>{c.d(b,{P:()=>r});var d=c(97510),e=c(61408),f=c(43659),g=c(50954);let h="https://huggingface.co",i=`${h}/chat/conversation`,j=`${h}/chat/api/v2/conversations`;function k(a){return`data: ${JSON.stringify(a)}
|
|
387
391
|
|
|
388
|
-
`}function l(a){return Math.max(1,Math.ceil((a||"").length/4))}async function m(a){let b=a.headers.get("content-type")||"",c=await a.text().catch(()=>"");if(!c)return{message:null,details:null};if(b.includes("json"))try{let a=JSON.parse(c),b="string"==typeof a.message?a.message:"string"==typeof a.error?a.error:a.error&&"object"==typeof a.error&&"string"==typeof a.error.message?String(a.error.message):null;return{message:b?(0,f.sanitizeErrorMessage)(b):null,details:a}}catch{}return{message:(0,f.sanitizeErrorMessage)(c),details:{body:c}}}async function n(a,b,c){let d=await fetch(`${j}/${a}`,{method:"GET",headers:b,signal:c});if(!d.ok)return null;let e=await d.text().catch(()=>"");if(!e)return null;try{return function(a){let b=!a||"object"!=typeof a||Array.isArray(a)?a:a.json&&"object"==typeof a.json?a.json:a;if(!b||"object"!=typeof b||Array.isArray(b))return null;if("string"==typeof b.rootMessageId&&b.rootMessageId.trim())return b.rootMessageId;let c=(Array.isArray(b.messages)?b.messages:[]).at(-1);if(c&&"object"==typeof c){let a=c.id;if("string"==typeof a&&a.trim())return a}return null}(JSON.parse(e))}catch{return null}}function o(a){try{let b=JSON.parse(a);if("stream"===b.type&&"string"==typeof b.token){let a=b.token.replace(/\0/g,"");if(a)return{token:a}}if("finalAnswer"===b.type&&"string"==typeof b.text)return{text:b.text,done:!0};if("status"===b.type){if("error"===b.status)return{error:b.message||"HuggingChat generation error"};if("finished"===b.status)return{done:!0}}}catch{}return{}}async function*p(a,b,c,d,e){let f=a.getReader(),g=new TextDecoder,h="",i=!1,j="",l=!1;try{for(;!e?.aborted;){let{value:a,done:e}=await f.read();if(e)break;let m=(h+=g.decode(a,{stream:!0})).split("\n");for(let a of(h=m.pop()||"",m)){let e=a.trim();if(!e)continue;let f=o(e);if(f.error){yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}),yield"data: [DONE]\n\n",l=!0;return}if(f.token&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),j+=f.token,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:f.token},finish_reason:null}]})),f.text){let a=f.text.slice(j.length);a&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:a},finish_reason:null}]})),l=!0;break}if(f.done){l=!0;break}}if(l)break}if(!l&&h.trim()){let a=o(h.trim());a.token&&!e?.aborted&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:a.token},finish_reason:null}]}))}}finally{f.releaseLock()}e?.aborted||(yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}),yield"data: [DONE]\n\n")}async function q(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="";try{for(;!b?.aborted;){let{value:a,done:b}=await c.read();if(b)break;let g=(e+=d.decode(a,{stream:!0})).split("\n");for(let a of(e=g.pop()||"",g)){let b=a.trim();if(!b)continue;let c=o(b);if(c.token&&(f+=c.token),c.text)return c.text;if(c.error)throw Error(c.error)}}if(e.trim()){let a=o(e.trim());if(a.text)return a.text;a.token&&(f+=a.token)}}finally{c.releaseLock()}return f}class r extends d.Hv{constructor(){super("huggingchat",{id:"huggingchat",baseUrl:h})}async execute(a){var b,c;let k,o,{model:r,body:s,stream:t,credentials:u,signal:v,log:w,upstreamExtraHeaders:x}=a,y=s.messages;if(!y||!Array.isArray(y)||0===y.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};if("string"==typeof(b=u.apiKey)&&b.trim().startsWith("enc:v1:"))return{response:new Response(JSON.stringify({error:{message:"HuggingChat credentials are encrypted but STORAGE_ENCRYPTION_KEY is not loaded. Restore the encryption key or re-save the HuggingChat cookie.",type:"auth_error"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let z=(c=u.apiKey||"",(0,g.p1)(c,"hf-chat"));if(!z)return{response:new Response(JSON.stringify({error:{message:"HuggingChat requires a session cookie. Log in to huggingface.co/chat, open DevTools > Application > Cookies, and copy the hf-chat cookie value.",type:"auth_error"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let A=r||"baidu/ERNIE-4.5-VL-424B-A47B-Base-PT",{inputs:B,systemPrompt:C}=function(a){let b=[],c=[];for(let e of a){var d;let a=String(e.role||"user"),f="string"==typeof(d=e.content)?d.trim():Array.isArray(d)?d.map(a=>a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text||"input_text"===a.type&&"string"==typeof a.text)?a.text:"").filter(a=>a.trim().length>0).join("\n").trim():"";f&&("system"===a||"developer"===a?b.push(f):("user"===a||"assistant"===a)&&c.push({role:a,content:f}))}if(0===c.length)return{inputs:b.join("\n\n"),systemPrompt:null};if(1===c.length&&"user"===c[0].role)return{inputs:c[0].content,systemPrompt:b.length>0?b.join("\n\n"):null};let e=[];for(let a of c){let b="user"===a.role?"User":"Assistant";e.push(`${b}: ${a.content}`)}return e.push("Assistant:"),{inputs:e.join("\n\n"),systemPrompt:b.length>0?b.join("\n\n"):null}}(y);if(!B.trim())return{response:new Response(JSON.stringify({error:{message:"Empty prompt after processing messages",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let D={Cookie:z,"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Origin:h,Referer:`${h}/chat/`},E=AbortSignal.timeout(e.MT),F=v?(0,d.OW)(v,E):E;try{let a={model:A};C&&(a.preprompt=C);let b=await fetch(i,{method:"POST",headers:{...D,"Content-Type":"application/json"},body:JSON.stringify(a),signal:F});if(!b.ok){let a=b.status,c=await m(b),d=`HuggingChat conversation creation failed (HTTP ${a})`;return 401===a||403===a?d="HuggingChat auth failed -- your hf-chat session cookie may be missing or expired. Log in to huggingface.co/chat and re-paste your cookie.":429===a&&(d="HuggingChat rate limited. Wait a moment and retry."),c.message&&(d=`${d}: ${c.message}`),{response:new Response(JSON.stringify((0,f.buildErrorBody)(a,d,c.details)),{status:a,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}k=(await b.json()).conversationId;let c=function(a){let b=a.getSetCookie;if("function"==typeof b)return b.call(a).filter(Boolean);let c=a.get("set-cookie");return c?c.split(/,(?=\s*[^;,=\s]+=)/).map(a=>a.trim()).filter(Boolean):[]}(b.headers);if(D.Cookie=z=function(a,b){let c=new Map;for(let b of a.split(";")){let a=b.trim();if(!a)continue;let d=a.indexOf("=");d<=0||c.set(a.slice(0,d).trim(),a.slice(d+1))}for(let a of b){let b=function(a){let b=a.split(";",1)[0]?.trim()||"",c=b.indexOf("=");return c<=0?null:{name:b.slice(0,c).trim(),value:b.slice(c+1)}}(a);b&&b.value&&c.set(b.name,b.value)}return[...c.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}(z,c),!k)return{response:new Response(JSON.stringify({error:{message:"HuggingChat did not return a conversationId",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}catch(b){let a=b instanceof Error?b.message:String(b);return w?.error?.("HUGGINGCHAT",`Conversation creation failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`HuggingChat connection failed: ${a}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}let G=await n(k,D,F);if(!G)return{response:new Response(JSON.stringify({error:{message:"HuggingChat did not return an initial parent message id",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:`${j}/${k}`,headers:D,transformedBody:s};let H=`${i}/${k}`,I=new FormData,J={inputs:B,is_retry:!1,is_continue:!1,generationId:crypto.randomUUID(),selectedMcpServerNames:[],selectedMcpServers:[],timezone:function(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}(),id:G};I.append("data",JSON.stringify(J)),(0,d._F)(D,x);try{o=await fetch(H,{method:"POST",headers:D,body:I,signal:F})}catch(b){let a=b instanceof Error?b.message:String(b);return w?.error?.("HUGGINGCHAT",`Message send failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`HuggingChat connection failed: ${a}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}if(!o.ok){let a=o.status,b=await m(o),c=`HuggingChat returned HTTP ${a}`;return 401===a||403===a?c="HuggingChat auth failed -- session cookie may be expired.":429===a?c="HuggingChat rate limited. Wait a moment and retry.":404===a&&(c=`HuggingChat model not found: ${A}. Check the model ID.`),b.message&&(c=`${c}: ${b.message}`),{response:new Response(JSON.stringify((0,f.buildErrorBody)(a,c,b.details)),{status:a,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"HuggingChat returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J};let K=`chatcmpl-huggingchat-${crypto.randomUUID().slice(0,12)}`,L=Math.floor(Date.now()/1e3);if(t){let a=new TextEncoder,b=p(o.body,A,K,L,v);return{response:new Response(new ReadableStream({async start(c){try{for await(let d of b)c.enqueue(a.encode(d))}catch(a){w?.error?.("HUGGINGCHAT",`Stream error: ${a}`)}finally{c.close()}}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}}),url:H,headers:D,transformedBody:J}}let M=await q(o.body,v),N=l(M);return{response:new Response(JSON.stringify({id:K,object:"chat.completion",created:L,model:A,choices:[{index:0,message:{role:"assistant",content:M},finish_reason:"stop"}],usage:{prompt_tokens:l(B),completion_tokens:N,total_tokens:l(B)+N}}),{status:200,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}}},82568:(a,b,c)=>{c.d(b,{Ih:()=>m,SA:()=>n,bp:()=>l});let d="[||]",e="[▁_]",f=RegExp(`<${d}tool${e}calls${e}begin${d}>([\\s\\S]*?)<${d}tool${e}calls${e}end${d}>`,"i"),g=RegExp(`<${d}tool${e}call${e}begin${d}>([\\s\\S]*?)<${d}tool${e}call${e}end${d}>`,"gi"),h=RegExp(`<${d}tool${e}sep${d}>`,"gi"),i=RegExp(`<${d}?(?:t(?:o(?:o(?:l(?:${e}(?:c(?:a(?:l(?:l(?:s)?(?:${e}(?:b(?:e(?:g(?:i(?:n${d}?>?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?$`,"i");function j(a){let b=crypto.randomUUID().replace(/-/g,"").slice(0,10);return`call_${b}${a}`}function k(a){let b=a.replace(/^\s+|\s+$/g,"").split(h),c=(b.shift()??"").trim();if(!c)return null;let d={};for(let a of b){let b,c;if(!a)continue;let e=a.indexOf("\n");e<0?(b=a.trim(),c=""):(b=a.slice(0,e).trim(),c=a.slice(e+1)),b&&(c=c.replace(/\n+$/,""),d[b]=function(a){if(""===a)return"";let b=a.trim();if(b.startsWith("{")&&b.endsWith("}")||b.startsWith("[")&&b.endsWith("]"))try{return JSON.parse(b)}catch{}if("true"===b)return!0;if("false"===b)return!1;if("null"===b)return null;if(/^-?\d+$/.test(b)){let a=Number(b);if(Number.isSafeInteger(a))return a}if(/^-?\d*\.\d+$/.test(b)){let a=Number(b);if(Number.isFinite(a))return a}return a}(c))}return{name:c,arguments:JSON.stringify(d)}}function l(a){if(!a||"string"!=typeof a)return{content:a||"",toolCalls:[]};let b=a.match(f);if(!b||void 0===b.index)return{content:a,toolCalls:[]};let c=a.slice(0,b.index),d=a.slice(b.index+b[0].length),e=b[1],h=[],i=0;for(let a of e.matchAll(g)){let b=k(a[1]);b&&(h.push({id:j(i),type:"function",function:b}),i+=1)}return{content:(c+d).trim(),toolCalls:h}}function m(){return{emitted:0,done:!1}}function n(a,b){if(a.done||!b)return{safeDelta:"",ready:!1,toolCalls:[],holdback:!1};let c=b.match(f);if(c&&void 0!==c.index){let d=b.slice(0,c.index),e=c[1],f=[],h=0;for(let a of e.matchAll(g)){let b=k(a[1]);b&&(f.push({id:j(h),type:"function",function:b}),h+=1)}let i=d.length>a.emitted?d.slice(a.emitted):"";return a.emitted=d.length,a.done=!0,{safeDelta:i,ready:!0,toolCalls:f,holdback:!1}}let h=RegExp(`<${d}tool${e}calls${e}begin${d}>`,"i"),l=b.match(h);if(l&&void 0!==l.index){let c=b.slice(0,l.index),d=c.length>a.emitted?c.slice(a.emitted):"";return a.emitted=c.length,{safeDelta:d,ready:!1,toolCalls:[],holdback:!0}}let m=b.match(i);if(m&&void 0!==m.index){let c=b.slice(0,m.index),d=c.length>a.emitted?c.slice(a.emitted):"";return a.emitted=c.length,{safeDelta:d,ready:!1,toolCalls:[],holdback:!0}}let n=b.length>a.emitted?b.slice(a.emitted):"";return a.emitted=b.length,{safeDelta:n,ready:!1,toolCalls:[],holdback:!1}}},82601:(a,b,c)=>{let d;c.d(b,{Qs:()=>m,xC:()=>r,PU:()=>q});var e=c(77598),f=c.n(e),g=c(40610),h=c.n(g),i=c(77030);class j extends Error{}let k=()=>!1,l=Number.isInteger(d=parseInt(process.env.CURSOR_IMAGE_FETCH_TIMEOUT_MS||"15000",10))&&d>0?d:15e3;class m extends Error{constructor(a,b=400){super(a),this.name="CursorImageError",this.status=b}}async function n(a){let b,c=a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a;if(!(0,i.isIP)(c)){try{b=await h().promises.lookup(c,{all:!0})}catch{throw new m("Image URL host could not be resolved.")}for(let a of b.map(a=>a.address))if(k(a))throw new m("Image URL points to a blocked address.")}}async function o(a){let b=a;for(let a=0;a<=3;a++){let a,c=function(){try{return}catch(a){if(a instanceof j)throw new m("OUTBOUND_URL_INVALID"===a.code?"Image URL is invalid or uses an unsupported scheme.":"Image URL points to a blocked address.");throw new m("Image URL is invalid.")}}();await n(c.hostname);let d=new AbortController,e=setTimeout(()=>d.abort(),l);try{a=await fetch(c.toString(),{method:"GET",signal:d.signal,redirect:"manual"})}catch{throw clearTimeout(e),new m("Could not fetch the image URL.")}try{if(a.status>=300&&a.status<400){let d=a.headers.get("location");if(!d)throw new m("Image URL redirect is missing a destination.");try{b=new URL(d,c.toString()).toString()}catch{throw new m("Image URL redirect destination is invalid.")}continue}if(!a.ok)throw new m(`Could not fetch the image URL (status ${a.status}).`);let d=(a.headers.get("content-type")||"").toLowerCase().split(";")[0].trim();if(!d.startsWith("image/"))throw new m("Image URL did not return an image content type.");let e=Number(a.headers.get("content-length")||"0");if(Number.isFinite(e)&&e>1048576)throw new m("Image input is too large (max 1 MiB). Resize and retry.");return{data:await p(a,1048576),mimeType:d}}finally{clearTimeout(e)}}throw new m("Image URL has too many redirects.")}async function p(a,b){let c=a.body;if(!c)return Buffer.alloc(0);let d=[],e=0,f=a=>{if((e+=a.byteLength)>b)throw new m("Image input is too large (max 1 MiB). Resize and retry.");d.push(Buffer.from(a))};if("function"==typeof c[Symbol.asyncIterator]){for await(let a of c)f(a);return Buffer.concat(d,e)}if("function"==typeof c.getReader){let a=c.getReader();try{for(;;){let{done:b,value:c}=await a.read();if(b)break;c&&f(c)}}finally{try{await a.cancel()}catch{}}return Buffer.concat(d,e)}let g=Buffer.from(await a.arrayBuffer());if(g.length>b)throw new m("Image input is too large (max 1 MiB). Resize and retry.");return g}async function q(a){if(a.length>12)throw new m("Too many images in one request (max 12).");let b=[];for(let c of a){if("string"!=typeof c||!c)throw new m("Image URL is missing.");let{data:a,mimeType:d}=c.toLowerCase().startsWith("data:")?function(a){let b,c=a.indexOf(",");if(c<0)throw new m("Image data URL is malformed.");let d=a.slice(5,c),e=a.slice(c+1),f=/;base64/i.test(d),g=(d.split(";")[0]||"").trim().toLowerCase()||"application/octet-stream";if(!g.startsWith("image/"))throw new m("Image data URL must have an image/* media type.");if(!f)throw new m("Image data URL must be base64-encoded.");if(e.length>2097152)throw new m("Image input is too large (max 1 MiB). Resize and retry.");let h=e.replace(/\s/g,"");if(Math.floor(3*h.length/4)>1048576)throw new m("Image input is too large (max 1 MiB). Resize and retry.");try{b=Buffer.from(h,"base64")}catch{throw new m("Image data URL contains invalid base64 data.")}if(h.length>0&&0===b.length)throw new m("Image data URL contains invalid base64 data.");return{data:b,mimeType:g}}(c):await o(c);if(!a.length)throw new m("Image input is empty.");if(a.length>1048576)throw new m("Image input is too large (max 1 MiB). Resize and retry.");b.push({data:a,mimeType:d,uuid:f().randomUUID()})}return b}function r(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c&&"object"==typeof c&&"image_url"===c.type){let a=c.image_url;"string"==typeof a?b.push(a):a&&"object"==typeof a&&"string"==typeof a.url&&b.push(a.url)}return b}},83041:(a,b,c)=>{c.d(b,{UD:()=>E});var d=c(49922),e=c(45795),f=c(47907),g=c(77598),h=c(97510),i=c(61408);c(24286);let j="us-east-1",k=/^[a-z]{2}(?:-gov)?-[a-z]+-\d+$/i;function l(a,b=j){if("string"!=typeof a)return b;let c=a.trim().toLowerCase();return k.test(c)?c:b}function m(a){let b=a&&"object"==typeof a?a:{},c=l(b.region,"");return c||function(a){if(!a)return null;try{let b=new URL(a).hostname.match(/^bedrock(?:-runtime|-mantle)?\.([a-z0-9-]+)\./i);return b?.[1]&&l(b[1],"")||null}catch{return null}}("string"==typeof b.baseUrl?b.baseUrl:null)||j}var n=c(7882);let o=new TextEncoder;function p(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function q(a){if("string"==typeof a)return a;if(null==a)return"";try{return JSON.stringify(a)}catch{return String(a)}}function r(a){return"string"==typeof a&&a.trim()?a.trim():null}function s(a,b={}){if("string"==typeof a)return a.trim()?[{text:a}]:[];if(!Array.isArray(a))return[];let c=[];for(let e of a){if("string"==typeof e){e.trim()&&c.push({text:e});continue}let a=p(e),f="string"==typeof a.type?a.type:"";if(("text"===f||"input_text"===f)&&"string"==typeof a.text){a.text.trim()&&c.push({text:a.text});continue}if("image_url"===f||"input_image"===f){var d;let b=function(a){if("string"!=typeof a)return null;let b=a.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.+)$/i);return b?{format:"jpg"===b[1].toLowerCase()?"jpeg":b[1].toLowerCase(),data:b[2]}:null}("string"==typeof a.image_url?a.image_url:a.image_url?.url||a.image_url);b&&c.push({image:{format:b.format,source:{bytes:(d=b.data,Uint8Array.from(Buffer.from(d,"base64")))}}});continue}if("tool_use"===f&&"string"==typeof a.id&&"string"==typeof a.name){let d=r(a.id);if(d&&b.skipToolUseIds?.has(d)||d&&!b.answeredToolUseIds?.has(d))continue;c.push({toolUse:{toolUseId:d||`toolu_${(0,g.randomUUID)()}`,name:a.name,input:p(a.input)}});continue}"tool_result"===f&&"string"==typeof a.tool_use_id&&c.push({toolResult:{toolUseId:a.tool_use_id,content:[{text:q(a.content)}],status:a.is_error?"error":"success"}})}return c}function t(a){return r(a?.toolUse?.toolUseId)}function u(a){return r(a?.toolResult?.toolUseId)}function v(a){return a?.role==="user"&&Array.isArray(a.content)&&a.content.length>0&&a.content.every(a=>!!u(a))}function w(a){Array.isArray(a.content)&&0!==a.content.length||(a.content=[{text:" "}])}function x(a){switch(a){case"tool_use":return"tool_calls";case"max_tokens":return"length";default:return"stop"}}function y(a){let b=Number(a?.inputTokens||0),c=Number(a?.outputTokens||0);return{prompt_tokens:b,completion_tokens:c,total_tokens:Number(a?.totalTokens||b+c)}}function z(a){return o.encode(`data: ${JSON.stringify(a)}
|
|
392
|
+
`}function l(a){return Math.max(1,Math.ceil((a||"").length/4))}async function m(a){let b=a.headers.get("content-type")||"",c=await a.text().catch(()=>"");if(!c)return{message:null,details:null};if(b.includes("json"))try{let a=JSON.parse(c),b="string"==typeof a.message?a.message:"string"==typeof a.error?a.error:a.error&&"object"==typeof a.error&&"string"==typeof a.error.message?String(a.error.message):null;return{message:b?(0,f.sanitizeErrorMessage)(b):null,details:a}}catch{}return{message:(0,f.sanitizeErrorMessage)(c),details:{body:c}}}async function n(a,b,c){let d=await fetch(`${j}/${a}`,{method:"GET",headers:b,signal:c});if(!d.ok)return null;let e=await d.text().catch(()=>"");if(!e)return null;try{return function(a){let b=!a||"object"!=typeof a||Array.isArray(a)?a:a.json&&"object"==typeof a.json?a.json:a;if(!b||"object"!=typeof b||Array.isArray(b))return null;if("string"==typeof b.rootMessageId&&b.rootMessageId.trim())return b.rootMessageId;let c=(Array.isArray(b.messages)?b.messages:[]).at(-1);if(c&&"object"==typeof c){let a=c.id;if("string"==typeof a&&a.trim())return a}return null}(JSON.parse(e))}catch{return null}}function o(a){try{let b=JSON.parse(a);if("stream"===b.type&&"string"==typeof b.token){let a=b.token.replace(/\0/g,"");if(a)return{token:a}}if("finalAnswer"===b.type&&"string"==typeof b.text)return{text:b.text,done:!0};if("status"===b.type){if("error"===b.status)return{error:b.message||"HuggingChat generation error"};if("finished"===b.status)return{done:!0}}}catch{}return{}}async function*p(a,b,c,d,e){let f=a.getReader(),g=new TextDecoder,h="",i=!1,j="",l=!1;try{for(;!e?.aborted;){let{value:a,done:e}=await f.read();if(e)break;let m=(h+=g.decode(a,{stream:!0})).split("\n");for(let a of(h=m.pop()||"",m)){let e=a.trim();if(!e)continue;let f=o(e);if(f.error){yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}),yield"data: [DONE]\n\n",l=!0;return}if(f.token&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),j+=f.token,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:f.token},finish_reason:null}]})),f.text){let a=f.text.slice(j.length);a&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:a},finish_reason:null}]})),l=!0;break}if(f.done){l=!0;break}}if(l)break}if(!l&&h.trim()){let a=o(h.trim());a.token&&!e?.aborted&&(i||(i=!0,yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{content:a.token},finish_reason:null}]}))}}finally{f.releaseLock()}e?.aborted||(yield k({id:c,object:"chat.completion.chunk",created:d,model:b,choices:[{index:0,delta:{},finish_reason:"stop"}]}),yield"data: [DONE]\n\n")}async function q(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="";try{for(;!b?.aborted;){let{value:a,done:b}=await c.read();if(b)break;let g=(e+=d.decode(a,{stream:!0})).split("\n");for(let a of(e=g.pop()||"",g)){let b=a.trim();if(!b)continue;let c=o(b);if(c.token&&(f+=c.token),c.text)return c.text;if(c.error)throw Error(c.error)}}if(e.trim()){let a=o(e.trim());if(a.text)return a.text;a.token&&(f+=a.token)}}finally{c.releaseLock()}return f}class r extends d.Hv{constructor(){super("huggingchat",{id:"huggingchat",baseUrl:h})}async execute(a){var b,c;let k,o,{model:r,body:s,stream:t,credentials:u,signal:v,log:w,upstreamExtraHeaders:x}=a,y=s.messages;if(!y||!Array.isArray(y)||0===y.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};if("string"==typeof(b=u.apiKey)&&b.trim().startsWith("enc:v1:"))return{response:new Response(JSON.stringify({error:{message:"HuggingChat credentials are encrypted but STORAGE_ENCRYPTION_KEY is not loaded. Restore the encryption key or re-save the HuggingChat cookie.",type:"auth_error"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let z=(c=u.apiKey||"",(0,g.p1)(c,"hf-chat"));if(!z)return{response:new Response(JSON.stringify({error:{message:"HuggingChat requires a session cookie. Log in to huggingface.co/chat, open DevTools > Application > Cookies, and copy the hf-chat cookie value.",type:"auth_error"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let A=r||"baidu/ERNIE-4.5-VL-424B-A47B-Base-PT",{inputs:B,systemPrompt:C}=function(a){let b=[],c=[];for(let e of a){var d;let a=String(e.role||"user"),f="string"==typeof(d=e.content)?d.trim():Array.isArray(d)?d.map(a=>a&&"object"==typeof a&&("text"===a.type&&"string"==typeof a.text||"input_text"===a.type&&"string"==typeof a.text)?a.text:"").filter(a=>a.trim().length>0).join("\n").trim():"";f&&("system"===a||"developer"===a?b.push(f):("user"===a||"assistant"===a)&&c.push({role:a,content:f}))}if(0===c.length)return{inputs:b.join("\n\n"),systemPrompt:null};if(1===c.length&&"user"===c[0].role)return{inputs:c[0].content,systemPrompt:b.length>0?b.join("\n\n"):null};let e=[];for(let a of c){let b="user"===a.role?"User":"Assistant";e.push(`${b}: ${a.content}`)}return e.push("Assistant:"),{inputs:e.join("\n\n"),systemPrompt:b.length>0?b.join("\n\n"):null}}(y);if(!B.trim())return{response:new Response(JSON.stringify({error:{message:"Empty prompt after processing messages",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:s};let D={Cookie:z,"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Origin:h,Referer:`${h}/chat/`},E=AbortSignal.timeout(e.MT),F=v?(0,d.OW)(v,E):E;try{let a={model:A};C&&(a.preprompt=C);let b=await fetch(i,{method:"POST",headers:{...D,"Content-Type":"application/json"},body:JSON.stringify(a),signal:F});if(!b.ok){let a=b.status,c=await m(b),d=`HuggingChat conversation creation failed (HTTP ${a})`;return 401===a||403===a?d="HuggingChat auth failed -- your hf-chat session cookie may be missing or expired. Log in to huggingface.co/chat and re-paste your cookie.":429===a&&(d="HuggingChat rate limited. Wait a moment and retry."),c.message&&(d=`${d}: ${c.message}`),{response:new Response(JSON.stringify((0,f.buildErrorBody)(a,d,c.details)),{status:a,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}k=(await b.json()).conversationId;let c=function(a){let b=a.getSetCookie;if("function"==typeof b)return b.call(a).filter(Boolean);let c=a.get("set-cookie");return c?c.split(/,(?=\s*[^;,=\s]+=)/).map(a=>a.trim()).filter(Boolean):[]}(b.headers);if(D.Cookie=z=function(a,b){let c=new Map;for(let b of a.split(";")){let a=b.trim();if(!a)continue;let d=a.indexOf("=");d<=0||c.set(a.slice(0,d).trim(),a.slice(d+1))}for(let a of b){let b=function(a){let b=a.split(";",1)[0]?.trim()||"",c=b.indexOf("=");return c<=0?null:{name:b.slice(0,c).trim(),value:b.slice(c+1)}}(a);b&&b.value&&c.set(b.name,b.value)}return[...c.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}(z,c),!k)return{response:new Response(JSON.stringify({error:{message:"HuggingChat did not return a conversationId",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}catch(b){let a=b instanceof Error?b.message:String(b);return w?.error?.("HUGGINGCHAT",`Conversation creation failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`HuggingChat connection failed: ${a}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:D,transformedBody:s}}let G=await n(k,D,F);if(!G)return{response:new Response(JSON.stringify({error:{message:"HuggingChat did not return an initial parent message id",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:`${j}/${k}`,headers:D,transformedBody:s};let H=`${i}/${k}`,I=new FormData,J={inputs:B,is_retry:!1,is_continue:!1,generationId:crypto.randomUUID(),selectedMcpServerNames:[],selectedMcpServers:[],timezone:function(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}(),id:G};I.append("data",JSON.stringify(J)),(0,d._F)(D,x);try{o=await fetch(H,{method:"POST",headers:D,body:I,signal:F})}catch(b){let a=b instanceof Error?b.message:String(b);return w?.error?.("HUGGINGCHAT",`Message send failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`HuggingChat connection failed: ${a}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}if(!o.ok){let a=o.status,b=await m(o),c=`HuggingChat returned HTTP ${a}`;return 401===a||403===a?c="HuggingChat auth failed -- session cookie may be expired.":429===a?c="HuggingChat rate limited. Wait a moment and retry.":404===a&&(c=`HuggingChat model not found: ${A}. Check the model ID.`),b.message&&(c=`${c}: ${b.message}`),{response:new Response(JSON.stringify((0,f.buildErrorBody)(a,c,b.details)),{status:a,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"HuggingChat returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J};let K=`chatcmpl-huggingchat-${crypto.randomUUID().slice(0,12)}`,L=Math.floor(Date.now()/1e3);if(t){let a=new TextEncoder,b=p(o.body,A,K,L,v);return{response:new Response(new ReadableStream({async start(c){try{for await(let d of b)c.enqueue(a.encode(d))}catch(a){w?.error?.("HUGGINGCHAT",`Stream error: ${a}`)}finally{c.close()}}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}}),url:H,headers:D,transformedBody:J}}let M=await q(o.body,v),N=l(M);return{response:new Response(JSON.stringify({id:K,object:"chat.completion",created:L,model:A,choices:[{index:0,message:{role:"assistant",content:M},finish_reason:"stop"}],usage:{prompt_tokens:l(B),completion_tokens:N,total_tokens:l(B)+N}}),{status:200,headers:{"Content-Type":"application/json"}}),url:H,headers:D,transformedBody:J}}}},83041:(a,b,c)=>{c.d(b,{UD:()=>E});var d=c(49922),e=c(45795),f=c(47907),g=c(77598),h=c(97510),i=c(61408);c(24286);let j="us-east-1",k=/^[a-z]{2}(?:-gov)?-[a-z]+-\d+$/i;function l(a,b=j){if("string"!=typeof a)return b;let c=a.trim().toLowerCase();return k.test(c)?c:b}function m(a){let b=a&&"object"==typeof a?a:{},c=l(b.region,"");return c||function(a){if(!a)return null;try{let b=new URL(a).hostname.match(/^bedrock(?:-runtime|-mantle)?\.([a-z0-9-]+)\./i);return b?.[1]&&l(b[1],"")||null}catch{return null}}("string"==typeof b.baseUrl?b.baseUrl:null)||j}var n=c(7882);let o=new TextEncoder;function p(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function q(a){if("string"==typeof a)return a;if(null==a)return"";try{return JSON.stringify(a)}catch{return String(a)}}function r(a){return"string"==typeof a&&a.trim()?a.trim():null}function s(a,b={}){if("string"==typeof a)return a.trim()?[{text:a}]:[];if(!Array.isArray(a))return[];let c=[];for(let e of a){if("string"==typeof e){e.trim()&&c.push({text:e});continue}let a=p(e),f="string"==typeof a.type?a.type:"";if(("text"===f||"input_text"===f)&&"string"==typeof a.text){a.text.trim()&&c.push({text:a.text});continue}if("image_url"===f||"input_image"===f){var d;let b=function(a){if("string"!=typeof a)return null;let b=a.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.+)$/i);return b?{format:"jpg"===b[1].toLowerCase()?"jpeg":b[1].toLowerCase(),data:b[2]}:null}("string"==typeof a.image_url?a.image_url:a.image_url?.url||a.image_url);b&&c.push({image:{format:b.format,source:{bytes:(d=b.data,Uint8Array.from(Buffer.from(d,"base64")))}}});continue}if("tool_use"===f&&"string"==typeof a.id&&"string"==typeof a.name){let d=r(a.id);if(d&&b.skipToolUseIds?.has(d)||d&&!b.answeredToolUseIds?.has(d))continue;c.push({toolUse:{toolUseId:d||`toolu_${(0,g.randomUUID)()}`,name:a.name,input:p(a.input)}});continue}"tool_result"===f&&"string"==typeof a.tool_use_id&&c.push({toolResult:{toolUseId:a.tool_use_id,content:[{text:q(a.content)}],status:a.is_error?"error":"success"}})}return c}function t(a){return r(a?.toolUse?.toolUseId)}function u(a){return r(a?.toolResult?.toolUseId)}function v(a){return a?.role==="user"&&Array.isArray(a.content)&&a.content.length>0&&a.content.every(a=>!!u(a))}function w(a){Array.isArray(a.content)&&0!==a.content.length||(a.content=[{text:" "}])}function x(a){switch(a){case"tool_use":return"tool_calls";case"max_tokens":return"length";default:return"stop"}}function y(a){let b=Number(a?.inputTokens||0),c=Number(a?.outputTokens||0);return{prompt_tokens:b,completion_tokens:c,total_tokens:Number(a?.totalTokens||b+c)}}function z(a){return o.encode(`data: ${JSON.stringify(a)}
|
|
389
393
|
|
|
390
394
|
`)}function A(){return o.encode("data: [DONE]\n\n")}function B(a,b,c=null,d){let e={id:`chatcmpl-bedrock-${a}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,delta:b,finish_reason:c}]};return d&&(e.usage=d),e}function C(a){let b=Number(a?.$metadata?.httpStatusCode||a?.statusCode||a?.status);return Number.isInteger(b)&&b>=400&&b<=599?b:502}function D(a,b="Bedrock request failed"){let c=C(a),d="string"==typeof a?.name?a.name:`HTTP_${c}`;return{error:{message:"string"==typeof a?.message&&a.message?a.message:b,type:429===c?"rate_limit_error":401===c||403===c?"auth_error":"upstream_error",code:d,status:c}}}class E extends h.Hv{constructor(a=null){super("bedrock",i.xq.bedrock||{format:"openai"}),this.clientFactory=a}buildUrl(a,b,c=0,d=null){return function(a,b,c=!1){let d=encodeURIComponent(b);return`https://bedrock-runtime.${l(a)}.amazonaws.com/model/${d}/${c?"converse-stream":"converse"}`}(m(d?.providerSpecificData),a,b)}buildHeaders(a){return{"Content-Type":"application/json",Authorization:a?.apiKey?"Bearer ***":""}}createClient(a){let b;if(this.clientFactory)return this.clientFactory(a);let c=m(a?.providerSpecificData),e="string"==typeof(b=p(a?.providerSpecificData).customUserAgent)&&b.trim()?b.trim():null;return new d.m({region:c,token:{token:a.apiKey},authSchemePreference:["httpBearerAuth"],maxAttempts:1,...e?{customUserAgent:e}:{}})}async execute({model:a,body:b,stream:c,credentials:d,signal:h,log:i}){var j;let k,l,m,o,E,F,G,H=this.buildUrl(a,c,0,d),I=this.buildHeaders(d);if(!d?.apiKey)return{response:new Response(JSON.stringify(D({name:"MissingCredentials",message:"Missing Bedrock API key",$metadata:{httpStatusCode:401}})),{status:401,headers:{"Content-Type":"application/json"}}),url:H,headers:I,transformedBody:null};let J=this.transformRequest(a,b,c,d),K=(l=Array.isArray((k=p(J)).messages)?k.messages:[],m={},"number"==typeof(o=k.max_tokens??k.max_completion_tokens)&&(m.maxTokens=Math.max(1,Math.floor(o))),"number"==typeof k.temperature&&(m.temperature=k.temperature),"number"==typeof k.top_p&&(m.topP=k.top_p),Array.isArray(k.stop)?m.stopSequences=k.stop.filter(Boolean):"string"==typeof k.stop&&k.stop&&(m.stopSequences=[k.stop]),E={modelId:a,messages:function(a){let b=[],c=new Set,d=function(a){let b=new Set;for(let c of a)if(c&&"object"==typeof c){if("tool"===c.role){let a=r(c.tool_call_id);a&&b.add(a)}if(Array.isArray(c.content))for(let a of c.content){let c=p(a);if("tool_result"!==c.type)continue;let d=r(c.tool_use_id);d&&b.add(d)}}return b}(a);for(let e of a){if(!e||"object"!=typeof e||"system"===e.role||"developer"===e.role)continue;if("tool"===e.role){let a=r(e.tool_call_id)||`toolu_${(0,g.randomUUID)()}`;c.delete(a),d.add(a),b.push({role:"user",content:[{toolResult:{toolUseId:a,content:function(a){let b=a.content;if("string"==typeof b)return[{text:b||" "}];if(Array.isArray(b)){let a=[];for(let c of b){if("string"==typeof c){a.push({text:c||" "});continue}let b=p(c);"string"==typeof b.text?a.push({text:b.text||" "}):"json"===b.type&&void 0!==b.json?a.push({json:b.json}):void 0!==b.content&&a.push({text:q(b.content)})}return a.length>0?a:[{text:" "}]}return[{text:q(b)||" "}]}(e),status:"success"}}]});continue}let a=Array.isArray(e.tool_calls)?e.tool_calls:[],f=new Set(a.map(a=>r(a?.id)).filter(Boolean)),h=s(e.content,{skipToolUseIds:f,answeredToolUseIds:d});for(let b of a){let a=p(b.function),e="string"==typeof a.arguments?a.arguments:"{}",f={};try{f=e.trim()?JSON.parse(e):{}}catch{f={arguments:e}}let i=r(b.id)||`toolu_${(0,g.randomUUID)()}`;!c.has(i)&&d.has(i)&&(c.add(i),h.push({toolUse:{toolUseId:i,name:"string"==typeof a.name&&a.name?a.name:"unknown_tool",input:f}}))}0===h.length&&h.push({text:" "}),b.push({role:"assistant"===e.role?"assistant":"user",content:h})}return 0===b.length&&b.push({role:"user",content:[{text:" "}]}),function(a){let b=function(a){let b=[];for(let c of a){let a=b[b.length-1];if(v(a)&&v(c)){a.content.push(...c.content);continue}b.push(c)}return b}(a),c=new Map;for(let a=0;a<b.length;a++){let d=b[a];if(d?.role!=="assistant"||!Array.isArray(d.content))continue;let e=b[a+1],f=new Set(e?.role==="user"&&Array.isArray(e.content)?e.content.map(u).filter(Boolean):[]),g=d.content.map(t).filter(Boolean);if(0===g.length)continue;let h=new Set(g.filter(a=>f.has(a)));for(let a of(d.content=d.content.filter(a=>{let b=t(a);return!b||h.has(b)}),w(d),h))c.set(a,(c.get(a)||0)+1)}for(let a of b)a?.role==="user"&&Array.isArray(a.content)&&(a.content=a.content.filter(a=>{let b=u(a);if(!b)return!0;let d=c.get(b)||0;return!(d<=0)&&(c.set(b,d-1),!0)}),w(a));return b}(b)}(l)},(F=function(a){let b=[];for(let c of a){let a=c?.role;if("system"!==a&&"developer"!==a)continue;let d=s(c.content).map(a=>"string"==typeof a.text?a.text:"").filter(Boolean).join("\n");d.trim()&&b.push({text:d})}return b}(l)).length>0&&(E.system=F),Object.keys(m).length>0&&(E.inferenceConfig=m),(G=function(a,b){if(!Array.isArray(a)||0===a.length)return;let c=[];for(let b of a){let a=p(b),d="function"===a.type?p(a.function):a,e="string"==typeof d.name?d.name.trim():"";e&&c.push({toolSpec:{name:e,description:"string"==typeof d.description?d.description:void 0,inputSchema:{json:p(d.parameters)}}})}if(0===c.length)return;let d={tools:c};if("required"===b)d.toolChoice={any:{}};else if("auto"===b)d.toolChoice={auto:{}};else if(b&&"object"==typeof b){let a=p(b.function),c="string"==typeof a.name?a.name:"";c&&(d.toolChoice={tool:{name:c}})}return d}(k.tools,k.tool_choice))&&(E.toolConfig=G),E);try{let b,k=this.createClient(d);if(await n.OU(H,I,K,JSON.stringify(K),i),c){let b,c,d,f,g=await k.send(new e.v(K),{abortSignal:h||void 0});return{response:new Response((j=g.stream,b=new Map,c=0,d="stop",f=null,new ReadableStream({async start(e){try{for await(let g of(e.enqueue(z(B(a,{role:"assistant"}))),j||[])){let h=[g?.throttlingException,g?.validationException,g?.modelStreamErrorException,g?.serviceUnavailableException,g?.internalServerException].filter(Boolean)[0]||null;if(h){let a=function(a){let b=String(a?.name||a?.code||"");return b.includes("Throttling")?429:b.includes("Validation")?400:b.includes("ServiceUnavailable")?503:b.includes("InternalServer")?500:502}(h);e.enqueue(z({error:{message:h.message||"Bedrock stream failed",type:429===a?"rate_limit_error":"upstream_error",code:h.name||"bedrock_stream_error",status:a}}));break}if(g.contentBlockStart?.start?.toolUse){let d=g.contentBlockStart.start.toolUse,f=c++;b.set(g.contentBlockStart.contentBlockIndex,f),e.enqueue(z(B(a,{tool_calls:[{index:f,id:d.toolUseId,type:"function",function:{name:d.name,arguments:""}}]})));continue}if(g.contentBlockDelta?.delta){let c=g.contentBlockDelta.delta;if("string"==typeof c.text&&c.text.length>0&&e.enqueue(z(B(a,{content:c.text}))),"string"==typeof c.reasoningContent?.text&&c.reasoningContent.text&&e.enqueue(z(B(a,{reasoning_content:c.reasoningContent.text}))),"string"==typeof c.toolUse?.input){let d=b.get(g.contentBlockDelta.contentBlockIndex)??0;e.enqueue(z(B(a,{tool_calls:[{index:d,function:{arguments:c.toolUse.input}}]})))}continue}if(g.messageStop?.stopReason){d=x(g.messageStop.stopReason);continue}g.metadata?.usage&&(f=y(g.metadata.usage))}e.enqueue(z(B(a,{},d,f||void 0))),e.enqueue(A()),e.close()}catch(b){let a=D(b);e.enqueue(z(a)),e.enqueue(A()),e.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream"}}),url:H,headers:I,transformedBody:K}}let l=await k.send(new f.R(K),{abortSignal:h||void 0});return{response:new Response(JSON.stringify((b=function(a){let b=[],c=[],d=[];for(let e of Array.isArray(a)?a:[])"string"==typeof e?.text&&b.push(e.text),"string"==typeof e?.reasoningContent?.reasoningText?.text&&c.push(e.reasoningContent.reasoningText.text),e?.toolUse&&d.push({id:e.toolUse.toolUseId,type:"function",function:{name:e.toolUse.name,arguments:JSON.stringify(e.toolUse.input||{})}});let e={role:"assistant",content:b.join("")};return c.length>0&&(e.reasoning_content=c.join("")),d.length>0&&(e.content=e.content||null,e.tool_calls=d),e}(l?.output?.message?.content||[]),{id:`chatcmpl-bedrock-${(0,g.randomUUID)()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:b,finish_reason:x(l?.stopReason)}],usage:y(l?.usage)})),{status:200,headers:{"Content-Type":"application/json"}}),url:H,headers:I,transformedBody:K}}catch(b){let a=C(b);return{response:new Response(JSON.stringify(D(b)),{status:a,headers:{"Content-Type":"application/json"}}),url:H,headers:I,transformedBody:K}}}}},84664:(a,b,c)=>{c.d(b,{a:()=>x});var d=c(77598),e=c(74350),f=c(97510),g=c(67353),h=c(56452),i=c(62156),j=c(93462),k=c(86522),l=c(69896),m=c(71961),n=c(14170),o=c(95374),p=c(5341),q=c(61408);function r(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function s(a){let b=a.providerSpecificData?.extraApiKeys??[];return a.apiKey&&a.connectionId&&b.length>0?(0,i.Cy)(a.connectionId,a.apiKey,b):a.apiKey||a.accessToken||""}function t(a){return"glm-5.2-high"===a?{baseModel:"glm-5.2",effort:"high"}:"glm-5.2-max"===a?{baseModel:"glm-5.2",effort:"max"}:null}let u=/^glm-5\.(?:[2-9]|\d{2,})/i;function v(a){let b=new Headers;return a.forEach((a,c)=>b.set(c,a)),b}async function w(a){let b,c,d=await a.json().catch(()=>null),e=a.ok?(0,l.l)(d,n.h.CLAUDE,n.h.OPENAI):(b=r(d)||{},{error:{message:"string"==typeof(c=r(b.error)||b).message&&c.message.trim()?c.message:"string"==typeof b.message&&b.message.trim()?b.message:"GLM Anthropic transport error",type:"string"==typeof c.type&&c.type.trim()?c.type:"string"==typeof b.type&&b.type.trim()?b.type:"upstream_error"}}),f=v(a.headers);return f.set("content-type","application/json"),f.delete("content-length"),new Response(JSON.stringify(e),{status:a.status,statusText:a.statusText,headers:f})}class x extends e.L{constructor(a="glm"){super(a)}buildUrl(a,b,c=0,d=null){let e=(0,g.ai)(d?.providerSpecificData);return(0,g.Cd)(d?.providerSpecificData,1===c?"openai"===e?"anthropic":"openai":e,this.config.baseUrl)}buildCountTokensUrl(a,b=null){return(0,g.Ju)(b?.providerSpecificData,this.config.baseUrl)}getCountTokensTimeoutMs(){return g.ZI}buildHeaders(a,b=!0,c,e,f=(0,g.ai)(a.providerSpecificData)){return"openai"===f?(0,g.vp)(s(a),b):{...(0,g.cD)(s(a),b),"X-Stainless-Arch":(0,k._G)(),"X-Stainless-OS":(0,k.zk)(),"X-Stainless-Runtime-Version":(0,k.rm)(),"X-Stainless-Package-Version":j.VM,"X-Claude-Code-Session-Id":(0,d.randomUUID)(),"x-client-request-id":(0,d.randomUUID)()}}transformRequest(a,b,c,d){return function(a,b){let c=r(a);if(!c||!b)return a;let d={...(0,h.b)(c,b)},e="string"==typeof b.thinkingType?b.thinkingType:null;return e&&void 0===d.thinking?d.thinking={type:e}:e&&r(d.thinking)?.type==="enabled"&&(d.thinking={...r(d.thinking),type:e}),d}(super.transformRequest(a,b,c,d),this.config.requestDefaults)}transformForTransport(a,b,c,d,e){let f=t(a),g=f?f.baseModel:a,h=this.transformRequest(g,b,c,d),i=r(h);if(i&&f&&(i.model=g),i&&u.test(g)){let a=r(b);(a?.max_tokens??a?.max_completion_tokens)||(i.max_tokens=131072)}if("openai"===e){let a;return i&&c&&(a=r(i),Array.isArray(a?.tools)&&a.tools.length>0)&&void 0===i.tool_stream?{...i,tool_stream:!0}:h}let j=(0,m.GH)(n.h.OPENAI,n.h.CLAUDE,g,{...i??{},_disableToolPrefix:!0},c,d,this.provider,null,{preserveCacheControl:!1});if(f){let a=r(j);if(a){a.effort=f.effort;let b=r(a.thinking);b&&"enabled"===b.type||(a.thinking={...b,type:"enabled"})}}return j}async executeTransport(a,b){let c,d=a.credentials,e=(0,g.Cd)(d?.providerSpecificData,b,this.config.baseUrl),h=this.buildHeaders(d,a.stream,a.clientHeaders,a.model,b);(0,f.rR)(h,d.providerSpecificData),(0,f._F)(h,a.upstreamExtraHeaders);let i=this.transformForTransport(a.model,a.body,a.stream,d,b),j=this.getTimeoutMs(),k=j>0?new AbortController:null,l=null;k&&(l=setTimeout(()=>{let a=Error(`Fetch timeout after ${j}ms on ${e}`);a.name="TimeoutError",k.abort(a)},j));let m=k?.signal??null,r=a.signal&&m?(0,f.OW)(a.signal,m):a.signal||m;try{c=await fetch(e,{method:"POST",headers:h,body:JSON.stringify(i),signal:r||void 0})}finally{l&&clearTimeout(l)}a.stream&&c.ok&&(c=(await (0,p.XP)(c,{timeoutMs:q.TG,provider:this.provider,model:a.model,log:a.log})).response);let s={response:c,url:e,headers:h,transformedBody:i};if("anthropic"===b){let b=a.stream&&s.response.ok?function(a,b,c){if(!a.body)return a;let d=(0,o.i5)(n.h.CLAUDE,n.h.OPENAI,b,null,null,c),e=v(a.headers);return e.set("content-type","text/event-stream"),e.delete("content-length"),new Response(a.body.pipeThrough(d),{status:a.status,statusText:a.statusText,headers:e})}(s.response,this.provider,a.model):(s.response.headers.get("content-type")||"").toLowerCase().includes("application/json")?await w(s.response):s.response;return{...s,response:b,url:e,headers:h,transformedBody:i,targetFormat:n.h.OPENAI}}return{...s,url:e,headers:h,transformedBody:i,targetFormat:n.h.OPENAI}}async execute(a){var b;if(t(a.model))return this.executeTransport(a,"anthropic");let c=(0,g.ai)(a.credentials.providerSpecificData,this.config.baseUrl),d="openai"===c?"anthropic":"openai",e=null;try{if(b=(e=await this.executeTransport(a,c)).response.status,404!==b&&408!==b&&409!==b&&429!==b&&!(b>=500))return e;a.log?.debug?.("GLM_FALLBACK",`${c} returned ${e.response.status}; trying ${d}`)}catch(b){if(!(b&&"AbortError"!==(b instanceof Error?b:Error(String(b))).name&&1))throw b;a.log?.debug?.("GLM_FALLBACK",`${c} error (${b instanceof Error?b.message:String(b)}); trying ${d}`)}try{let b=await this.executeTransport(a,d);if(b.response.ok||!e)return b}catch(b){if(!e)throw b;a.log?.debug?.("GLM_FALLBACK",`${d} fallback failed (${b instanceof Error?b.message:String(b)}); returning primary response`)}return e}async countTokens(a){return super.countTokens({...a,credentials:{...a.credentials,providerSpecificData:{...a.credentials.providerSpecificData||{},primaryTransport:"anthropic"}}})}}},85308:(a,b,c)=>{c.d(b,{q:()=>h});var d=c(97510),e=c(61408),f=c(43659);let g=parseInt(process.env.TRAE_STREAM_TIMEOUT_MS||"300000",10);class h extends d.Hv{constructor(){super("trae",e.xq.trae)}base(){return(this.config.baseUrl||"https://core-normal.trae.ai/api/remote/v1").replace(/\/$/,"")}buildHeaders(a){let b=a.accessToken||"",c=a.providerSpecificData||{};return{Authorization:`Cloud-IDE-JWT ${b}`,"Content-Type":"application/json","X-Trae-Client-Type":"web","X-Preferenced-Language":c.appLanguage||"en","x-user-region":c.userRegion||"US",Referer:"https://solo.trae.ai/","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"}}resolveMode(a){let b=(a||"").trim().toLowerCase();if("work"===b||"auto-work"===b||"solo-work"===b)return{mode:"work",strategy:"auto",modelName:""};let c=!b||"auto"===b;return{mode:"code",strategy:c?"auto":"manual",modelName:c?"":a}}commonParams(a,b,c){let d={language:"en-us",app_language:a.appLanguage||"en",quality:"stable",app_version:a.appVersion||"1.0.0.1229",web_id:a.webId||"",user_identity:a.userIdentity||"Free",is_freshman:"0",biz_user_id:a.bizUserId||"",user_unique_id:a.userUniqueId||"",scope:a.scope||"marscode-us",tenant:a.tenant||"marscode",region:a.region||"US-East",aiRegion:a.aiRegion||a.region||"US-East",is_privacy_mode:0,privacy_mode:"off",solo_chat_mode:b};return c&&(d.biz_session_id=c),JSON.stringify(d)}async createSession(a,b,c,d,e){let{mode:f,strategy:g,modelName:h}=this.resolveMode(c),i={mode:f,environment_id:"default",initial_message:{chat_session_id:"",content:[],query:b,model_name:h,agent_type:"solo_agent_remote",model_selection_strategy:g,common_params:this.commonParams(d,f)},env:"remote",auto_create_project:!1,origin:"web"},j=await fetch(`${this.base()}/chat_sessions`,{method:"POST",headers:a,body:JSON.stringify(i),signal:e||void 0}),k=await j.text();if(!j.ok)throw Error(`[${j.status}] ${k}`);let l=JSON.parse(k);if(l?.code!==0)throw Error(`Trae create_session: ${JSON.stringify(l)}`);return{sessionId:l.data.chat_session_id,messageId:l.data.message_id}}async streamEvents(a,b,c,d,e){let f=`${this.base()}/chat_sessions/${b}/events?reply_to_message_id=${encodeURIComponent(c)}`,h=new AbortController;e?.aborted&&h.abort();let i=setTimeout(()=>h.abort(Error("trae stream timeout")),g),j=()=>h.abort();e&&e.addEventListener("abort",j,{once:!0});try{let b=await fetch(f,{method:"GET",headers:a,signal:h.signal});if(!b.ok||!b.body)throw Error(`[${b.status}] events stream failed`);let c=b.body.getReader(),e=new TextDecoder,g="",i=null;for(;;){let a,{done:b,value:f}=await c.read();if(b)break;for(g+=e.decode(f,{stream:!0});(a=g.indexOf("\n"))>=0;){let b=g.slice(0,a).replace(/\r$/,"");if(g=g.slice(a+1),b.startsWith("event:"))i=b.slice(6).trim();else if(b.startsWith("data:")){let a,e=b.slice(5).trim();try{a=JSON.parse(e)}catch{a={_raw:e}}if(d(i,a))return void await c.cancel().catch(()=>{})}else""===b&&(i=null)}}}finally{clearTimeout(i),e&&e.removeEventListener("abort",j)}}async execute({model:a,body:b,stream:c,credentials:e,signal:g,upstreamExtraHeaders:h}){let i,j=this.buildHeaders(e);(0,d._F)(j,h);let k=e.providerSpecificData||{},l=function(a){let b=[];for(let c of a){let a="";"string"==typeof c.content?a=c.content:Array.isArray(c.content)&&(a=c.content.map(a=>"string"==typeof a?a:a&&"object"==typeof a?String(a.text??""):"").join("")),"system"===c.role?b.push(`[System]
|
|
391
395
|
${a}`):"assistant"===c.role?b.push(`[Assistant]
|
|
@@ -498,8 +502,4 @@ ${a}
|
|
|
498
502
|
|
|
499
503
|
`)),b.enqueue(a.encode(`data: ${JSON.stringify(g("",t,"stop"))}
|
|
500
504
|
|
|
501
|
-
`)),b.enqueue(a.encode("data: [DONE]\n\n")),b.close()}},{highWaterMark:16384});return{response:new Response(b,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:f,headers:{},transformedBody:d}}return{response:new Response(JSON.stringify(function(a,b,c="stop"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:c}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}}(p,t)),{status:200,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:d}}catch(b){let a=b instanceof Error?b.message:"Unknown error";if(a&&/executable doesn't exist|executablenotfound|playwright install|chromium.*download/i.test(a))return{response:new Response(JSON.stringify({error:"Gemini Web requires the Playwright Chromium browser, which is not installed. Run `npx playwright install chromium` on the host (or rebuild the Docker image with browsers)."}),{status:503,headers:{"Content-Type":"application/json","X-Omni-Fallback-Hint":"connection_cooldown"}}),url:f,headers:{},transformedBody:d};return{response:new Response(JSON.stringify({error:(0,e.sanitizeErrorMessage)(a)}),{status:500,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:d}}finally{if(o&&j?.removeEventListener("abort",o),n)try{await n.close()}catch{}}}}},98946:(a,b,c)=>{c.d(b,{fD:()=>v,sG:()=>w,lJ:()=>y,bm:()=>x,b3:()=>J,v4:()=>G,TM:()=>N,UF:()=>L,mK:()=>K,N_:()=>H,vK:()=>O,O8:()=>E,o_:()=>I,Xo:()=>F,D3:()=>M,Ex:()=>P,C4:()=>Q,gB:()=>z,FA:()=>S,H9:()=>u});var d=c(38522),e=c.n(d),f=c(77598),g=c.n(f);function h(a){let b="bigint"==typeof a?a:BigInt(a),c=[];for(;b>127n;)c.push(128|Number(127n&b)),b>>=7n;return c.push(Number(b)),Buffer.from(c)}function i(a,b){return h(a<<3|b)}function j(a,b){let c=Buffer.isBuffer(b)?b:Buffer.from(b);return Buffer.concat([i(a,2),h(c.length),c])}function k(a,b){return j(a,Buffer.from(b,"utf8"))}function l(a,b){let c=Buffer.concat(b);return Buffer.concat([i(a,2),h(c.length),c])}function m(a,b){return Buffer.concat([i(a,0),h(b)])}function n(a,b){let c=0n,d=0n,e=b;for(;e<a.length;){let b=a[e++];if(c|=BigInt(127&b)<<d,(128&b)==0)return[c,e];d+=7n}throw Error("varint truncated")}function o(a,b,c){if(a<0n||a>BigInt(c.length-b))throw Error(`length-delimited field overruns buffer (len=${a}, remaining=${c.length-b})`);return Number(a)}function p(a){let b=[],c=0;for(;c<a.length;){let[d,e]=n(a,c);c=e;let f=Number(d>>3n),g=Number(7n&d);if(0===g){let[d,e]=n(a,c);c=e,b.push({fieldNumber:f,wireType:0,varint:d})}else if(2===g){let[d,e]=n(a,c),g=o(d,c=e,a);b.push({fieldNumber:f,wireType:2,bytes:a.subarray(c,c+g)}),c+=g}else if(5===g)c+=4;else if(1===g)c+=8;else throw Error(`unsupported wireType ${g}`)}return b}function q(a,b){return a.find(a=>a.fieldNumber===b)}function r(a,b){let c=q(p(a),b);return c&&2===c.wireType?c.bytes.toString("utf8"):""}function s(a,b=!1){let c=b?e().gzipSync(a):a,d=Buffer.alloc(5);return d[0]=+!!b,d.writeUInt32BE(c.length,1),Buffer.concat([d,c])}let t={"":"composer-2.5","composer-2-5":"composer-2.5","composer-2.5-sdk":"composer-2.5","composer-latest":"composer-2.5","composer-2-5-fast":"composer-2.5-fast","composer-2.5-sdk-fast":"composer-2.5-fast","composer-latest-fast":"composer-2.5-fast"};function u(a){return a.map(a=>{let b=a.function?.parameters??{type:"object",properties:{}};return{name:a.function.name,description:a.function.description??"",inputSchemaBytes:function a(b){if(null==b)return Buffer.concat([i(1,0),h(0)]);if("number"==typeof b){let a;return(a=Buffer.alloc(8)).writeDoubleLE(b,0),Buffer.concat([i(2,1),a])}if("string"==typeof b)return k(3,b);if("boolean"==typeof b)return Buffer.concat([i(4,0),h(+!!b)]);if(Array.isArray(b)){let c=b.map(b=>l(1,[a(b)]));return l(6,c)}if("object"==typeof b){let c=[];for(let[d,e]of Object.entries(b)){let b=Buffer.concat([k(1,d),l(2,[a(e)])]);c.push(l(1,[b]))}return l(5,c)}return Buffer.concat([i(1,0),h(0)])}(b),providerIdentifier:"omniroute",toolName:a.function.name}})}function v(a){return s(function(a){let b,c,d=a.conversationId||g().randomUUID(),e=a.messageId||g().randomUUID(),{modelId:f,parameters:n}="auto"===(c=t[(b=(a.modelId??"").trim()).toLowerCase()]??b)?{modelId:"default",parameters:[]}:c.startsWith("composer-")&&c.endsWith("-fast")?{modelId:c.slice(0,-5),parameters:[{id:"fast",value:"true"}]}:{modelId:c,parameters:[]},o=[];if(a.images&&a.images.length>0)for(let b of a.images)o.push(l(1,[function(a){let b=[k(2,a.uuid)];return"number"==typeof a.width&&"number"==typeof a.height&&Number.isFinite(a.width)&&Number.isFinite(a.height)&&a.width>0&&a.height>0&&b.push(l(4,[m(1,Math.floor(a.width)),m(2,Math.floor(a.height))])),a.mimeType&&b.push(k(7,a.mimeType)),b.push(j(8,a.data)),Buffer.concat(b)}(b)]));let p=l(1,[k(1,a.userText),k(2,e),l(3,o),Buffer.concat([i(4,0),h(1)])]),q=l(1,[p]),r=l(2,[q]),s=[];if(a.systemPrompt&&a.blobStore){let b=JSON.stringify({role:"system",content:a.systemPrompt}),c=Buffer.from(b,"utf8"),d=g().createHash("sha256").update(c).digest();a.blobStore.set(d.toString("hex"),c),s.push(j(1,d))}let v=l(1,s),w=[k(1,f)];for(let a of n)w.push(l(3,[k(1,a.id),k(2,a.value)]));let x=l(9,w),y=[v,r,l(3,[k(1,f),k(3,f),k(4,f)]),l(4,(a.tools?u(a.tools):[]).map(a=>l(1,[R(a)]))),k(5,d),x,Buffer.concat([i(12,0),h(0)]),k(16,d)];return l(1,y)}(a))}function w(a){let b=[];for(let c of p(a)){if(4===c.fieldNumber&&2===c.wireType){b.push({kind:"kv_server_message"});continue}if(1===c.fieldNumber&&2===c.wireType){for(let a of p(c.bytes))if(2===a.wireType||0===a.wireType)switch(a.fieldNumber){case 1:2===a.wireType&&b.push({kind:"text",text:r(a.bytes,1)});break;case 4:2===a.wireType&&b.push({kind:"thinking",text:r(a.bytes,1)});break;case 5:b.push({kind:"thinking_complete"});break;case 2:b.push({kind:"tool_call_started"});break;case 3:b.push({kind:"tool_call_completed"});break;case 8:2===a.wireType&&b.push({kind:"token_delta",tokens:function(a){let b=q(p(a),1);return b&&0===b.wireType?Number(b.varint):0}(a.bytes)});break;case 13:b.push({kind:"heartbeat"});break;case 14:b.push({kind:"turn_ended"});break;default:b.push({kind:"unknown",field:a.fieldNumber})}}}return b}function x(a){for(let b of p(a)){if(4!==b.fieldNumber||2!==b.wireType)continue;let a=0,c=null,d=null,e=null;for(let f of p(b.bytes))1===f.fieldNumber&&0===f.wireType?a=Number(f.varint):2===f.fieldNumber&&2===f.wireType?c=f.bytes:3===f.fieldNumber&&2===f.wireType?d=f.bytes:4===f.fieldNumber&&2===f.wireType&&(e=f.bytes);if(c){let b=Buffer.alloc(0);for(let a of p(c))1===a.fieldNumber&&2===a.wireType&&(b=a.bytes);return{kind:"kv_get_blob",kvId:a,blobId:b,requestMetadata:e}}if(d){let b=Buffer.alloc(0),c=Buffer.alloc(0);for(let a of p(d))1===a.fieldNumber&&2===a.wireType?b=a.bytes:2===a.fieldNumber&&2===a.wireType&&(c=a.bytes);return{kind:"kv_set_blob",kvId:a,blobId:b,blobData:c,requestMetadata:e}}}return null}function y(a){for(let b of p(a)){if(2!==b.fieldNumber||2!==b.wireType)continue;let a=0,c="",d=0,e=null;for(let f of p(b.bytes))1===f.fieldNumber&&0===f.wireType?a=Number(f.varint):15===f.fieldNumber&&2===f.wireType?c=f.bytes.toString("utf8"):2===f.wireType&&0===d&&(d=f.fieldNumber,e=f.bytes);if(null!==e)switch(d){case 10:return{kind:"exec_request_context",execMsgId:a,execId:c};case 7:return{kind:"exec_read",execMsgId:a,execId:c,path:r(e,1)};case 3:return{kind:"exec_write",execMsgId:a,execId:c,path:r(e,1)};case 4:return{kind:"exec_delete",execMsgId:a,execId:c,path:r(e,1)};case 8:return{kind:"exec_ls",execMsgId:a,execId:c,path:r(e,1)};case 5:return{kind:"exec_grep",execMsgId:a,execId:c};case 9:return{kind:"exec_diagnostics",execMsgId:a,execId:c};case 2:return{kind:"exec_shell",execMsgId:a,execId:c,command:r(e,1),workingDir:r(e,2)};case 14:return{kind:"exec_shell_stream",execMsgId:a,execId:c,command:r(e,1),workingDir:r(e,2)};case 16:return{kind:"exec_bg_shell",execMsgId:a,execId:c,command:r(e,1),workingDir:r(e,2)};case 20:return{kind:"exec_fetch",execMsgId:a,execId:c,url:r(e,1)};case 23:return{kind:"exec_write_shell_stdin",execMsgId:a,execId:c};case 11:{let b="",d="",f={};for(let a of p(e))if(2===a.wireType)if(5===a.fieldNumber)b=a.bytes.toString("utf8");else if(1!==a.fieldNumber||b){if(3===a.fieldNumber)d=a.bytes.toString("utf8");else if(2===a.fieldNumber){let b="",c=null;for(let d of p(a.bytes))1===d.fieldNumber&&2===d.wireType?b=d.bytes.toString("utf8"):2===d.fieldNumber&&2===d.wireType&&(c=d.bytes);b&&null!==c&&(f[b]=function a(b){let c=0;for(;c<b.length;){let[d,e]=n(b,c);c=e;let f=Number(d>>3n),g=Number(7n&d);switch(f){case 1:return 0===g&&([,c]=n(b,c)),null;case 2:if(1===g&&c+8<=b.length){let a=b.readDoubleLE(c);return c+=8,a}return 0;case 3:if(2===g){let[a,d]=n(b,c),e=o(a,c=d,b),f=b.subarray(c,c+e).toString("utf8");return c+=e,f}return"";case 4:if(0===g){let[a,d]=n(b,c);return c=d,0n!==a}return!1;case 5:if(2===g){let[d,e]=n(b,c),f=o(d,c=e,b),g=b.subarray(c,c+f);return c+=f,function(b){let c={};for(let d of p(b))if(1===d.fieldNumber&&2===d.wireType){let b="",e=null;for(let a of p(d.bytes))1===a.fieldNumber&&2===a.wireType?b=a.bytes.toString("utf8"):2===a.fieldNumber&&2===a.wireType&&(e=a.bytes);b&&e&&(c[b]=a(e))}return c}(g)}return{};case 6:if(2===g){let[d,e]=n(b,c),f=o(d,c=e,b),g=b.subarray(c,c+f);return c+=f,function(b){let c=[];for(let d of p(b))1===d.fieldNumber&&2===d.wireType&&c.push(a(d.bytes));return c}(g)}return[];default:if(0===g)[,c]=n(b,c);else if(2===g){let[a,d]=n(b,c);c=d+Number(a)}else 1===g?c+=8:5===g&&(c+=4)}}return null}(c))}}else b=a.bytes.toString("utf8");return{kind:"exec_mcp",execMsgId:a,execId:c,toolName:b,toolCallId:d,args:f}}default:return null}}return null}function z(a,b,c){let d=[];if(c&&c.length>0)for(let a of c)d.push(l(A,[R(a)]));let e=l(1,d),f=l(1,[e]);return s(l(2,[m(1,a),k(15,b),l(10,[f])]))}let A=2;function B(a,b,c,d){return s(l(2,[m(1,a),k(15,b),l(c,[d])]))}function C(a,b){return Buffer.concat([k(1,a),k(2,b)])}function D(a,b,c){return Buffer.concat([k(1,a),k(2,b),k(3,c)])}function E(a,b,c,d){return B(a,b,7,l(2,[C(c,d)]))}function F(a,b,c,d){return B(a,b,3,l(2,[C(c,d)]))}function G(a,b,c,d){return B(a,b,4,l(2,[C(c,d)]))}function H(a,b,c,d){return B(a,b,8,l(2,[C(c,d)]))}function I(a,b,c,d,e){return B(a,b,2,l(2,[D(c,d,e)]))}function J(a,b,c,d,e){return B(a,b,16,l(2,[D(c,d,e)]))}function K(a,b,c){return B(a,b,5,l(2,[k(1,c)]))}function L(a,b,c,d){return B(a,b,20,l(2,[Buffer.concat([k(1,c),k(2,d)])]))}function M(a,b,c){return B(a,b,23,l(2,[k(1,c)]))}function N(a,b){return B(a,b,9,Buffer.alloc(0))}function O(a,b,c,d){let e=l(1,[k(1,c)]),f=[l(1,[e])];return d&&f.push(Buffer.concat([i(2,0),h(1)])),B(a,b,11,l(1,f))}function P(a,b,c=null){let d=j(1,b),e=[];return 0!==a&&e.push(m(1,a)),e.push(l(2,[d])),c&&c.length>0&&e.push(j(4,c)),s(l(3,e))}function Q(a,b=null){let c=[];return 0!==a&&c.push(m(1,a)),c.push(l(3,[])),b&&b.length>0&&c.push(j(4,b)),s(l(3,c))}function R(a){let b=[k(1,a.name),k(2,a.description),j(3,a.inputSchemaBytes)];return a.providerIdentifier&&b.push(k(4,a.providerIdentifier)),a.toolName&&b.push(k(5,a.toolName)),Buffer.concat(b)}function S(a){if(!Array.isArray(a)||0===a.length)return"";let b=a=>"string"==typeof a?a:null!=a&&Array.isArray(a)?a.map(a=>"string"==typeof a?.text?a.text:"").filter(Boolean).join("\n"):"",c=a.filter(a=>"system"===a.role).map(a=>b(a.content)).filter(Boolean),d=a.filter(a=>"system"!==a.role);if(1===d.length&&"user"===d[0].role&&!d[0].tool_calls){let a=b(d[0].content);return c.length>0?`${c.join("\n\n")}
|
|
502
|
-
|
|
503
|
-
${a}`:a}let e=[];for(let a of d){let c=b(a.content);if("user"===a.role)c&&e.push(`User: ${c}`);else if("assistant"===a.role){if(c&&e.push(`Assistant: ${c}`),Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=b.function?.arguments??"";e.push(`Assistant called tool ${b.function?.name??"(unknown)"} (${b.id}) with arguments: ${a}`)}}else if("tool"===a.role){let b=a.tool_call_id??"(unknown)";e.push(`Tool result (${b}): ${c}`)}else c&&e.push(`${a.role}: ${c}`)}let f=e.join("\n\n");return c.length>0?`${c.join("\n\n")}
|
|
504
|
-
|
|
505
|
-
${f}`:f}}};
|
|
505
|
+
`)),b.enqueue(a.encode("data: [DONE]\n\n")),b.close()}},{highWaterMark:16384});return{response:new Response(b,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:f,headers:{},transformedBody:d}}return{response:new Response(JSON.stringify(function(a,b,c="stop"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:c}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}}(p,t)),{status:200,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:d}}catch(b){let a=b instanceof Error?b.message:"Unknown error";if(a&&/executable doesn't exist|executablenotfound|playwright install|chromium.*download/i.test(a))return{response:new Response(JSON.stringify({error:"Gemini Web requires the Playwright Chromium browser, which is not installed. Run `npx playwright install chromium` on the host (or rebuild the Docker image with browsers)."}),{status:503,headers:{"Content-Type":"application/json","X-Omni-Fallback-Hint":"connection_cooldown"}}),url:f,headers:{},transformedBody:d};return{response:new Response(JSON.stringify({error:(0,e.sanitizeErrorMessage)(a)}),{status:500,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:d}}finally{if(o&&j?.removeEventListener("abort",o),n)try{await n.close()}catch{}}}}}};
|