switchboard-router 0.9.8 → 0.9.10
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/static/chunks/1321-a73f95036c368bd4.js +1 -0
- package/app/.next/static/chunks/1330-846d6a9e1497295e.js +7 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/agent-library/page-65e302b698beee56.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-337881fe6c0cc77a.js +16 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/loading-c80ac975cf0f4842.js +1 -0
- package/app/{.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-78d098f14f8cff05.js → .next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-efb20dd903e0dc94.js} +10 -10
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-03290d1edb08623a.js +4 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-9bcd63bfeeac87c6.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-97e0f7067cab0724.js → page-ca71683d9d850162.js} +3 -3
- package/app/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-c5c37fbce431369b.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-b582299fa61407d9.js +1 -0
- package/app/.next/static/css/92ffae29025c5847.css +1 -0
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/combos/routing/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- 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 +3 -3
- 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 +10 -10
- 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 +1 -1
- 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/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- 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/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.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/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- 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 +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +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/cli-tools/aider-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +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/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/claude-full-catalog/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js.nft.json +1 -1
- 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/cline-settings/route.js +2 -2
- 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/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/cowork-mcp-registry/route.js +2 -2
- 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-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-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/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/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/gemini-cli-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +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/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/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/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/opencode-settings/route.js +1 -1
- 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/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js.nft.json +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/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/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +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/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/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/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/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/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/locale/route.js.nft.json +1 -1
- 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]/sse/route.js.nft.json +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/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/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/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/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/mgmt/v1/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +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/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/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/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/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/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/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/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/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/cursor/auto-import/route.js.nft.json +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/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/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/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/auto-import/route.js.nft.json +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-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/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-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/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/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/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/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/providers/[id]/model-probes/batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +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]/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]/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-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/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/kilo/free-models/route.js.nft.json +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/suggested-models/route.js.nft.json +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/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/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/feedback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +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/proxy-test/route.js.nft.json +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/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +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/token-saver/vault-stats/route.js.nft.json +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/stream/route.js +1 -1
- 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/load/route.js.nft.json +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/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/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/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]/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/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/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/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/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/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-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/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/stream/route.js +2 -6
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +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/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/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/voices/route.js.nft.json +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/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/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/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/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/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/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/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/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/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/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/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/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +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/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/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/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/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/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/callback/page.js +1 -1
- 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 +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
- 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 +4 -4
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- 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 +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- 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 +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- 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 +8 -8
- package/app/.next-cli-build/server/chunks/1158.js +1 -0
- package/app/.next-cli-build/server/chunks/1274.js +1 -0
- package/app/.next-cli-build/server/chunks/1351.js +1 -0
- package/app/.next-cli-build/server/chunks/1792.js +2 -0
- package/app/.next-cli-build/server/chunks/{159.js → 1837.js} +1 -1
- package/app/.next-cli-build/server/chunks/1937.js +1 -1
- package/app/.next-cli-build/server/chunks/1998.js +1 -1
- package/app/.next-cli-build/server/chunks/{3986.js → 2142.js} +2 -2
- package/app/.next-cli-build/server/chunks/{9508.js → 27.js} +5 -42
- package/app/.next-cli-build/server/chunks/3423.js +1 -0
- package/app/.next-cli-build/server/chunks/3446.js +1 -1
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/369.js +10 -10
- package/app/.next-cli-build/server/chunks/3735.js +2 -2
- package/app/.next-cli-build/server/chunks/403.js +1 -0
- package/app/.next-cli-build/server/chunks/4330.js +7 -0
- package/app/.next-cli-build/server/chunks/{940.js → 4675.js} +2 -2
- package/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/4803.js +1 -1
- package/app/.next-cli-build/server/chunks/507.js +1 -1
- package/app/.next-cli-build/server/chunks/5115.js +1 -0
- package/app/.next-cli-build/server/chunks/519.js +1 -0
- package/app/.next-cli-build/server/chunks/5195.js +1 -0
- package/app/.next-cli-build/server/chunks/5258.js +1 -1
- package/app/.next-cli-build/server/chunks/5717.js +9 -14
- package/app/.next-cli-build/server/chunks/5774.js +1 -0
- package/app/.next-cli-build/server/chunks/5781.js +2 -2
- package/app/.next-cli-build/server/chunks/5888.js +1 -1
- package/app/.next-cli-build/server/chunks/5920.js +2 -2
- package/app/.next-cli-build/server/chunks/6194.js +1 -0
- package/app/.next-cli-build/server/chunks/6252.js +1 -1
- package/app/.next-cli-build/server/chunks/6305.js +2 -0
- package/app/.next-cli-build/server/chunks/6328.js +1 -1
- package/app/.next-cli-build/server/chunks/6406.js +1 -1
- package/app/.next-cli-build/server/chunks/6492.js +1 -1
- package/app/.next-cli-build/server/chunks/{5913.js → 6757.js} +38 -1
- package/app/.next-cli-build/server/chunks/698.js +1 -1
- package/app/.next-cli-build/server/chunks/7133.js +1 -0
- package/app/.next-cli-build/server/chunks/7454.js +1 -1
- package/app/.next-cli-build/server/chunks/{3072.js → 7880.js} +2 -2
- package/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/app/.next-cli-build/server/chunks/8027.js +63 -0
- package/app/.next-cli-build/server/chunks/8062.js +1 -1
- package/app/.next-cli-build/server/chunks/8400.js +12 -12
- package/app/.next-cli-build/server/chunks/8469.js +1 -1
- package/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/8775.js +1 -1
- package/app/.next-cli-build/server/chunks/8789.js +1 -1
- package/app/.next-cli-build/server/chunks/8942.js +2 -2
- package/app/.next-cli-build/server/chunks/8976.js +1 -1
- package/app/.next-cli-build/server/chunks/8998.js +33 -38
- package/app/.next-cli-build/server/chunks/9059.js +1 -0
- package/app/.next-cli-build/server/chunks/9091.js +3 -3
- package/app/.next-cli-build/server/chunks/9261.js +2 -2
- package/app/.next-cli-build/server/chunks/9264.js +2 -2
- package/app/.next-cli-build/server/chunks/9421.js +2 -2
- package/app/.next-cli-build/server/chunks/static/media/versions.4155c5ec.json +24 -0
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +11 -16
- 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-a73f95036c368bd4.js +1 -0
- package/app/.next-cli-build/static/chunks/1330-846d6a9e1497295e.js +7 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-65e302b698beee56.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-337881fe6c0cc77a.js +16 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/loading-c80ac975cf0f4842.js +1 -0
- package/app/{.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-78d098f14f8cff05.js → .next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-efb20dd903e0dc94.js} +10 -10
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-03290d1edb08623a.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-9bcd63bfeeac87c6.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-97e0f7067cab0724.js → page-ca71683d9d850162.js} +3 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-c5c37fbce431369b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-b582299fa61407d9.js +1 -0
- package/app/.next-cli-build/static/css/92ffae29025c5847.css +1 -0
- package/app/open-sse/identity/snapshots/versions.json +9 -5
- package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
- package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
- package/app/package.json +1 -1
- package/app/public/i18n/literals/zh-CN.json +17 -1
- package/app/src/lib/updater/updater.js +7 -2
- package/cli.js +85 -33
- package/hooks/trayRuntime.js +72 -17
- package/package.json +1 -1
- package/src/cli/api/client.js +9 -3
- package/src/cli/cliOptions.js +1 -1
- package/src/cli/processManager.js +61 -1
- package/src/cli/serverStatus.js +66 -4
- package/src/cli/terminalUI.js +5 -2
- package/src/cli/tray/autostart.js +20 -4
- package/src/cli/tray/tray.js +4 -1
- package/src/cli/utils/display.js +20 -0
- package/app/.next/static/chunks/1321-0003ef56aef2b3ab.js +0 -1
- package/app/.next/static/chunks/1330-56405eca78b12fee.js +0 -7
- package/app/.next/static/chunks/app/(dashboard)/dashboard/agent-library/page-40f3ca16440f8e17.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-ca47b09e6ed6ae7b.js +0 -16
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-ff13a39fb7744f5e.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-86cd6523dcd61f1b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1805f993834a1adb.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-645e7c5ec034fe8c.js +0 -1
- package/app/.next/static/css/196a6347b9104610.css +0 -1
- package/app/.next-cli-build/server/chunks/1350.js +0 -1
- package/app/.next-cli-build/server/chunks/1656.js +0 -2
- package/app/.next-cli-build/server/chunks/194.js +0 -1
- package/app/.next-cli-build/server/chunks/3026.js +0 -1
- package/app/.next-cli-build/server/chunks/5616.js +0 -1
- package/app/.next-cli-build/server/chunks/6052.js +0 -2
- package/app/.next-cli-build/server/chunks/6182.js +0 -63
- package/app/.next-cli-build/server/chunks/6274.js +0 -1
- package/app/.next-cli-build/server/chunks/6347.js +0 -1
- package/app/.next-cli-build/server/chunks/849.js +0 -1
- package/app/.next-cli-build/server/chunks/8658.js +0 -1
- package/app/.next-cli-build/server/chunks/8834.js +0 -7
- package/app/.next-cli-build/server/chunks/9617.js +0 -1
- package/app/.next-cli-build/server/chunks/static/media/versions.401d57e8.json +0 -20
- package/app/.next-cli-build/static/chunks/1321-0003ef56aef2b3ab.js +0 -1
- package/app/.next-cli-build/static/chunks/1330-56405eca78b12fee.js +0 -7
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-40f3ca16440f8e17.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-ca47b09e6ed6ae7b.js +0 -16
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-ff13a39fb7744f5e.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-86cd6523dcd61f1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1805f993834a1adb.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-645e7c5ec034fe8c.js +0 -1
- package/app/.next-cli-build/static/css/196a6347b9104610.css +0 -1
- /package/app/.next/static/{Kxe3gixpS84MCzX8yohZb → pVi5nGAVrNaYdEp0c24Nk}/_buildManifest.js +0 -0
- /package/app/.next/static/{Kxe3gixpS84MCzX8yohZb → pVi5nGAVrNaYdEp0c24Nk}/_ssgManifest.js +0 -0
- /package/app/.next-cli-build/static/{Kxe3gixpS84MCzX8yohZb → pVi5nGAVrNaYdEp0c24Nk}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{Kxe3gixpS84MCzX8yohZb → pVi5nGAVrNaYdEp0c24Nk}/_ssgManifest.js +0 -0
|
@@ -42,29 +42,29 @@ ${e.length} files in ${g.length} dirs:
|
|
|
42
42
|
`,b.slice(0,10)))h+=` ${a}
|
|
43
43
|
`;b.length>10&&(h+=` +${b.length-10}
|
|
44
44
|
`),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
|
|
45
|
-
`),h.replace(/\n+$/,"")}t.filterName="search-list";let u=/^Result of search in '[^']*' \(total (\d+) files?\):/,v=/^diff --git /m,w=/^@@ /m,x=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,y=/^[*|/\\ ]*commit [0-9a-f]{7,40}(\s|$|[([<{])/im,z=/^[ MADRCU?!][ MADRCU?!] \S/m,A=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,B=/[├└]──|│ /,C=/^[-dlbcps][rwx-]{9}/m,D=/^total \d+$/m;function E(a){return null!==j(a)}function F(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")||b.includes("\\")))}function G(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content)){for(let a of c.content)if(a&&"string"==typeof a.text){if(H(a.text))continue;a.text=I(a.text,b,"kiro-tool-result")}}}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if(!0===b.is_error||"error"===b.status)continue;if("string"==typeof b.output){if(H(b.output))continue;b.output=I(b.output,e,"openai-responses-string")}else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];if(c&&"input_text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-responses-array")}}continue}if("tool"===b.role&&"string"==typeof b.content){if(!0===b.is_error||H(b.content))continue;b.content=I(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){if(!0===b.is_error)continue;for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-tool-array")}}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content){if(H(c.content))continue;c.content=I(c.content,e,"claude-string")}else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];if(b&&"text"===b.type&&"string"==typeof b.text){if(H(b.text))continue;b.text=I(b.text,e,"claude-array")}}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function H(a){return"string"==typeof a&&!(a.length<8)&&(/^\s*(Error|Exception|Traceback|TypeError|ReferenceError|SyntaxError|Failed)\b/m.test(a)||/\bat\s+\S+\s+\([^)]+:\d+:\d+\)/.test(a))}function I(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,j=a.length>1024?a.slice(0,1024):a,n=a.split("\n");if(y.test(j))return g;if(v.test(j)||w.test(j))return e;if(x.test(j))return f;if(A.test(j))return i;if(!((d=j.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>z.test(a)).length/d.length>=.6)return f;let G=j.split("\n").filter(a=>a.trim().length>0);return G.slice(0,5).some(E)?k:G.length>=3&&G.every(F)?l:B.test(j)?p:D.test(j)||(b=j,h=new RegExp((c=C).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?o:u.test(j)?t:n.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,s.test(d)&&b++);return!(c<5)&&b/c>=.7}(n)?r:G.length>=5?m:a.split("\n").length>=250?q:null}(a);if(!h)return b.bytesAfter+=d,a;let j=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!j||0===j.length||j.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=j.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-j.length}),j)}function J(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},1160:(a,b,c)=>{c.d(b,{BP:()=>l,Eh:()=>h,n8:()=>k,sk:()=>i});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO,f=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],g=0;function h(){let a=f[g%f.length];return g++,a}function i(a){let b=String(a??"");if(!b)return h();let c=0,d=Math.min(b.length,128);for(let a=0;a<d;a++)c=31*c+b.charCodeAt(a)|0;return f[Math.abs(c)%f.length]}function j(a,b,c){let d=a?`${a} `:"";return`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${d}${b} ${c}`}function k(a,b,c){e>d.INFO||console.log(j(a,b,c))}function l(a,b,c){console.log(j(a,b,c))}},2735:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(17717),e=c(48664),f=c(19956),g=c(60290),h=c(6755);function i(a,b,c="",e=!1){if(!c.includes("claude-cli")||!a.messages?.length)return null;let f=a.messages,h=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",j=!1,m=!1,n=f[f.length-1];if(n?.role==="assistant"&&n.content?.[0]?.text==="{"&&(j=!0),j||"Warmup"===h(f[0]?.content)&&(j=!0),j||1!==f.length||f[0]?.role!=="user"||"count"===h(f[0]?.content)&&(j=!0),!j&&g.C8?.length){let a=f.filter(a=>"user"===a.role).map(a=>h(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(j=!0)}if(!j&&e){let b=f.find(a=>"system"===a.role),c=h(b?.content),d=Array.isArray(a.system)?a.system.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"string"==typeof a.system?a.system:"";(c||d).includes("isNewTopic")&&(j=!0,m=!0)}if(!j)return null;let o=(0,d.Tz)(a),p=!1!==a.stream;if(m){let a=f.find(a=>"user"===a.role),c=JSON.stringify({isNewTopic:!0,title:h(a?.content).trim().split(/\s+/).slice(0,3).join(" ")});return p?l(o,b,c):k(o,b,c)}return p?l(o,b):k(o,b)}function j(a,b="CLI Command Execution: Clear Terminal"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a,b,c){let d=j(b,c);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json"}})};let g=(0,e.Ws)(a);g.model=b;let h=m(d),i=[];for(let b of h){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);c?.length>0&&i.push(...c)}let k=(0,e.Y8)(f.h.OPENAI,a,null,g);return k?.length>0&&i.push(...k),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);if(d?.message){c=d.message;let a=d.message.usage,e=b?.usage;(a||e)&&(c.usage={...a||{},...e||{},...a?.cache_read_input_tokens!==void 0?{cache_read_input_tokens:a.cache_read_input_tokens}:{},...a?.cache_creation_input_tokens!==void 0?{cache_creation_input_tokens:a.cache_creation_input_tokens}:{},...a?.input_tokens!==void 0?{input_tokens:a.input_tokens}:{}})}}return c}(i,a)),{headers:{"Content-Type":"application/json"}})}}function l(a,b,c){let d=j(b,c),g=(0,e.Ws)(a);g.model=b;let i=m(d),k=[];for(let b of i){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);if(c?.length>0)for(let b of c)k.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,g);if(l?.length>0)for(let b of l)k.push((0,h.v8)(b,a));return k.push("data: [DONE]\n\n"),{success:!0,response:new Response(k.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}function m(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},6755:(a,b,c)=>{c.d(b,{i5:()=>q,l2:()=>r,lm:()=>g.lm,v8:()=>h.v8});var d=c(48664),e=c(19956),f=c(12407),g=c(67677),h=c(45894),i=c(48330),j=c(12828),k=c(1160);c(4905);var l=c(83611);let m=new TextEncoder,n="translate",o="passthrough";function p(a={}){let{mode:b=n,targetFormat:c,sourceFormat:q,provider:r=null,reqLogger:s=null,toolNameMap:t=null,model:u=null,connectionId:v=null,body:w=null,onStreamComplete:x=null,clientKeyId:y=null}=a,z="",A=null,B=new TextDecoder("utf-8",{fatal:!1}),C=b===n?{...(0,d.Ws)(q),provider:r,toolNameMap:t,model:u}:null,D=0,E="",F="",G=null,H=0,I=0,J={},K=null,L=!1,M=!1,N=(0,l.H)();function O(a){if(j.T&&a&&(H++,a.startsWith("event:"))){let b=a.slice(6).trim();J[b]=(J[b]||0)+1}}function P(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/);for(let a of d)O(a.trim());let f=d.filter(a=>a.startsWith("data:")),i=f.map(a=>a.slice(5).replace(/^ /,"")).join("\n"),j=!1;if(f.length>0)if("[DONE]"===i.trim()){if(M)return;M=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(i.trim()),b=(0,h.A4)(a),d=!1;if(t?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=t.get(a.content_block.name);b&&(a.content_block={...a.content_block,name:b},d=!0)}let f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);if(a?.choices)for(let b of a.choices)b.delta?.tool_calls&&Array.isArray(b.delta.tool_calls)&&0===b.delta.tool_calls.length&&(delete b.delta.tool_calls,f=!0);if(!(0,h.c2)(a,e.h.OPENAI))return;let k=a.choices?.[0]?.delta;if("string"==typeof k?.content){let{content:a,reasoning:b}=N(k.content);b&&(k.reasoning_content=(k.reasoning_content||"")+b),a!==k.content&&(!k.reasoning_content||a&&a.trim()?k.content=a||"":delete k.content,f=!0)}let l=k?.content,m=k?.reasoning_content;l&&"string"==typeof l&&(D+=l.length,E+=l),m&&"string"==typeof m&&(D+=m.length,F+=m);let n=(0,g.f5)(a);n&&(A=(0,g._L)(A,n));let o=a.choices?.[0]?.finish_reason;if(o&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(w,D,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
45
|
+
`),h.replace(/\n+$/,"")}t.filterName="search-list";let u=/^Result of search in '[^']*' \(total (\d+) files?\):/,v=/^diff --git /m,w=/^@@ /m,x=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,y=/^[*|/\\ ]*commit [0-9a-f]{7,40}(\s|$|[([<{])/im,z=/^[ MADRCU?!][ MADRCU?!] \S/m,A=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,B=/[├└]──|│ /,C=/^[-dlbcps][rwx-]{9}/m,D=/^total \d+$/m;function E(a){return null!==j(a)}function F(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")||b.includes("\\")))}function G(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content)){for(let a of c.content)if(a&&"string"==typeof a.text){if(H(a.text))continue;a.text=I(a.text,b,"kiro-tool-result")}}}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if(!0===b.is_error||"error"===b.status)continue;if("string"==typeof b.output){if(H(b.output))continue;b.output=I(b.output,e,"openai-responses-string")}else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];if(c&&"input_text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-responses-array")}}continue}if("tool"===b.role&&"string"==typeof b.content){if(!0===b.is_error||H(b.content))continue;b.content=I(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){if(!0===b.is_error)continue;for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-tool-array")}}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content){if(H(c.content))continue;c.content=I(c.content,e,"claude-string")}else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];if(b&&"text"===b.type&&"string"==typeof b.text){if(H(b.text))continue;b.text=I(b.text,e,"claude-array")}}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function H(a){return"string"==typeof a&&!(a.length<8)&&(/^\s*(Error|Exception|Traceback|TypeError|ReferenceError|SyntaxError|Failed)\b/m.test(a)||/\bat\s+\S+\s+\([^)]+:\d+:\d+\)/.test(a))}function I(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,j=a.length>1024?a.slice(0,1024):a,n=a.split("\n");if(y.test(j))return g;if(v.test(j)||w.test(j))return e;if(x.test(j))return f;if(A.test(j))return i;if(!((d=j.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>z.test(a)).length/d.length>=.6)return f;let G=j.split("\n").filter(a=>a.trim().length>0);return G.slice(0,5).some(E)?k:G.length>=3&&G.every(F)?l:B.test(j)?p:D.test(j)||(b=j,h=new RegExp((c=C).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?o:u.test(j)?t:n.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,s.test(d)&&b++);return!(c<5)&&b/c>=.7}(n)?r:G.length>=5?m:a.split("\n").length>=250?q:null}(a);if(!h)return b.bytesAfter+=d,a;let j=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!j||0===j.length||j.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=j.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-j.length}),j)}function J(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},1160:(a,b,c)=>{c.d(b,{BP:()=>l,Eh:()=>h,n8:()=>k,sk:()=>i});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO,f=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],g=0;function h(){let a=f[g%f.length];return g++,a}function i(a){let b=String(a??"");if(!b)return h();let c=0,d=Math.min(b.length,128);for(let a=0;a<d;a++)c=31*c+b.charCodeAt(a)|0;return f[Math.abs(c)%f.length]}function j(a,b,c){let d=a?`${a} `:"";return`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${d}${b} ${c}`}function k(a,b,c){e>d.INFO||console.log(j(a,b,c))}function l(a,b,c){console.log(j(a,b,c))}},2735:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(17717),e=c(48664),f=c(19956),g=c(60290),h=c(6755);function i(a,b,c="",e=!1){if(!c.includes("claude-cli")||!a.messages?.length)return null;let f=a.messages,h=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",j=!1,m=!1,n=f[f.length-1];if(n?.role==="assistant"&&n.content?.[0]?.text==="{"&&(j=!0),j||"Warmup"===h(f[0]?.content)&&(j=!0),j||1!==f.length||f[0]?.role!=="user"||"count"===h(f[0]?.content)&&(j=!0),!j&&g.C8?.length){let a=f.filter(a=>"user"===a.role).map(a=>h(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(j=!0)}if(!j&&e){let b=f.find(a=>"system"===a.role),c=h(b?.content),d=Array.isArray(a.system)?a.system.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"string"==typeof a.system?a.system:"";(c||d).includes("isNewTopic")&&(j=!0,m=!0)}if(!j)return null;let o=(0,d.Tz)(a),p=!1!==a.stream;if(m){let a=f.find(a=>"user"===a.role),c=JSON.stringify({isNewTopic:!0,title:h(a?.content).trim().split(/\s+/).slice(0,3).join(" ")});return p?l(o,b,c):k(o,b,c)}return p?l(o,b):k(o,b)}function j(a,b="CLI Command Execution: Clear Terminal"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a,b,c){let d=j(b,c);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json"}})};let g=(0,e.Ws)(a);g.model=b;let h=m(d),i=[];for(let b of h){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);c?.length>0&&i.push(...c)}let k=(0,e.Y8)(f.h.OPENAI,a,null,g);return k?.length>0&&i.push(...k),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);if(d?.message){c=d.message;let a=d.message.usage,e=b?.usage;(a||e)&&(c.usage={...a||{},...e||{},...a?.cache_read_input_tokens!==void 0?{cache_read_input_tokens:a.cache_read_input_tokens}:{},...a?.cache_creation_input_tokens!==void 0?{cache_creation_input_tokens:a.cache_creation_input_tokens}:{},...a?.input_tokens!==void 0?{input_tokens:a.input_tokens}:{}})}}return c}(i,a)),{headers:{"Content-Type":"application/json"}})}}function l(a,b,c){let d=j(b,c),g=(0,e.Ws)(a);g.model=b;let i=m(d),k=[];for(let b of i){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);if(c?.length>0)for(let b of c)k.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,g);if(l?.length>0)for(let b of l)k.push((0,h.v8)(b,a));return k.push("data: [DONE]\n\n"),{success:!0,response:new Response(k.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}function m(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},6755:(a,b,c)=>{c.d(b,{i5:()=>q,l2:()=>r,lm:()=>g.lm,v8:()=>h.v8});var d=c(48664),e=c(19956),f=c(12407),g=c(67677),h=c(45894),i=c(48330),j=c(12828),k=c(1160);c(4905);var l=c(83611);let m=new TextEncoder,n="translate",o="passthrough";function p(a={}){let{mode:b=n,targetFormat:c,sourceFormat:q,provider:r=null,reqLogger:s=null,toolNameMap:t=null,model:u=null,connectionId:v=null,body:w=null,onStreamComplete:x=null,clientKeyId:y=null,terminateOnResponsesTerminal:z=!0}=a,A="",B=null,C=new TextDecoder("utf-8",{fatal:!1}),D=b===n?{...(0,d.Ws)(q),provider:r,toolNameMap:t,model:u}:null,E=0,F="",G="",H=null,I=0,J=0,K={},L=null,M=!1,N=!1,O=(0,l.H)();function P(a){if(j.T&&a&&(I++,a.startsWith("event:"))){let b=a.slice(6).trim();K[b]=(K[b]||0)+1}}function Q(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/);for(let a of d)P(a.trim());let f=d.filter(a=>a.startsWith("data:")),i=f.map(a=>a.slice(5).replace(/^ /,"")).join("\n"),j=!1;if(f.length>0)if("[DONE]"===i.trim()){if(N)return;N=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(i.trim()),b=(0,h.A4)(a),d=!1;if(t?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=t.get(a.content_block.name);b&&(a.content_block={...a.content_block,name:b},d=!0)}let f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);if(a?.choices)for(let b of a.choices)b.delta?.tool_calls&&Array.isArray(b.delta.tool_calls)&&0===b.delta.tool_calls.length&&(delete b.delta.tool_calls,f=!0);if(!(0,h.c2)(a,e.h.OPENAI))return;let k=a.choices?.[0]?.delta;if("string"==typeof k?.content){let{content:a,reasoning:b}=O(k.content);b&&(k.reasoning_content=(k.reasoning_content||"")+b),a!==k.content&&(!k.reasoning_content||a&&a.trim()?k.content=a||"":delete k.content,f=!0)}let l=k?.content,m=k?.reasoning_content;l&&"string"==typeof l&&(E+=l.length,F+=l),m&&"string"==typeof m&&(E+=m.length,G+=m);let n=(0,g.f5)(a);n&&(B=(0,g._L)(B,n));let o=a.choices?.[0]?.finish_reason;if(o&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(w,E,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
46
46
|
|
|
47
|
-
`,
|
|
47
|
+
`,B=b,j=!0}else if(o&&B){let b=(0,g.O9)(B);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
48
48
|
|
|
49
49
|
`,j=!0}else(b||f||d)&&(c=`data: ${JSON.stringify(a)}
|
|
50
50
|
|
|
51
|
-
`,j=!0)}catch{return}j||c||(c=d.map(a=>a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5):a).join("\n")+"\n\n"),s?.appendConvertedChunk?.(c),b.enqueue(m.encode(c))}function
|
|
52
|
-
${b.stack}`:""}`)}}})}function q(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return p({mode:n,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,clientKeyId:j})}function r(a=null,b=null,c=null,d=null,e=null,f=null,g=null,h=null){return p({mode:o,provider:a,reqLogger:b,toolNameMap:c,model:d,connectionId:e,body:f,onStreamComplete:g,clientKeyId:h})}},12197:(a,b,c)=>{c.d(b,{El:()=>i,f3:()=>o,mS:()=>h,u1:()=>j});var d=c(77598),e=c(12407),f=c(66573),g=c(92);let h="sb_vault_search",i=6144;function j(a){let b=Number(a);return Number.isFinite(b)?Math.max(7,b):7}let k=!1;async function l(a,b){try{var c;let h,i;if("string"!=typeof a)return a;let j=Buffer.byteLength(a,"utf8");if(b.stats.bytesBefore+=j,j<b.thresholdBytes||(0,g.mE)(a))return b.stats.bytesAfter+=j,a;let k=(c=b.conversationId,`vlt_${(0,d.createHash)("sha256").update(`${c}\0${Date.now()}\0${Math.random()}\0${a.length}`).digest("hex").slice(0,12)}`),l=function(a,b=4e3){if("string"!=typeof a||!a)return[];let c=Math.max(1,Math.floor(Number(b)||4e3)),d=[],e=a,g=0;for(;e&&g++<2e3;){if(e.length<=c){d.push(e),e="";break}let a=e.lastIndexOf("\n\n",c);a<.5*c&&(a=e.lastIndexOf("\n",c)),a<.5*c&&(a=-1);let b=a>0?e.slice(0,a):(0,f.Wg)(e,c);if(b||(b=(0,f.Wg)(e,c)),!b)break;d.push(b),e=e.slice(b.length)}return e||0===d.length?[]:d}(a);if(0===l.length)return b.stats.bytesAfter+=j,a;let m=!1;try{m=await (0,e.M8)({id:k,conversationId:b.conversationId,toolName:b.toolNameHint,content:a,chunks:l,ttlMs:b.ttlMs})}catch{}if(!m)return b.stats.bytesAfter+=j,a;let n=(h=(0,f.Wg)(a,500),i=a.length>h.length?"…":"",`[Switchboard vault] The full tool result (${a.length} chars) was moved to the conversation vault to save context. A preview is below. To read the rest, call the sb_vault_search tool with vault_id "${k}" and a query describing what you need.
|
|
51
|
+
`,j=!0)}catch{return}j||c||(c=d.map(a=>a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5):a).join("\n")+"\n\n"),s?.appendConvertedChunk?.(c),b.enqueue(m.encode(c))}function R(a,b=!1){let c=A.split(/\r?\n\r?\n/);for(let b of(A=c.pop()||"",c))Q(b,a);b&&A&&(Q(A,a),A="")}return new TransformStream({transform(a,j){H||(H=Date.now());let k=C.decode(a,{stream:!0});if(A+=k,s?.appendProviderChunk?.(k),b===o)return void R(j);let l=A.split("\n");for(let a of(A=l.pop()||"",l)){let k=a.trim();if(P(k),b===n&&c===e.h.OPENAI_RESPONSES&&k.startsWith("event:")&&(L=k.slice(6).trim()),!k)continue;let l=(0,h.tV)(k,c);if(!l)continue;let o=c===e.h.OPENAI_RESPONSES,p=o&&q===e.h.OPENAI_RESPONSES,t=o?(0,i.yx)(L,l):null,A=o&&(0,i.nu)(t,l);if(A&&(M=!0),"string"==typeof l?.choices?.[0]?.delta?.content){let a=l.choices[0].delta,{content:b,reasoning:c}=O(a.content);c&&(a.reasoning_content=(a.reasoning_content||"")+c),b!==a.content&&(!a.reasoning_content||b&&b.trim()?a.content=b||"":delete a.content)}if(l&&l.done&&c!==e.h.OLLAMA){if(p&&!M){let a=(0,i.u9)();s?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),M=!0,J++}if((p||q===e.h.OPENAI)&&!N){let a="data: [DONE]\n\n";s?.appendConvertedChunk?.(a),j.enqueue(m.encode(a))}N=!0;continue}if(l.delta?.text&&(E+=l.delta.text.length,F+=l.delta.text),l.delta?.thinking&&(E+=l.delta.thinking.length,G+=l.delta.thinking),l.choices?.[0]?.delta?.content&&(E+=l.choices[0].delta.content.length,F+=l.choices[0].delta.content),l.choices?.[0]?.delta?.reasoning_content&&(E+=l.choices[0].delta.reasoning_content.length,G+=l.choices[0].delta.reasoning_content),l.candidates?.[0]?.content?.parts)for(let a of l.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(E+=a.text.length,!0===a.thought?G+=a.text:F+=a.text);let B=(0,g.f5)(l);if(B&&(D.usage=(0,g._L)(D.usage,B)),p&&t){let a=(0,h.v8)({event:t,data:l},q);s?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),L=null,J++;continue}L=null;let C=(0,d.Y8)(c,q,l,D);if(C?._openaiIntermediate)for(let a of C._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);s?.appendOpenAIChunk?.(b)}if(C?.length>0)for(let a of C){if(null==a||!(0,h.c2)(a,q))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(D.finishReason&&b&&!(0,g.Gh)(a.usage)&&E>0){let b=(0,g.OF)(w,E,q);a.usage=(0,g.WL)(b,q),D.usage=b}else if(D.finishReason&&b&&D.usage){let b=(0,g.O9)(D.usage);a.usage=(0,g.WL)(b,q)}let c=(0,h.v8)(a,q);s?.appendConvertedChunk?.(c),j.enqueue(m.encode(c)),J++}if(A&&q===e.h.OPENAI&&!N){let a="data: [DONE]\n\n";if(s?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),N=!0,z){(0,f.uw)(u,r,v,!1),!(0,g.Gh)(D?.usage)&&E>0&&(D.usage=(0,g.OF)(w,E,q)),(0,g.Gh)(D?.usage)&&(0,g.IF)(D.provider||c,D.usage,u,v,y),x&&x({content:F,thinking:G},D?.usage,H).catch(()=>{}),s?.close?.(),j.terminate();return}}}},async flush(a){let l=Object.entries(K).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${r} | model=${u} | recvLines=${I} | emitted=${J} | events=[${l}]`),(0,f.uw)(u,r,v,!1);try{let j=C.decode();if(j&&(A+=j),b===o){R(a,!0),!(0,g.Gh)(B)&&E>0&&(B=(0,g.OF)(w,E,e.h.OPENAI)),(0,g.Gh)(B)?(0,g.IF)(r,B,u,v,y):(0,f.E5)({model:u,provider:r,connectionId:v,tokens:null,status:"200 OK"}).catch(()=>{});let b="antigravity"===r||"gemini"===r||"vertex"===r;if(!N&&!b){let b="data: [DONE]\n\n";s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b))}x&&await x({content:F,thinking:G},B,H),s?.close?.();return}if(A.trim()){let b=(0,h.tV)(A.trim());if(b&&!b.done){let f=(0,d.Y8)(c,q,b,D);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);s?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){if(null==b)continue;let c=(0,h.v8)(b,q);s?.appendConvertedChunk?.(c),a.enqueue(m.encode(c))}}}let k=(0,d.Y8)(c,q,null,D);if(k?._openaiIntermediate)for(let a of k._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);s?.appendOpenAIChunk?.(b)}if(k?.length>0)for(let b of k){if(null==b)continue;let c=(0,h.v8)(b,q);s?.appendConvertedChunk?.(c),a.enqueue(m.encode(c))}let l=c===e.h.OPENAI_RESPONSES&&q===e.h.OPENAI_RESPONSES;if(l&&!M){let b=(0,i.u9)();s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),M=!0}if((l||q===e.h.OPENAI)&&!N){let b="data: [DONE]\n\n";s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),N=!0}!(0,g.Gh)(D?.usage)&&E>0&&(D.usage=(0,g.OF)(w,E,q)),(0,g.Gh)(D?.usage)?(0,g.IF)(D.provider||c,D.usage,u,v,y):(0,f.E5)({model:u,provider:r,connectionId:v,tokens:null,status:"200 OK"}).catch(()=>{}),x&&await x({content:F,thinking:G},D?.usage,H),s?.close?.()}catch(b){s?.close?.();let a=b?.message||String(b);(0,k.BP)("","✗",`FLUSH ERROR \xb7 ${r||c}/${u} \xb7 ${a}${b?.stack?`
|
|
52
|
+
${b.stack}`:""}`)}},cancel(){s?.close?.()}})}function q(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null,k=!0){return p({mode:n,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,clientKeyId:j,terminateOnResponsesTerminal:k})}function r(a=null,b=null,c=null,d=null,e=null,f=null,g=null,h=null){return p({mode:o,provider:a,reqLogger:b,toolNameMap:c,model:d,connectionId:e,body:f,onStreamComplete:g,clientKeyId:h})}},12197:(a,b,c)=>{c.d(b,{El:()=>i,f3:()=>o,mS:()=>h,u1:()=>j});var d=c(77598),e=c(12407),f=c(66573),g=c(92);let h="sb_vault_search",i=6144;function j(a){let b=Number(a);return Number.isFinite(b)?Math.max(7,b):7}let k=!1;async function l(a,b){try{var c;let h,i;if("string"!=typeof a)return a;let j=Buffer.byteLength(a,"utf8");if(b.stats.bytesBefore+=j,j<b.thresholdBytes||(0,g.mE)(a))return b.stats.bytesAfter+=j,a;let k=(c=b.conversationId,`vlt_${(0,d.createHash)("sha256").update(`${c}\0${Date.now()}\0${Math.random()}\0${a.length}`).digest("hex").slice(0,12)}`),l=function(a,b=4e3){if("string"!=typeof a||!a)return[];let c=Math.max(1,Math.floor(Number(b)||4e3)),d=[],e=a,g=0;for(;e&&g++<2e3;){if(e.length<=c){d.push(e),e="";break}let a=e.lastIndexOf("\n\n",c);a<.5*c&&(a=e.lastIndexOf("\n",c)),a<.5*c&&(a=-1);let b=a>0?e.slice(0,a):(0,f.Wg)(e,c);if(b||(b=(0,f.Wg)(e,c)),!b)break;d.push(b),e=e.slice(b.length)}return e||0===d.length?[]:d}(a);if(0===l.length)return b.stats.bytesAfter+=j,a;let m=!1;try{m=await (0,e.M8)({id:k,conversationId:b.conversationId,toolName:b.toolNameHint,content:a,chunks:l,ttlMs:b.ttlMs})}catch{}if(!m)return b.stats.bytesAfter+=j,a;let n=(h=(0,f.Wg)(a,500),i=a.length>h.length?"…":"",`[Switchboard vault] The full tool result (${a.length} chars) was moved to the conversation vault to save context. A preview is below. To read the rest, call the sb_vault_search tool with vault_id "${k}" and a query describing what you need.
|
|
53
53
|
|
|
54
54
|
--- preview (first 500 chars) ---
|
|
55
|
-
${h}${i}`);return b.stats.bytesAfter+=Buffer.byteLength(n,"utf8"),b.stats.vaulted+=1,n}catch{return a}}async function m(a,b){try{if(!a||"object"!=typeof a||!0===a.is_error||"error"===a.status)return;if("function_call_output"===a.type){if("string"==typeof a.output)a.output=await l(a.output,b);else if(Array.isArray(a.output))for(let c=0;c<a.output.length;c+=1){let d=a.output[c];d?.type==="input_text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if("tool"===a.role){if("string"==typeof a.content)a.content=await l(a.content,b);else if(Array.isArray(a.content))for(let c=0;c<a.content.length;c+=1){let d=a.content[c];d?.type==="text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if(!Array.isArray(a.content))return;for(let c=0;c<a.content.length;c+=1){let d=a.content[c];if(d&&"tool_result"===d.type&&!0!==d.is_error&&"error"!==d.status){if("string"==typeof d.content)d.content=await l(d.content,b);else if(Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c?.type==="text"&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}}catch{}}async function n(a,b){try{let c=a?.conversationState,d=Array.isArray(c?.history)?[...c.history]:[];c?.currentMessage&&d.push(c.currentMessage);for(let a=0;a<d.length;a+=1)try{let c=d[a]?.userInputMessage?.userInputMessageContext?.toolResults;if(!Array.isArray(c))continue;for(let a=0;a<c.length;a+=1){let d=c[a];if(d&&!0!==d.is_error&&"error"!==d.status&&Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}catch{}}catch{}}async function o(a,{conversationId:b,thresholdBytes:c,ttlMs:d,toolNameHint:e=null,log:f=null}={}){let g={bytesBefore:0,bytesAfter:0,vaulted:0};try{if(!a||"object"!=typeof a||"string"!=typeof b||!b)return g;let h=Number(c),i=Number(d);if(!Number.isFinite(h)||h<=0||!Number.isFinite(i)||i<=0)return g;let j={conversationId:b,thresholdBytes:h,ttlMs:i,toolNameHint:e,log:f,stats:g};if(a.conversationState)return await n(a,j),g;let l=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!l)return!k&&(Array.isArray(a?.contents)||Array.isArray(a?.request?.contents))&&(k=!0,f?.warn?.("VAULT","inactive for this upstream body shape (e.g. Gemini contents[]); tool results are not externalized")),g;for(let a=0;a<l.length;a+=1)await m(l[a],j);return g}catch{return{bytesBefore:0,bytesAfter:0,vaulted:0}}}},15142:(a,b,c)=>{c.d(b,{N:()=>o});var d=c(19956),e=c(68057),f=c(49612),g=c(67677),h=c(89865),i=c(60290),j=c(94176),k=c(29461),l=c(12407),m=c(10089),n=c(83611);async function o({providerResponse:a,provider:b,model:c,sourceFormat:p,targetFormat:q,body:r,stream:s,
|
|
55
|
+
${h}${i}`);return b.stats.bytesAfter+=Buffer.byteLength(n,"utf8"),b.stats.vaulted+=1,n}catch{return a}}async function m(a,b){try{if(!a||"object"!=typeof a||!0===a.is_error||"error"===a.status)return;if("function_call_output"===a.type){if("string"==typeof a.output)a.output=await l(a.output,b);else if(Array.isArray(a.output))for(let c=0;c<a.output.length;c+=1){let d=a.output[c];d?.type==="input_text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if("tool"===a.role){if("string"==typeof a.content)a.content=await l(a.content,b);else if(Array.isArray(a.content))for(let c=0;c<a.content.length;c+=1){let d=a.content[c];d?.type==="text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if(!Array.isArray(a.content))return;for(let c=0;c<a.content.length;c+=1){let d=a.content[c];if(d&&"tool_result"===d.type&&!0!==d.is_error&&"error"!==d.status){if("string"==typeof d.content)d.content=await l(d.content,b);else if(Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c?.type==="text"&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}}catch{}}async function n(a,b){try{let c=a?.conversationState,d=Array.isArray(c?.history)?[...c.history]:[];c?.currentMessage&&d.push(c.currentMessage);for(let a=0;a<d.length;a+=1)try{let c=d[a]?.userInputMessage?.userInputMessageContext?.toolResults;if(!Array.isArray(c))continue;for(let a=0;a<c.length;a+=1){let d=c[a];if(d&&!0!==d.is_error&&"error"!==d.status&&Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}catch{}}catch{}}async function o(a,{conversationId:b,thresholdBytes:c,ttlMs:d,toolNameHint:e=null,log:f=null}={}){let g={bytesBefore:0,bytesAfter:0,vaulted:0};try{if(!a||"object"!=typeof a||"string"!=typeof b||!b)return g;let h=Number(c),i=Number(d);if(!Number.isFinite(h)||h<=0||!Number.isFinite(i)||i<=0)return g;let j={conversationId:b,thresholdBytes:h,ttlMs:i,toolNameHint:e,log:f,stats:g};if(a.conversationState)return await n(a,j),g;let l=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!l)return!k&&(Array.isArray(a?.contents)||Array.isArray(a?.request?.contents))&&(k=!0,f?.warn?.("VAULT","inactive for this upstream body shape (e.g. Gemini contents[]); tool results are not externalized")),g;for(let a=0;a<l.length;a+=1)await m(l[a],j);return g}catch{return{bytesBefore:0,bytesAfter:0,vaulted:0}}}},15142:(a,b,c)=>{c.d(b,{N:()=>o});var d=c(19956),e=c(68057),f=c(49612),g=c(67677),h=c(89865),i=c(60290),j=c(94176),k=c(29461),l=c(12407),m=c(10089),n=c(83611);async function o({providerResponse:a,provider:b,model:c,sourceFormat:p,targetFormat:q,body:r,stream:s,requestConfig:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,clientKeyId:y,requestId:z,clientRawRequest:A,onRequestSuccess:B,reqLogger:C,toolNameMap:D,trackDone:E,appendLog:F,pxpipe:G}){let H;if(E(),(a.headers.get("content-type")||"").includes("text/event-stream")){let d;try{d=await (0,j.i)(a.body,c)}catch(a){return F({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to convert SSE response from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}if(!d)return F({status:`FAILED ${i.gx.BAD_GATEWAY}`}),(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");H=d}else try{H=await a.json()}catch(a){return F({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}C.logProviderResponse(a.status,a.statusText,a.headers,H),B&&Promise.resolve().then(B).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)}),H=(0,m.kR)(H,D);let I=(0,k.MK)(H);F({tokens:I,status:"200 OK"}),await (0,k.YZ)({provider:b,model:c,tokens:I,connectionId:x,clientKeyId:y,requestId:z,endpoint:A?.endpoint});let J=p===q&&p!==d.h.OPENAI,K=J?null:q===d.h.OPENAI?H:function(a,b){if(b===d.h.OPENAI)return a;if(b===d.h.OPENAI_RESPONSES)return a?.choices?a:Array.isArray(a?.output)?(0,f.g)(a,a?.model):a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts){!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${Date.now()}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let b=a.inlineData||a.inline_data;if(b?.data){let a=b.mimeType||b.mime_type||"image/png";f+=`
|
|
56
56
|

|
|
57
|
-
`}}let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k=new Date(b.createTime||Date.now()).getTime(),l=Number.isFinite(k)?Math.floor(k/1e3):Math.floor(Date.now()/1e3),m={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:l,model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(m.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(m.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),m}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,e._)(a):a}(
|
|
58
|
-
${a.stack}`:""),b?.(a)}},abort:()=>k.abort()}}function h(a,b,c=null){let d=a.readable.getReader(),e=a.writable.getWriter(),f=!1,g=a=>{if(!f&&c){f=!0;try{let b=c();b&&a.enqueue(b)}catch{}}};return new ReadableStream({async pull(a){if(!b.isConnected()){g(a),a.close();return}try{let{done:c,value:e}=await d.read();if(c){b.handleComplete(),a.close();return}a.enqueue(e)}catch(l){let f=b.isConnected(),h=l?.message||"";h.includes("already closed")||h.includes("Invalid state")||b.handleError(l),d.cancel().catch(()=>{}),e.abort().catch(()=>{});let i=l?.message||"",j=l?.code||l?.cause?.code||"",k="AbortError"===l.name||i.includes("aborted")||i.includes("socket hang up")||i.includes("ECONNRESET")||i.includes("ETIMEDOUT")||i.includes("EPIPE")||"ECONNRESET"===j||"ETIMEDOUT"===j||"EPIPE"===j||"UND_ERR_SOCKET"===j;try{!f||k||c?(g(a),a.close()):a.error(l)}catch(a){}}},cancel(a){b.handleDisconnect(a||"cancelled"),d.cancel(),e.abort()}})}function i(a,b,c,f=null,g=d.xM,j=d.Z1){let k=null,l=null,m=0,n=0,o=Date.now(),p=Date.now(),q="STREAM",r=()=>{
|
|
57
|
+
`}}let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k=new Date(b.createTime||Date.now()).getTime(),l=Number.isFinite(k)?Math.floor(k/1e3):Math.floor(Date.now()/1e3),m={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:l,model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(m.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(m.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),m}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,e._)(a):a}(H,q),L=!1;if(K?.choices)for(let a of K.choices){let b=a?.message;if(b?.content&&"string"==typeof b.content){let{content:a,reasoning:c}=(0,n.j)(b.content);c&&(b.reasoning_content=c,b.content=a,L=!0)}}if(K?.choices?.[0]){let a=K.choices[0],b=a.message;if(Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls"),K.object||(K.object="chat.completion"),K.created||(K.created=Math.floor(Date.now()/1e3)),delete K.prompt_filter_results,K.choices)for(let a of K.choices)delete a.content_filter_results;if(K.usage&&(K.usage=(0,g.WL)((0,g.O9)(K.usage),d.h.OPENAI)),!L)for(let a of K.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content}let M=J?H:(0,f.p)(K,p),N=p===d.h.CLAUDE&&M?.type==="message";C.logConvertedResponse(M);let O=Date.now()-w,P=N?M?.content?.find?.(a=>"text"===a.type)?.text||null:M?.choices?.[0]?.message?.content||M?.content||null;return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:x,latency:{ttft:O,total:O},tokens:I||{prompt_tokens:0,completion_tokens:0},request:t??(0,k.Fo)(r,s),providerRequest:v||u||null,providerResponse:H||null,response:{content:P,thinking:M?.choices?.[0]?.message?.reasoning_content||null,finish_reason:M?.choices?.[0]?.finish_reason||M?.stop_reason||"unknown"},status:"success",pxpipe:G},{endpoint:A?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(M),{headers:{"Content-Type":"application/json"}})}}},15575:(a,b,c)=>{c.d(b,{Jb:()=>i,jd:()=>g});var d=c(60290),e=c(12828),f=c(1160);function g({onDisconnect:a,onError:b,log:c,provider:d,model:h,reqTag:i="",sessionSeed:j=""}={}){let k=new AbortController,l=Date.now(),m=!1,n=null,o=i||(j?(0,f.sk)(j):(0,f.Eh)()),p=(a,b,e=!1,g="")=>{let i=Date.now()-l;(e?c?.errorLine??f.BP:c?.line??f.n8)(o,a,`${b} \xb7 ${d}/${h} \xb7 ${i}ms${g}`)};return{signal:k.signal,startTime:l,isConnected:()=>!m,handleDisconnect:(b="client_closed")=>{m||(m=!0,p("⚡",`DISCONNECT: ${b}`),(0,e.s)("CTRL",`${d}/${h} | disconnect=${b} | dur=${Date.now()-l}ms`),n=setTimeout(()=>{k.abort()},500),a?.({reason:b,duration:Date.now()-l}))},handleComplete:()=>{!m&&(m=!0,p("\uD83C\uDF0A","COMPLETE"),n&&(clearTimeout(n),n=null))},handleError:a=>{if(!m){if(m=!0,n&&(clearTimeout(n),n=null),"AbortError"===a.name)return void p("⚡","ABORTED");p("✗",`ERROR: ${a.message}`,!0,a.stack?`
|
|
58
|
+
${a.stack}`:""),b?.(a)}},abort:()=>k.abort()}}function h(a,b,c=null){let d=a.readable.getReader(),e=a.writable.getWriter(),f=!1,g=a=>{if(!f&&c){f=!0;try{let b=c();b&&a.enqueue(b)}catch{}}};return new ReadableStream({async pull(a){if(!b.isConnected()){g(a),a.close();return}try{let{done:c,value:e}=await d.read();if(c){b.handleComplete(),a.close();return}a.enqueue(e)}catch(l){let f=b.isConnected(),h=l?.message||"";h.includes("already closed")||h.includes("Invalid state")||b.handleError(l),d.cancel().catch(()=>{}),e.abort().catch(()=>{});let i=l?.message||"",j=l?.code||l?.cause?.code||"",k="AbortError"===l.name||i.includes("aborted")||i.includes("socket hang up")||i.includes("ECONNRESET")||i.includes("ETIMEDOUT")||i.includes("EPIPE")||"ECONNRESET"===j||"ETIMEDOUT"===j||"EPIPE"===j||"UND_ERR_SOCKET"===j;try{!f||k||c?(g(a),a.close()):a.error(l)}catch(a){}}},cancel(a){b.handleDisconnect(a||"cancelled"),d.cancel(),e.abort()}})}function i(a,b,c,f=null,g=d.xM,j=d.Z1){let k=null,l=null,m=0,n=0,o=Date.now(),p=Date.now(),q="STREAM",r=()=>{l&&(clearTimeout(l),l=null)},s=()=>{k&&(clearInterval(k),k=null),r()},t={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(q,`complete | chunks=${m} | bytes=${n} | dur=${Date.now()-p}ms`),s(),c.handleComplete()},handleError:a=>{(0,e.s)(q,`error: ${a?.message} | chunks=${m} | bytes=${n} | dur=${Date.now()-p}ms`),s(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(q,`disconnect: ${a} | chunks=${m} | bytes=${n} | dur=${Date.now()-p}ms`),s(),c.handleDisconnect(a)},abort:()=>{s(),c.abort()}};j>0&&(l=setTimeout(()=>{l=null,0===m&&((0,e.s)(q,`FIRST-CHUNK TIMEOUT ${j}ms`),c.handleError?.(Error("stream first-chunk timeout")),c.abort?.())},j)),(0,e.s)(q,`pipe start | firstChunkTimeout=${j}ms | stallTimeout=${g}ms`);let u=new TransformStream({transform(a,b){1==++m&&(r(),!k&&g>0&&(k=setInterval(()=>{if(Date.now()-o>=g){let a=k;k=null,a&&clearInterval(a),(0,e.s)(q,`STALL TIMEOUT ${g}ms | chunks=${m} | bytes=${n} | sinceLast=${Date.now()-o}ms`),c.handleError?.(Error("stream stall timeout")),c.abort?.()}},Math.min(g,5e3))));let d=a?.byteLength||a?.length||0;n+=d;let f=Date.now(),h=f-o;o=f,e.T&&(m<=5||m%20==0||h>5e3)&&(0,e.s)(q,`chunk #${m} | size=${d}B | gap=${h}ms | total=${n}B`),b.enqueue(a)},flush(){(0,e.s)(q,`upstream EOF | chunks=${m} | bytes=${n} | dur=${Date.now()-p}ms`),s()}});return a?.body?h({readable:a.body.pipeThrough(u).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},t,f):h({readable:new ReadableStream({start(a){a.error(Error("upstream response missing body"))}}),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},t,f)}},16799:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(17429);let e="You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.",f="Before writing code, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Stdlib does it? Use it. 3) Native platform feature covers it? Use it (CSS over JS, DB constraint over app code). 4) Already-installed dependency solves it? Use it; never add a new one for what a few lines can do. 5) Can it be one line? One line. 6) Only then: the minimum code that works.",g='No unrequested abstractions (no interface with one implementation, no factory for one product, no config for a value that never changes). No boilerplate or scaffolding "for later". Deletion over addition. Boring over clever. Fewest files possible; shortest working diff wins. Two stdlib options the same size: take the edge-case-correct one. Mark deliberate simplifications with a `ponytail:` comment naming the ceiling and upgrade path.',h="Code first. Then at most three short lines: what was skipped, when to add it. No essays or design notes. Pattern: `[code] → skipped: [X], add when [Y].`",i="Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (an assert-based self-check or one small test file; no frameworks). Trivial one-liners need no test.",j="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.",k={lite:[e,"Lite: build what's asked, but name the lazier alternative in one line. User picks.",f,g,h,i,j].join(" "),full:[e,"Full: the ladder enforced. Stdlib and native first. Shortest diff, shortest explanation.",f,g,h,i,j].join(" "),ultra:[e,"Ultra: YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response.",f,g,h,i,j].join(" ")};function l(a,b,c){(0,d.J)(a,b,k[c])}},17429:(a,b,c)=>{c.d(b,{J:()=>f});var d=c(19956);function e(a,b){if(!a||!b)return!1;let c="string"==typeof b?b.trim():"";if(!c)return!1;let d=c.slice(0,100);return a.includes(d)}function f(a,b,c){if(a&&c)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){if(e(a.system,b))return;a.system=`${a.system}
|
|
59
59
|
|
|
60
60
|
${b}`;return}if(Array.isArray(a.system)){if(e(a.system.map(a=>a?.text||"").join(" "),b))return;let c={type:"text",text:b},d=-1;for(let b=a.system.length-1;b>=0;b--)if(a.system[b]?.cache_control){d=b;break}d>=0?a.system.splice(d,0,c):a.system.push(c);return}a.system=b}(a,c);return;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:!function(a,b){let c=a.request&&"object"==typeof a.request?a.request:a,d=Object.prototype.hasOwnProperty.call(c,"system_instruction")?"system_instruction":"systemInstruction",f=c[d];if(f&&Array.isArray(f.parts)){if(e(f.parts.map(a=>a.text||"").join(" "),b))return;f.parts.push({text:b});return}c[d]={parts:[{text:b}]}}(a,c);return;default:!function(a,b){if("string"==typeof a.instructions){if(e(a.instructions,b))return;a.instructions=a.instructions?`${a.instructions}
|
|
61
61
|
|
|
62
62
|
${b}`:b;return}let c=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!c)return;let d=c.findIndex(a=>a&&("system"===a.role||"developer"===a.role));if(d>=0){var f,g,h;if(e("string"==typeof(f=c[d]).content?f.content:Array.isArray(f.content)?f.content.map(a=>a.text||"").join(" "):"",b))return;g=c[d],h=b,"string"==typeof g.content?g.content=`${g.content}
|
|
63
63
|
|
|
64
|
-
${h}`:Array.isArray(g.content)?g.content.push({type:"input_text",text:h}):g.content=h}else c.unshift({role:"system",content:b})}(a,c)}}},27226:(a,b,c)=>{c.d(b,{Jz:()=>f,Qf:()=>l,lP:()=>k});var d=c(35570);let e={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function f(a={},b={}){let c=a["user-agent"]||"";return"antigravity"===b.userAgent?"antigravity":/^GitHubCopilotChat\/\d+\.\d+\.\d+/i.test(c)&&a["editor-version"]&&a["editor-plugin-version"]?"github-copilot":/claude-(?:cli|code)\/\d+\.\d+\.\d+/i.test(c)?"claude":/^GeminiCLI\/\d+\.\d+\.\d+/i.test(c)?"gemini-cli":/^(?:codex_cli_rs|codex-cli)\/\d+\.\d+\.\d+/i.test(c)?"codex":/^Cline\/\d+\.\d+\.\d+/i.test(c)&&"extension"===a["x-client-type"]?"cline":/^QwenCode\/\d+\.\d+\.\d+/i.test(c)?"qwen":c.includes("deepseek-tui")?"deepseek-tui":null}let g={claude:"claude-cli",codex:"codex-cli","gemini-cli":"gemini-cli",antigravity:"antigravity",cline:"cline",qwen:"qwen","github-copilot":"copilot"},h=/^claude-(?:cli|code)\/(\d+\.\d+\.\d+)(?:\s|\(|$)/i,i=/_session_([a-f0-9-]+)$/;function j(a,b){let c=a?.[b]??a?.[b.toLowerCase()];return"string"==typeof c&&c.trim()?c:null}function k(a,b={},c={}){let e=g[a];if(!e||f(b,c)!==a)return!1;if("claude"!==a)return(0,d.I2)(e,b);if(!function(a={},b={}){if(!a||"object"!=typeof a)return!1;let c=j(a,"user-agent"),e=c?.match(h)?.[1],f=(0,d.zi)("claude-cli")?.version;return!!(e&&e===f&&j(a,"x-app")?.toLowerCase()==="cli"&&j(a,"anthropic-beta")&&j(a,"x-stainless-package-version")&&j(a,"x-stainless-runtime-version")&&j(a,"x-stainless-os")&&j(a,"x-stainless-arch")&&function(a){let b=a?.metadata?.user_id;if("string"!=typeof b||!b)return null;let c=b.match(i)?.[1];if(c)return c;if("{"!==b[0])return null;try{let a=JSON.parse(b)?.session_id;if("string"!=typeof a)return null;let c=a.trim();return c&&c.length<=256?c:null}catch{return null}}(b))}(b,c))return!1;let l=b["user-agent"]||b["User-Agent"];return(0,d.I2)(e,{...b,"user-agent":l.replace(/^claude-code\//i,"claude-cli/")})}function l(a,b){if(!a)return!1;let c=e[a];if(!c)return!1;let d=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(d)}},28190:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},29461:(a,b,c)=>{c.d(b,{$R:()=>j,Fo:()=>h,MK:()=>i,
|
|
64
|
+
${h}`:Array.isArray(g.content)?g.content.push({type:"input_text",text:h}):g.content=h}else c.unshift({role:"system",content:b})}(a,c)}}},27226:(a,b,c)=>{c.d(b,{Jz:()=>f,Qf:()=>l,lP:()=>k});var d=c(35570);let e={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function f(a={},b={}){let c=a["user-agent"]||"";return"antigravity"===b.userAgent?"antigravity":/^GitHubCopilotChat\/\d+\.\d+\.\d+/i.test(c)&&a["editor-version"]&&a["editor-plugin-version"]?"github-copilot":/claude-(?:cli|code)\/\d+\.\d+\.\d+/i.test(c)?"claude":/^GeminiCLI\/\d+\.\d+\.\d+/i.test(c)?"gemini-cli":/^(?:codex_cli_rs|codex-cli)\/\d+\.\d+\.\d+/i.test(c)?"codex":/^Cline\/\d+\.\d+\.\d+/i.test(c)&&"extension"===a["x-client-type"]?"cline":/^QwenCode\/\d+\.\d+\.\d+/i.test(c)?"qwen":c.includes("deepseek-tui")?"deepseek-tui":null}let g={claude:"claude-cli",codex:"codex-cli","gemini-cli":"gemini-cli",antigravity:"antigravity",cline:"cline",qwen:"qwen","github-copilot":"copilot"},h=/^claude-(?:cli|code)\/(\d+\.\d+\.\d+)(?:\s|\(|$)/i,i=/_session_([a-f0-9-]+)$/;function j(a,b){let c=a?.[b]??a?.[b.toLowerCase()];return"string"==typeof c&&c.trim()?c:null}function k(a,b={},c={}){let e=g[a];if(!e||f(b,c)!==a)return!1;if("claude"!==a)return(0,d.I2)(e,b);if(!function(a={},b={}){if(!a||"object"!=typeof a)return!1;let c=j(a,"user-agent"),e=c?.match(h)?.[1],f=(0,d.zi)("claude-cli")?.version;return!!(e&&e===f&&j(a,"x-app")?.toLowerCase()==="cli"&&j(a,"anthropic-beta")&&j(a,"x-stainless-package-version")&&j(a,"x-stainless-runtime-version")&&j(a,"x-stainless-os")&&j(a,"x-stainless-arch")&&function(a){let b=a?.metadata?.user_id;if("string"!=typeof b||!b)return null;let c=b.match(i)?.[1];if(c)return c;if("{"!==b[0])return null;try{let a=JSON.parse(b)?.session_id;if("string"!=typeof a)return null;let c=a.trim();return c&&c.length<=256?c:null}catch{return null}}(b))}(b,c))return!1;let l=b["user-agent"]||b["User-Agent"];return(0,d.I2)(e,{...b,"user-agent":l.replace(/^claude-code\//i,"claude-cli/")})}function l(a,b){if(!a)return!1;let c=e[a];if(!c)return!1;let d=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(d)}},28190:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},29461:(a,b,c)=>{c.d(b,{$R:()=>j,Fo:()=>h,MK:()=>i,YZ:()=>k});var d=c(12407),e=c(6755),f=c(67677);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function i(a){return a&&"object"==typeof a?a.usage?.input_tokens!==void 0?{prompt_tokens:a.usage.input_tokens||0,completion_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}:a.usage?.prompt_tokens!==void 0?{prompt_tokens:a.usage.prompt_tokens||0,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}:a.usageMetadata?{prompt_tokens:a.usageMetadata.promptTokenCount||0,completion_tokens:a.usageMetadata.candidatesTokenCount||0,cached_tokens:a.usageMetadata.cachedContentTokenCount||0,reasoning_tokens:a.usageMetadata.thoughtsTokenCount||0}:null:null}function j(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},pxpipe:a.pxpipe||void 0,rtk:a.rtk||void 0,status:a.status||"success",...b}}function k(a){let b=function({provider:a,model:b,tokens:c,connectionId:g,clientKeyId:h,endpoint:i,requestId:j=null,label:k="USAGE"}){if(!c||"object"!=typeof c)return;let l=c.input_tokens??c.prompt_tokens??0,m=c.output_tokens??c.completion_tokens??0;if(0===l&&0===m)return;let n=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),o=g?` | account=${g.slice(0,8)}...`:"";console.log(`${e.lm.green}[${n}] 📊 [${k}] ${a.toUpperCase()} | in=${l} | out=${m}${o}${e.lm.reset}`);let p=(0,f._6)(c)||{prompt_tokens:c.prompt_tokens??c.input_tokens??0,completion_tokens:c.completion_tokens??c.output_tokens??0};return(0,d.sZ)({provider:a||"unknown",model:b||"unknown",tokens:p,timestamp:new Date().toISOString(),connectionId:g||void 0,clientKeyId:h||void 0,endpoint:i||null,requestId:j||null})}(a);if(a.clientKeyId)return b;b?.catch?.(a=>console.error("[USAGE] save failed:",a?.message||a))}},30369:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>f.getExecutor}),c(46052),c(4630),c(28730),c(60290),c(27335),c(19956),c(48664),c(17717),c(66451),c(49263),c(41029),c(18129);var e=c(36362);c(15575);var f=c(48400);c(89865),c(6755);var g=a([e,f]);[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},34267:(a,b,c)=>{c.d(b,{gH:()=>f});var d=c(57642),e=c(60290);function f({body:a,reexecute:b,signal:c,log:g,stallTimeoutMs:h=e.xM,baseDelayMs:i=500,onExhausted:j}){let k=new TextEncoder,l=null,m=!1,n=null,o=null,p=()=>{let a=n;n=null,o&&(c?.removeEventListener?.("abort",o),o=null),a?.()};return new ReadableStream({async start(e){l=a.getReader();let f=!1,q=null,r=async a=>{let b;if(!m&&(await (b=e.desiredSize,m||c?.aborted||null==b||b>0?Promise.resolve():new Promise(a=>{n=a,c?.addEventListener&&(o=p,c.addEventListener("abort",o,{once:!0}))})),!(m||c?.aborted)))try{e.enqueue(k.encode(a))}catch{m=!0}},s=()=>{if(!m)try{e.close()}catch{}},t=()=>{p();try{l.cancel().catch(()=>{})}catch{}if(m)return;let a=Error("Request aborted");a.name="AbortError";try{e.error(a)}catch{}},u=async a=>{try{await Promise.resolve(j?.(a,{upstreamError:q?.error||null}))}catch{}let b=q?.kind==="error_object"?q.line:`data: ${JSON.stringify({error:{code:502,status:"EMPTY_RESPONSE",message:a}})}`;await r(`${b}
|
|
65
65
|
|
|
66
|
-
`),s()};for(let a=0;;a++){let e=new TextDecoder,j="",k=null,m=!1,n="empty";for(;;){let a,b;if(c?.aborted)return t();try{a=await Promise.race([l.read(),new Promise(a=>{b=setTimeout(()=>a({__stalled:!0}),h)})])}catch{if(c?.aborted)return t();n="read_error";break}finally{clearTimeout(b)}if(a.__stalled){try{l.cancel().catch(()=>{})}catch{}n="stall";break}let{done:g,value:i}=a;if(g)break;let o=(j+=e.decode(i,{stream:!0})).split("\n");for(let a of(j=o.pop(),o)){let b;if(k)continue;let c=a.trim();if(!c.startsWith("data:")){await r(a+"\n");continue}let e=c.slice(5).trim();if(!e||"[DONE]"===e){await r(a+"\n");continue}try{b=JSON.parse(e)}catch{await r(a+"\n");continue}let g=function(a,b){let c=a.response||a;if(!c||"object"!=typeof c)return{action:"forward"};let e=c.error||a.error;if(e)return b?{action:"forward",terminal:!0}:{action:"hold",kind:"error_object",reason:e.status||e.message||"error",error:e};if(!c.candidates?.length&&c.promptFeedback?.blockReason)return{action:"forward",terminal:!0};let f=c.candidates?.[0];if(!f)return{action:"forward"};let g=!1;for(let a of f.content?.parts||[])if(a.functionCall||a.inlineData?.data||a.inline_data?.data||!0!==a.thought&&"string"==typeof a.text&&a.text.trim().length>0){g=!0;break}let h=f.finishReason&&String(f.finishReason).toUpperCase();return h?d.zh.has(h)||h===d.a_.MAX_TOKENS||g||b?{action:"forward",meaningful:g,terminal:!0}:{action:"hold",kind:d.lW.has(h)?"error_finish":"stop",reason:h}:{action:"forward",meaningful:g}}(b,f);if(g.meaningful&&(f=!0),"hold"===g.action){q=k={kind:g.kind,reason:g.reason,error:g.error||null,line:a};continue}g.terminal&&(m=!0),await r(a+"\n")}}if(f||m){let a=j+e.decode();!k&&a&&await r(a),s();return}let o=k?k.reason:n;if(g?.warn?.("STREAM",`ANTIGRAVITY | empty (${o}) | attempt ${a+1}/3`),a>=2)return u(`empty response from upstream (${o}) after ${a+1} attempts`);if(await function(a,b){return new Promise(c=>{let d,e=()=>{clearTimeout(d),c()};d=setTimeout(()=>{a?.removeEventListener?.("abort",e),c()},b),a?.addEventListener?.("abort",e,{once:!0})})}(c,i*2**a),c?.aborted)return t();try{l=(await b()).getReader()}catch(a){if(a?.name==="AbortError"||c?.aborted)return t();return u(a?.message||"retry request failed")}}},pull(){p()},cancel(a){m=!0,p();try{l?.cancel(a)?.catch?.(()=>{})}catch{}}})}},36362:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>O});var e=c(17717),f=c(48664),g=c(94454),h=c(19956),i=c(43788),j=c(6755),k=c(15575),l=c(41029),m=c(18129),n=c(70718),o=c(27335),p=c(4630),q=c(89865),r=c(60290),s=c(2735),t=c(12407),u=c(48400),v=c(29461),w=c(78255),x=c(15142),y=c(61229),z=c(34267),A=c(27226),B=c(28190),C=c(10640),D=c(37208),E=c(16799),F=c(92),G=c(12197),H=c(54070),I=c(39232),J=c(90197),K=c(43904),L=c(94501),M=c(96145),N=a([u]);u=(N.then?(await N)():N)[0];let P=new Set([h.h.GEMINI,h.h.GEMINI_CLI,h.h.ANTIGRAVITY,h.h.VERTEX]);async function O({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:N,onRequestSuccess:Q,onDisconnect:R,onUpstreamEmptyExhausted:S,clientRawRequest:T,connectionId:U,userAgent:V,clientKeyId:W,ccFilterNaming:X,rtkEnabled:Y,vaultEnabled:Z,vaultThresholdKB:$,vaultTtlHours:_,vaultConversationId:aa,headroomEnabled:ab,headroomUrl:ac,headroomCompressUserMessages:ad,cavemanEnabled:ae,cavemanLevel:af,ponytailEnabled:ag,ponytailLevel:ah,pxpipeEnabled:ai,pxpipeMinChars:aj,pxpipeTimeoutMs:ak,pxpipeTransform:al,onPxpipeEvent:am,sourceFormatOverride:an,providerThinking:ao,bypassNativePassthrough:ap,vaultInternal:aq,abortSignal:ar}){let as,at,au,av,aw,ax,{provider:ay,model:az}=b,aA=Date.now(),aB=an||(0,e.Tz)(a),aC=(0,s.c)(a,az,V,X);if(aC)return aC;let aD=o.Xg[ay]||ay,aE=(0,o.ux)(aD,az),aF=(0,o.ez)(aD,az),aG=aE||(0,e.jJ)(ay,c),aH=(0,e.oF)(ay,aB,aF),aI=aH||(0,e.oF)(ay,aG,aF),aJ=aH?.format===aB;c&&(c.runtimeTransport=aI||void 0);let aK=aJ?aB:aI?.format||aG,aL=(0,o.cY)(aD,az),aM=(0,o.kt)(aD,az);if(ao?.mode&&"auto"!==ao.mode){let b=ao.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let aN=!0===a.stream||aB===h.h.ANTIGRAVITY||aB===h.h.GEMINI||aB===h.h.GEMINI_CLI,aO=p.xq[ay]?.forceStream===!0,aP=!!aO||!1!==a.stream,aQ=(0,o.OA)(aD,az);("imageGen"===aQ||/image|imagen|image-generation/i.test(az))&&("antigravity"===ay||"gemini-cli"===ay)&&(aP=!1);let aR=(0,A.Jz)(T?.headers||{},a);"deepseek-tui"===aR&&!0!==a.stream&&(aP=!1);let aS=T?.headers?.accept||"",aT=aS.includes("application/json"),aU=aS.includes("text/event-stream");!aT||aU||!0===a.stream||aO||(aP=!1),a&&"object"==typeof a&&(a={...a,stream:aP});let aV=await (0,n.q7)(aB,aK,az);T&&aV.logClientRawRequest(T.endpoint,T.body,T.headers),aV.logRawRequest(a),d?.debug?.("FORMAT",`${aB} → ${aK} | stream=${aP}`);let aW=(0,A.Jz)(T?.headers||{},a);(0,A.lP)(aW,T?.headers||{},a);let aX=!ap&&(0,A.Qf)(aW,ay);if(c&&(c.rawHeaders=T?.headers||{}),!aX){let b=(0,K.nl)(ay,az);(0,L.X)(a,aB,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${ay}/${az}`);try{let b=await (0,M.C)(a,aB,aK,{signal:ar});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aK}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}let aY=(0,C.Ay)(a);if(aY>0&&d?.debug?.("TOOLCLEAN",`pre-translation: stripped ${aY} orphaned tool result(s)`),aX)d?.debug?.("PASSTHROUGH",`${aW} → ${ay} | native lossless`),as={...a,model:(0,g.kD)(aM)},"claude"===aW&&(0,i.ui)(as,as.model);else{if(!(as=(0,f.GH)(aB,aK,aM,a,aP,c,ay,aV,aL,U,aW)))return(0,t.uw)(az,ay,U,!1,!0),(0,q.A1)(r.gx.BAD_REQUEST,`Failed to translate request for ${aB} → ${aK}`);at=as._toolNameMap,delete as._toolNameMap,as.model=(0,g.kD)(aM)}if("claude"===aW&&Array.isArray(as.tools)){let{tools:a,stripped:b}=(0,B.F)(as.tools);b.length>0&&(as.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let aZ=aX?aB:aK;"tts"===(0,o.OA)(aD,az)&&as.messages&&(as.messages=as.messages.filter(a=>"tool"!==a.role),delete as.tools);let a$=null;try{if(Z&&aa&&Array.isArray(as?.tools)&&as.tools.length>0&&(aB===h.h.OPENAI||aB===h.h.CLAUDE)){let a=1024*(0,G.u1)($??8),b=3600*Math.max(1,Number(_??24))*1e3;a$=await (0,G.f3)(as,{conversationId:aa,thresholdBytes:a,ttlMs:b,log:d})}}catch(a){d?.warn?.("VAULT",`store failed (dropped): ${a?.message||a}`)}let a_=T?.headers?.[r.SA]?.toLowerCase()!=="off",a0=(0,F.BI)(as,a_&&Y),a1=(0,F.fT)(a0);if(a1&&console.log(a1),a$?.vaulted>0){let a=a$.bytesBefore-a$.bytesAfter;(0,H.DL)(a$.vaulted,a),d?.info?.("VAULT",`externalized ${a$.vaulted} tool result(s), saved ${a}B`)}let a2={},a3=await (0,I.SI)(as,{enabled:a_&&ab,url:ac,model:aM,format:aZ,compressUserMessages:ad,diagnostics:a2}),a4=(0,I.Nv)(a3),a5=(0,I.O2)(a2);a4?(d?.info?.("HEADROOM",`${a4}${a5?` | ${a5}`:""}`),(0,I.cB)(a3,a2)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${a5}`)):a_&&ab&&d?.warn?.("HEADROOM",`skipped: ${a2.reason||"compression unavailable"}${a2.endpoint?` (${a2.endpoint})`:""}`);let a6=(0,C.Ay)(as);a6>0&&d?.debug?.("TOOLCLEAN",`post-compression: stripped ${a6} orphaned tool result(s)`),a_&&ae&&af&&((0,D.p)(as,aZ,af),d?.debug?.("CAVEMAN",`${af} | ${aZ}`)),a_&&ag&&ah&&((0,E.U)(as,aZ,ah),d?.debug?.("PONYTAIL",`${ah} | ${aZ}`));let a7=null;if(a_&&ai){let a=await (0,J.H)(as,{enabled:!0,format:aZ,model:aM,minChars:aj,timeoutMs:ak,transform:al});a7=a.summary;let b=(0,J._)(a7);b?d?.info?.("PXPIPE",b):d?.debug?.("PXPIPE",`skipped: ${a7?.reason||"unknown"}`),a.body&&(as=a.body);try{am&&am({provider:ay,model:az,...a7})}catch{}}if(as&&"object"==typeof as)if(P.has(aZ)){let{stream:a,request:b,...c}=as;if(b&&"object"==typeof b){let{stream:a,...d}=b;as={...c,request:d}}else as=c}else as.stream!==aP&&(as={...as,stream:aP});aX&&"claude"===aW&&(0,i._W)(as);let a8=(0,u.SB)(ay);(0,t.uw)(az,ay,U,!0),aq||(0,t.E5)({model:az,provider:ay,connectionId:U,status:"PENDING"}).catch(()=>{});let a9=as.messages?.length||as.input?.length||as.contents?.length||as.request?.contents?.length||0;d?.debug?.("REQUEST",`${ay.toUpperCase()} | ${az} | ${a9} msgs`);let ba=(0,k.jd)({onDisconnect:a=>{(0,t.uw)(az,ay,U,!1),R&&R(a)},onError:()=>(0,t.uw)(az,ay,U,!1),log:d,provider:ay,model:az});if(ar)if(ar.aborted)try{ba.abort()}catch{}else ar.addEventListener("abort",()=>{try{ba.abort()}catch{}},{once:!0});let bb={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(bb.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${ay.toUpperCase()} | ${az} | conn=${a} | pool=${b} | vercel-relay=${bb.vercelRelayUrl}`)}else if(bb.connectionProxyEnabled&&bb.connectionProxyUrl){let a=bb.connectionProxyUrl;try{let b=new URL(bb.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${ay.toUpperCase()} | ${az} | conn=${e} | pool=${b} | url=${a}`)}if(bb.connectionProxyEnabled&&bb.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${ay.toUpperCase()} | ${az} | conn=${a} | no_proxy=${bb.connectionNoProxy}`)}try{let a=await a8.execute({model:az,body:as,stream:aP,credentials:c,signal:ba.signal,log:d,proxyOptions:bb});au=a.response,av=a.url,aw=a.headers,ax=a.transformedBody,aV.logTargetRequest(av,aw,ax)}catch(c){if((0,t.uw)(az,ay,U,!1,!0),(0,t.ox)((0,v.$R)({provider:ay,model:az,connectionId:U,latency:{ttft:0,total:Date.now()-aA},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aP),providerRequest:as||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},status:"error",pxpipe:a7||void 0,rtk:a0||void 0})).catch(()=>{}),"AbortError"===c.name)return ba.handleError(c),(0,q.A1)(499,"Request aborted");let b=(0,q.lR)(c,ay,az,r.gx.BAD_GATEWAY);return console.log(`${j.lm.red}[ERROR] ${b}${j.lm.reset}`),(0,q.A1)(r.gx.BAD_GATEWAY,b)}if(!a8.noAuth&&(au.status===r.gx.UNAUTHORIZED||au.status===r.gx.FORBIDDEN))try{let a=await (0,l.qZ)(async()=>{let a=await (0,m.MF)(ay,c,()=>a8.refreshCredentials(c,d,bb));return a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${ay.toUpperCase()} | refreshed`),Object.assign(c,a),N)try{await N(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await a8.execute({model:az,body:as,stream:aP,credentials:c,signal:ba.signal,log:d,proxyOptions:bb});try{await au.body?.cancel?.()}catch{}au=a.response,av=a.url}catch{d?.warn?.("TOKEN",`${ay.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${ay.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${ay.toUpperCase()} | refresh threw: ${a.message}`)}if(!au.ok){(0,t.uw)(az,ay,U,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,q.zL)(au,a8);(0,t.ox)((0,v.$R)({provider:ay,model:az,connectionId:U,latency:{ttft:0,total:Date.now()-aA},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aP),providerRequest:ax||as||null,response:{error:c,status:b,thinking:null},status:"error",pxpipe:a7||void 0,rtk:a0||void 0})).catch(()=>{});let e=(0,q.lR)(Error(c),ay,az,b);return console.log(`${j.lm.red}[ERROR] ${e}${j.lm.reset}`),aV.logError(Error(c),ax||as),(0,q.A1)(b,e,d)}if("antigravity"===ay&&aP&&au.body){let a=async()=>{let a=await a8.execute({model:az,body:as,stream:aP,credentials:c,signal:ba.signal,log:d,proxyOptions:bb});if(!a.response.ok){let{statusCode:b,message:c}=await (0,q.zL)(a.response,a8);throw Error(`[${b}] ${c}`)}if(!a.response.body)throw Error("upstream returned no body");return a.response.body};au=new Response((0,z.gH)({body:au.body,reexecute:a,signal:ba.signal,log:d,onExhausted:(a,{upstreamError:b}={})=>{if(!S)return;let c=a8.parseRetryFromErrorMessage?.(b?.message||a);return S((0,q.lR)(Error(a),ay,az,r.gx.BAD_GATEWAY),c?Date.now()+c:void 0)}}),{status:au.status,headers:au.headers})}let bc=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,bd={provider:ay,model:az,body:a,stream:aP,translatedBody:as,finalBody:ax,requestStartTime:aA,connectionId:U,clientKeyId:W,clientRawRequest:T,onRequestSuccess:Q,requestId:bc,pxpipe:a7||void 0},be=a=>{aq||(0,t.E5)({model:az,provider:ay,connectionId:U,...a}).catch(()=>{})},bf=()=>(0,t.uw)(az,ay,U,!1);if(!aN&&aO){let a=await (0,w.I)({...bd,providerResponse:au,sourceFormat:aB,targetFormat:aK,trackDone:bf,appendLog:be});if(a)return ba.handleComplete(),a}if(!aP){let a=await (0,x.N)({...bd,providerResponse:au,sourceFormat:aB,targetFormat:aK,reqLogger:aV,toolNameMap:at,trackDone:bf,appendLog:be});return ba.handleComplete(),a}let{onStreamComplete:bg,streamDetailId:bh}=(0,y.$)({...bd});return(0,y.M)({...bd,providerResponse:au,sourceFormat:aB,targetFormat:aK,userAgent:V,reqLogger:aV,toolNameMap:at,streamController:ba,onStreamComplete:bg,streamDetailId:bh})}d()}catch(a){d(a)}})},37208:(a,b,c)=>{c.d(b,{p:()=>n});var d=c(17429);let e="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",f='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',g="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",h="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",i="No invented abbreviations. Standard well-known tech acronyms (DB, API, HTTP, URL, JSON, ID, OS, CPU) OK. Names of code symbols, function names, API names, error strings: keep verbatim.",j="Preserve the user's dominant language. User wrote Vietnamese, reply Vietnamese. User wrote English, reply English. Wenyan/classical-Chinese levels override this language-preservation rule. Code identifiers, error strings, file paths, commands: keep in their original form regardless of language.",k='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',l='No decorative emoji. No narrating tool calls ("I will now search", "I used X to find Y"). No status phrases ("Sure!", "Of course!", "I\'d be happy to"). No causal arrow shorthand ("A -> B -> fails"). State the thing, the action, the reason. Then next step.',m={lite:["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",f,e,g,h,i,j,k,l].join(" "),full:["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),"wenyan-lite":["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",f,e,g,h,i,j,k,l].join(" "),wenyan:["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",f,e,g,h,i,j,k,l].join(" "),"wenyan-ultra":["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",f,e,g,h,i,j,k,l].join(" ")};function n(a,b,c){(0,d.J)(a,b,m[c])}},39232:(a,b,c)=>{c.d(b,{Nv:()=>l,O2:()=>m,SI:()=>k,cB:()=>n});var d=c(37377),e=c(29229),f=c(97579);function g(a){try{return new TextEncoder().encode(JSON.stringify(a)||"").length}catch{return 0}}function h(a){let b=Array.isArray(a?.messages)?a.messages:Array.isArray(a?.input)?a.input:null,c=b?.filter(a=>a?.role==="tool"||a?.role==="function"||a?.tool_calls?.length||a?.content?.some?.(a=>a?.type==="tool_use"||a?.type==="tool_result"))||[];return{bodyBytes:g(a),messageBytes:b?g(b):0,toolSchemaBytes:g(a?.tools||[]),toolHistoryBytes:g(c)}}function i(a,b){a&&!a.reason&&(a.reason=b)}async function j(a,b,c,d,e,f){let g,h=function(a){try{let b=new URL(a);return b.pathname=`${b.pathname.replace(/\/$/,"")}/v1/compress`,b.hash="",b.toString()}catch{let[b,c=""]=String(a).replace(/#.*$/,"").split("?",2),d=`${b.replace(/\/$/,"")}/v1/compress`;return c?`${d}?${c}`:d}}(a);f.endpoint=function(a){try{let b=new URL(a);return b.username="",b.password="",b.search="",b.hash="",b.toString()}catch{return String(a).replace(/\/\/[^/@\s]+@/,"//").replace(/[?#].*$/,"")}}(h);let j={messages:b,model:c};e&&(j.config={compress_user_messages:!0});try{g=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j),signal:AbortSignal.timeout(d)})}catch(d){var k;let a,b,c;return i(f,`request failed: ${(k=d,a=k?.cause,b=a?.code||k?.code,c=String(a?.message||k?.message||String(k)).replace(/\/\/[^/@\s]+@/g,"//").replace(/(https?:\/\/[^\s?#]+)[?#][^\s)]*/g,"$1"),b?`${b}: ${c}`:c)}`),null}if(!g.ok)return i(f,`proxy returned HTTP ${g.status}`),null;let l=await g.json();return Array.isArray(l?.messages)?l:(i(f,"proxy response missing messages[]"),null)}async function k(a,{enabled:b,url:c,model:g,format:l,compressUserMessages:m,timeoutMs:n=3e3,diagnostics:o=null}={}){if(!b)return i(o,"disabled"),null;if(!c)return i(o,"missing proxy URL"),null;if(!a)return i(o,"missing request body"),null;try{if(o&&(o.before=h(a)),"claude"===l){let b=(0,d.t)(g,a,!1);if(!Array.isArray(b?.messages))return i(o,"Claude request did not translate to messages[]"),null;let f=await j(c,b.messages,g,n,m,o||{});if(!f)return null;let k=(0,e.p)(g,{...b,messages:f.messages},!1);return Array.isArray(k?.messages)&&(a.messages=k.messages),k?.system!==void 0&&(a.system=k.system),o&&(o.after=h(a)),f}if("openai-responses"===l){if(Array.isArray(a?.input)&&a.input.some(a=>!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.type&&"message"!==a.type))return i(o,"skipped: openai-responses tool/reasoning input is not safe to compress"),null;let b=(0,f.Z)(g,a,!1);if(!Array.isArray(b?.messages))return null;let d=await j(c,b.messages,g,n,m,o||{});if(!d)return null;let e=(0,f.h)(g,{...b,input:void 0,messages:d.messages},!1);return Array.isArray(e?.input)&&(a.input=e.input),o&&(o.after=h(a)),d}let b=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":null;if(!b)return i(o,`unsupported ${l||"unknown"} request shape`),null;let k=await j(c,a[b],g,n,m,o||{});if(!k)return null;return a[b]=k.messages,o&&(o.after=h(a)),k}catch(a){return i(o,`unexpected error: ${a?.message||String(a)}`),null}}function l(a){if(!a)return null;let b=a.tokens_before||0,c=a.tokens_after||0,d=a.tokens_saved||0,e=b>0?(d/b*100).toFixed(1):"0";return`reported token delta=${d} before=${b}${c?` after=${c}`:""} (${e}%)`.trim()}function m(a){let b=a?.before,c=a?.after;if(!b||!c)return"";let d=b.bodyBytes>0?((b.bodyBytes-c.bodyBytes)/b.bodyBytes*100).toFixed(1):"0.0";return`body=${b.bodyBytes}B→${c.bodyBytes}B messages=${b.messageBytes}B→${c.messageBytes}B tools=${b.toolSchemaBytes||0}B→${c.toolSchemaBytes||0}B toolHistory=${b.toolHistoryBytes||0}B→${c.toolHistoryBytes||0}B effective=${d}%`}function n(a,b,c=.05){if(!a?.tokens_saved||a.tokens_saved<=0)return!1;let d=b?.before?.bodyBytes||0,e=b?.after?.bodyBytes||0;return!(d<=0)&&!(e<=0)&&e>=d*(1-c)}},49612:(a,b,c)=>{c.d(b,{g:()=>k,p:()=>l});var d=c(19956),e=c(98173),f=c(57642);function g(a){if(!a)return{};if("object"==typeof a)return a;try{return JSON.parse(a)}catch{return{}}}function h(a){return a?.choices?.[0]||{}}function i(a){return h(a).message||{}}function j(a){let b=i(a).tool_calls;return Array.isArray(b)?b:[]}function k(a,b){let c=Array.isArray(a?.output)?a.output:[],d=c.filter(a=>a?.type==="reasoning").flatMap(a=>Array.isArray(a.summary)?a.summary:[]).map(a=>a?.text||"").join(""),e=c.filter(a=>a?.type==="message"),f=[...e].reverse().find(a=>(Array.isArray(a.content)?a.content:[]).some(a=>"string"==typeof a.text&&a.text.length>0))||e[e.length-1]||null,g=(Array.isArray(f?.content)?f.content:[]).map(a=>("output_text"===a.type||"string"==typeof a.text)&&a.text||"").join(""),h=c.filter(a=>a?.type==="function_call").map((a,b)=>({id:a.call_id||`call_${a.name||"tool"}_${b}`,type:"function",function:{name:a.name||"",arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),i=a?.usage||{},j={role:"assistant",content:g||(h.length>0?null:"")};d&&(j.reasoning_content=d),h.length>0&&(j.tool_calls=h);let k=a?.status==="completed"||a?.status==="done",l=h.length>0?"tool_calls":k?"stop":a?.status||"stop";return{id:a?.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:a?.model||b||"unknown",choices:[{index:0,message:j,finish_reason:l}],usage:{prompt_tokens:i.input_tokens||i.prompt_tokens||0,completion_tokens:i.output_tokens||i.completion_tokens||0,total_tokens:i.total_tokens||(i.input_tokens||i.prompt_tokens||0)+(i.output_tokens||i.completion_tokens||0)}}}function l(a,b){switch(b){case d.h.CLAUDE:return function(a){if(!a?.choices?.[0])return a;let b=h(a),c=i(a),f=[],k=c.reasoning_content||c.provider_specific_fields?.reasoning_content||"";for(let b of(k&&f.push({type:"thinking",thinking:k}),"string"==typeof c.content&&c.content.length>0&&f.push({type:"text",text:c.content}),j(a))){let a=b.function||{};f.push({type:"tool_use",id:b.id||`toolu_${Date.now()}_${f.length}`,name:a.name||b.name||"",input:g(a.arguments||b.arguments)})}0===f.length&&f.push({type:"text",text:""});let l=a.usage||{};return{id:String(a.id||`msg_${Date.now()}`).replace(/^chatcmpl-/,""),type:"message",role:"assistant",model:a.model||"unknown",content:f,stop_reason:(0,e.Q)(b.finish_reason,d.h.CLAUDE),stop_sequence:null,usage:{input_tokens:l.prompt_tokens||l.input_tokens||0,output_tokens:l.completion_tokens||l.output_tokens||0}}}(a);case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.ANTIGRAVITY:case d.h.VERTEX:return function(a){if(!a?.choices?.[0])return a;let b=i(a),c=a.usage||{},d=[],e=b.reasoning_content||b.provider_specific_fields?.reasoning_content||"";for(let c of(e&&d.push({text:e,thought:!0}),"string"==typeof b.content&&b.content.length>0&&d.push({text:b.content}),j(a))){let a=c.function||{};d.push({functionCall:{name:a.name||c.name||"",args:g(a.arguments||c.arguments)}})}return 0===d.length&&d.push({text:""}),{response:{candidates:[{content:{role:"model",parts:d},finishReason:function(a){switch(a){case f.bC.LENGTH:return f.a_.MAX_TOKENS;case f.bC.CONTENT_FILTER:return f.a_.SAFETY;default:return f.a_.STOP}}(h(a).finish_reason),index:0}],usageMetadata:{promptTokenCount:c.prompt_tokens||c.input_tokens||0,candidatesTokenCount:c.completion_tokens||c.output_tokens||0,totalTokenCount:c.total_tokens||(c.prompt_tokens||0)+(c.completion_tokens||0)},modelVersion:a.model||"unknown",responseId:a.id||`resp_${Date.now()}`}}}(a);case d.h.OLLAMA:return function(a){if(!a?.choices?.[0])return a;let b=h(a),c=i(a),d={role:"assistant",content:"string"==typeof c.content?c.content:""};c.reasoning_content&&(d.thinking=c.reasoning_content);let e=j(a).map(a=>{let b=a.function||{};return{id:a.id,function:{name:b.name||a.name||"",arguments:g(b.arguments||a.arguments)}}});e.length>0&&(d.tool_calls=e);let f=a.usage||{};return{model:a.model||"unknown",created_at:a.created?new Date(1e3*a.created).toISOString():new Date().toISOString(),message:d,done:!0,done_reason:b.finish_reason||"stop",prompt_eval_count:f.prompt_tokens||f.input_tokens||0,eval_count:f.completion_tokens||f.output_tokens||0}}(a);case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:return function(a){if(!a?.choices?.[0])return a;let b=i(a),c=a.usage||{},d=[],e=0,f=b.reasoning_content||b.provider_specific_fields?.reasoning_content||"";f&&(d.push({type:"reasoning",id:`rs_${a.id||Date.now()}_${e}`,summary:[{type:"summary_text",text:f}]}),e++);let g="string"==typeof b.content?b.content:"";g&&(d.push({type:"message",id:`msg_${a.id||Date.now()}_${e}`,role:"assistant",content:[{type:"output_text",text:g,annotations:[],logprobs:[]}]}),e++);let k=j(a);if(k.length>0)for(let a of k){let b=a.function||{},c=a.id||`call_${b.name||"tool"}_${e}`;d.push({type:"function_call",id:`fc_${c}`,call_id:c,name:b.name||a.name||"",arguments:"string"==typeof b.arguments?b.arguments:JSON.stringify(b.arguments||{})}),e++}else g||f||d.push({type:"message",id:`msg_${a.id||Date.now()}_${e}`,role:"assistant",content:[{type:"output_text",text:"",annotations:[],logprobs:[]}]});let l=h(a).finish_reason||"stop";return{id:a.id?`resp_${a.id}`:`resp_${Date.now()}`,object:"response",created_at:a.created||Math.floor(Date.now()/1e3),status:"stop"===l||"tool_calls"===l?"completed":l,output:d,usage:{input_tokens:c.prompt_tokens||c.input_tokens||0,output_tokens:c.completion_tokens||c.output_tokens||0,total_tokens:c.total_tokens||(c.prompt_tokens||0)+(c.completion_tokens||0)}}}(a);default:return a}}},54070:(a,b,c)=>{c.d(b,{DL:()=>g,VS:()=>h,_s:()=>i});let d=global.__vaultStats??={entries:0,hits:0,bytesSaved:0};function e(a){try{let b=Number(a);if(!Number.isFinite(b)||b<0)return 0;return Math.trunc(b)}catch{return 0}}function f(a,b){try{let c=e(d[a])+e(b);d[a]=Number.isSafeInteger(c)?c:Number.MAX_SAFE_INTEGER}catch{}}function g(a,b){try{f("entries",a),f("bytesSaved",b)}catch{}}function h(a=1){try{f("hits",a)}catch{}}function i(){try{return{entries:e(d.entries),hits:e(d.hits),bytesSaved:e(d.bytesSaved)}}catch{return{entries:0,hits:0,bytesSaved:0}}}},61229:(a,b,c)=>{c.d(b,{$:()=>p,M:()=>o});var d=c(19956),e=c(48664),f=c(6755),g=c(15575),h=c(4630),i=c(60290),j=c(48330),k=c(29461),l=c(12407),m=c(4905);let n={[d.h.OPENAI_RESPONSES]:d.h.OPENAI_RESPONSES,[d.h.CLAUDE]:d.h.CLAUDE,[d.h.ANTIGRAVITY]:d.h.ANTIGRAVITY,[d.h.GEMINI]:d.h.ANTIGRAVITY,[d.h.GEMINI_CLI]:d.h.ANTIGRAVITY};async function o({providerResponse:a,provider:b,model:c,sourceFormat:p,targetFormat:q,userAgent:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,clientKeyId:y,requestId:z,clientRawRequest:A,onRequestSuccess:B,reqLogger:C,toolNameMap:D,streamController:E,onStreamComplete:F,streamDetailId:G,pxpipe:H}){let I=(a.headers.get("content-type")||"").toLowerCase();if((I.includes("application/x-ndjson")||I.includes("application/ndjson"))&&a.body){let b,c,d,e;a=new Response(a.body.pipeThrough((b=new TextDecoder,c=new TextEncoder,d="",new TransformStream({transform(a,e){let f=(d+=b.decode(a,{stream:!0})).split("\n");for(let a of(d=f.pop()||"",f)){let b=a.trim();if(b){if(b.startsWith("data:")||b.startsWith("event:")){e.enqueue(c.encode(a+"\n"));continue}try{JSON.parse(b),e.enqueue(c.encode(`data: ${b}
|
|
66
|
+
`),s()};for(let a=0;;a++){let e=new TextDecoder,j="",k=null,m=!1,n="empty",o=Date.now(),p=!1,v=null,w=()=>{v&&(clearInterval(v),v=null)};h>0&&(v=setInterval(()=>{if(Date.now()-o>=h){p=!0;try{l.cancel().catch(()=>{})}catch{}}},Math.min(h,5e3)));try{for(;;){let a;if(c?.aborted)return t();try{a=await l.read()}catch{if(c?.aborted)return t();n=p?"stall":"read_error";break}if(p){n="stall";break}o=Date.now();let{done:b,value:g}=a;if(b)break;let h=(j+=e.decode(g,{stream:!0})).split("\n");for(let a of(j=h.pop(),h)){let b;if(k)continue;let c=a.trim();if(!c.startsWith("data:")){await r(a+"\n");continue}let e=c.slice(5).trim();if(!e||"[DONE]"===e){await r(a+"\n");continue}try{b=JSON.parse(e)}catch{await r(a+"\n");continue}let g=function(a,b){let c=a.response||a;if(!c||"object"!=typeof c)return{action:"forward"};let e=c.error||a.error;if(e)return b?{action:"forward",terminal:!0}:{action:"hold",kind:"error_object",reason:e.status||e.message||"error",error:e};if(!c.candidates?.length&&c.promptFeedback?.blockReason)return{action:"forward",terminal:!0};let f=c.candidates?.[0];if(!f)return{action:"forward"};let g=!1;for(let a of f.content?.parts||[])if(a.functionCall||a.inlineData?.data||a.inline_data?.data||!0!==a.thought&&"string"==typeof a.text&&a.text.trim().length>0){g=!0;break}let h=f.finishReason&&String(f.finishReason).toUpperCase();return h?d.zh.has(h)||h===d.a_.MAX_TOKENS||g||b?{action:"forward",meaningful:g,terminal:!0}:{action:"hold",kind:d.lW.has(h)?"error_finish":"stop",reason:h}:{action:"forward",meaningful:g}}(b,f);if(g.meaningful&&(f=!0),"hold"===g.action){q=k={kind:g.kind,reason:g.reason,error:g.error||null,line:a};continue}g.terminal&&(m=!0),await r(a+"\n")}}}finally{w()}if(f||m){let a=j+e.decode();!k&&a&&await r(a),s();return}let x=k?k.reason:n;if(g?.warn?.("STREAM",`ANTIGRAVITY | empty (${x}) | attempt ${a+1}/3`),a>=2)return u(`empty response from upstream (${x}) after ${a+1} attempts`);if(await function(a,b){return new Promise(c=>{let d,e=()=>{clearTimeout(d),c()};d=setTimeout(()=>{a?.removeEventListener?.("abort",e),c()},b),a?.addEventListener?.("abort",e,{once:!0})})}(c,i*2**a),c?.aborted)return t();try{l=(await b()).getReader()}catch(a){if(a?.name==="AbortError"||c?.aborted)return t();return u(a?.message||"retry request failed")}}},pull(){p()},cancel(a){m=!0,p();try{l?.cancel(a)?.catch?.(()=>{})}catch{}}})}},36362:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>P});var e=c(17717),f=c(48664),g=c(94454),h=c(19956),i=c(43788),j=c(6755),k=c(15575),l=c(41029),m=c(49263),n=c(18129),o=c(70718),p=c(27335),q=c(4630),r=c(89865),s=c(60290),t=c(2735),u=c(12407),v=c(48400),w=c(29461),x=c(78255),y=c(15142),z=c(61229),A=c(34267),B=c(27226),C=c(28190),D=c(10640),E=c(37208),F=c(16799),G=c(92),H=c(12197),I=c(54070),J=c(39232),K=c(90197),L=c(43904),M=c(94501),N=c(96145),O=a([v]);v=(O.then?(await O)():O)[0];let Q=new Set([h.h.GEMINI,h.h.GEMINI_CLI,h.h.ANTIGRAVITY,h.h.VERTEX]);async function P({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:O,onRequestSuccess:R,onDisconnect:S,onUpstreamEmptyExhausted:T,clientRawRequest:U,connectionId:V,userAgent:W,clientKeyId:X,ccFilterNaming:Y,rtkEnabled:Z,vaultEnabled:$,vaultThresholdKB:_,vaultTtlHours:aa,vaultConversationId:ab,headroomEnabled:ac,headroomUrl:ad,headroomCompressUserMessages:ae,cavemanEnabled:af,cavemanLevel:ag,ponytailEnabled:ah,ponytailLevel:ai,pxpipeEnabled:aj,pxpipeMinChars:ak,pxpipeTimeoutMs:al,pxpipeTransform:am,onPxpipeEvent:an,sourceFormatOverride:ao,providerThinking:ap,bypassNativePassthrough:aq,vaultInternal:ar,abortSignal:as}){let at,au,av,aw,ax,ay,{provider:az,model:aA}=b,aB=Date.now(),aC=ao||(0,e.Tz)(a),aD=(0,t.c)(a,aA,W,Y);if(aD)return aD;let aE=p.Xg[az]||az,aF=(0,p.ux)(aE,aA),aG=(0,p.ez)(aE,aA),aH=aF||(0,e.jJ)(az,c),aI=(0,e.oF)(az,aC,aG),aJ=aI||(0,e.oF)(az,aH,aG),aK=aI?.format===aC;c&&(c.runtimeTransport=aJ||void 0);let aL=aK?aC:aJ?.format||aH,aM=(0,p.cY)(aE,aA),aN=(0,p.kt)(aE,aA);if(ap?.mode&&"auto"!==ap.mode){let b=ap.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let aO=!0===a.stream||aC===h.h.ANTIGRAVITY||aC===h.h.GEMINI||aC===h.h.GEMINI_CLI,aP=q.xq[az]?.forceStream===!0,aQ=!!aP||!1!==a.stream,aR=(0,p.OA)(aE,aA);("imageGen"===aR||/image|imagen|image-generation/i.test(aA))&&("antigravity"===az||"gemini-cli"===az)&&(aQ=!1);let aS=(0,B.Jz)(U?.headers||{},a);"deepseek-tui"===aS&&!0!==a.stream&&(aQ=!1);let aT=U?.headers?.accept||"",aU=aT.includes("application/json"),aV=aT.includes("text/event-stream");!aU||aV||!0===a.stream||aP||(aQ=!1),a&&"object"==typeof a&&(a={...a,stream:aQ});let aW=await (0,o.q7)(aC,aL,aA);U&&aW.logClientRawRequest(U.endpoint,U.body,U.headers),aW.logRawRequest(a),d?.debug?.("FORMAT",`${aC} → ${aL} | stream=${aQ}`);let aX=(0,B.Jz)(U?.headers||{},a);(0,B.lP)(aX,U?.headers||{},a);let aY=!aq&&(0,B.Qf)(aX,az);if(c&&(c.rawHeaders=U?.headers||{}),!aY){let b=(0,L.nl)(az,aA);(0,M.X)(a,aC,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${az}/${aA}`);try{let b=await (0,N.C)(a,aC,aL,{signal:as});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aL}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}let aZ=(0,D.Ay)(a);if(aZ>0&&d?.debug?.("TOOLCLEAN",`pre-translation: stripped ${aZ} orphaned tool result(s)`),aY)d?.debug?.("PASSTHROUGH",`${aX} → ${az} | native lossless`),at={...a,model:(0,g.kD)(aN)},"claude"===aX&&(0,i.ui)(at,at.model);else{if(!(at=(0,f.GH)(aC,aL,aN,a,aQ,c,az,aW,aM,V,aX)))return(0,u.uw)(aA,az,V,!1,!0),(0,r.A1)(s.gx.BAD_REQUEST,`Failed to translate request for ${aC} → ${aL}`);au=at._toolNameMap,delete at._toolNameMap,at.model=(0,g.kD)(aN)}if("claude"===aX&&Array.isArray(at.tools)){let{tools:a,stripped:b}=(0,C.F)(at.tools);b.length>0&&(at.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let a$=aY?aC:aL;"tts"===(0,p.OA)(aE,aA)&&at.messages&&(at.messages=at.messages.filter(a=>"tool"!==a.role),delete at.tools);let a_=null;try{if($&&ab&&Array.isArray(at?.tools)&&at.tools.length>0&&(aC===h.h.OPENAI||aC===h.h.CLAUDE)){let a=1024*(0,H.u1)(_??8),b=3600*Math.max(1,Number(aa??24))*1e3;a_=await (0,H.f3)(at,{conversationId:ab,thresholdBytes:a,ttlMs:b,log:d})}}catch(a){d?.warn?.("VAULT",`store failed (dropped): ${a?.message||a}`)}let a0=U?.headers?.[s.SA]?.toLowerCase()!=="off",a1=(0,G.BI)(at,a0&&Z),a2=(0,G.fT)(a1);if(a2&&console.log(a2),a_?.vaulted>0){let a=a_.bytesBefore-a_.bytesAfter;(0,I.DL)(a_.vaulted,a),d?.info?.("VAULT",`externalized ${a_.vaulted} tool result(s), saved ${a}B`)}let a3={},a4=await (0,J.SI)(at,{enabled:a0&&ac,url:ad,model:aN,format:a$,compressUserMessages:ae,diagnostics:a3}),a5=(0,J.Nv)(a4),a6=(0,J.O2)(a3);a5?(d?.info?.("HEADROOM",`${a5}${a6?` | ${a6}`:""}`),(0,J.cB)(a4,a3)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${a6}`)):a0&&ac&&d?.warn?.("HEADROOM",`skipped: ${a3.reason||"compression unavailable"}${a3.endpoint?` (${a3.endpoint})`:""}`);let a7=(0,D.Ay)(at);a7>0&&d?.debug?.("TOOLCLEAN",`post-compression: stripped ${a7} orphaned tool result(s)`),a0&&af&&ag&&((0,E.p)(at,a$,ag),d?.debug?.("CAVEMAN",`${ag} | ${a$}`)),a0&&ah&&ai&&((0,F.U)(at,a$,ai),d?.debug?.("PONYTAIL",`${ai} | ${a$}`));let a8=null;if(a0&&aj){let a=await (0,K.H)(at,{enabled:!0,format:a$,model:aN,minChars:ak,timeoutMs:al,transform:am});a8=a.summary;let b=(0,K._)(a8);b?d?.info?.("PXPIPE",b):d?.debug?.("PXPIPE",`skipped: ${a8?.reason||"unknown"}`),a.body&&(at=a.body);try{an&&an({provider:az,model:aA,...a8})}catch{}}if(at&&"object"==typeof at)if(Q.has(a$)){let{stream:a,request:b,...c}=at;if(b&&"object"==typeof b){let{stream:a,...d}=b;at={...c,request:d}}else at=c}else at.stream!==aQ&&(at={...at,stream:aQ});aY&&"claude"===aX&&(0,i._W)(at);let a9=(0,v.getExecutor)(az);(0,u.uw)(aA,az,V,!0),ar||(0,u.E5)({model:aA,provider:az,connectionId:V,status:"PENDING"}).catch(()=>{});let ba=at.messages?.length||at.input?.length||at.contents?.length||at.request?.contents?.length||0;d?.debug?.("REQUEST",`${az.toUpperCase()} | ${aA} | ${ba} msgs`);let bb=(0,k.jd)({onDisconnect:a=>{(0,u.uw)(aA,az,V,!1),S&&S(a)},onError:()=>(0,u.uw)(aA,az,V,!1),log:d,provider:az,model:aA});if(as)if(as.aborted)try{bb.abort()}catch{}else as.addEventListener("abort",()=>{try{bb.abort()}catch{}},{once:!0});let bc={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(bc.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${az.toUpperCase()} | ${aA} | conn=${a} | pool=${b} | vercel-relay=${bc.vercelRelayUrl}`)}else if(bc.connectionProxyEnabled&&bc.connectionProxyUrl){let a=bc.connectionProxyUrl;try{let b=new URL(bc.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${az.toUpperCase()} | ${aA} | conn=${e} | pool=${b} | url=${a}`)}if(bc.connectionProxyEnabled&&bc.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${az.toUpperCase()} | ${aA} | conn=${a} | no_proxy=${bc.connectionNoProxy}`)}let bd=(0,w.Fo)(a,aQ);try{let a=await a9.execute({model:aA,body:at,stream:aQ,credentials:c,signal:bb.signal,log:d,proxyOptions:bc});av=a.response,aw=a.url,ax=a.headers,ay=a.transformedBody,aW.logTargetRequest(aw,ax,ay)}catch(b){if((0,u.uw)(aA,az,V,!1,!0),aW?.close?.(),(0,u.ox)((0,w.$R)({provider:az,model:aA,connectionId:V,latency:{ttft:0,total:Date.now()-aB},tokens:{prompt_tokens:0,completion_tokens:0},request:bd,providerRequest:at||null,response:{error:b.message||String(b),status:"AbortError"===b.name?499:502,thinking:null},status:"error",pxpipe:a8||void 0,rtk:a1||void 0})).catch(()=>{}),"AbortError"===b.name)return bb.handleError(b),(0,r.A1)(499,"Request aborted");let a=(0,r.lR)(b,az,aA,s.gx.BAD_GATEWAY);return console.log(`${j.lm.red}[ERROR] ${a}${j.lm.reset}`),(0,r.A1)(s.gx.BAD_GATEWAY,a)}let be=null;if(!a9.noAuth&&(av.status===s.gx.UNAUTHORIZED||av.status===s.gx.FORBIDDEN))try{let a=await (0,l.qZ)(async()=>{let a=await (0,n.MF)(az,c,()=>a9.refreshCredentials(c,d,bc));return a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${az.toUpperCase()} | refreshed`),Object.assign(c,a),O)try{await O(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await a9.execute({model:aA,body:at,stream:aQ,credentials:c,signal:bb.signal,log:d,proxyOptions:bc});try{await av.body?.cancel?.()}catch{}av=a.response,aw=a.url}catch{d?.warn?.("TOKEN",`${az.toUpperCase()} | retry after refresh failed`)}}else if((0,l.jT)(a)){let b=a.code||"invalid_grant";if(be=`OAuth refresh token expired or revoked (${b}): reconnect the ${az} account in the Switchboard dashboard`,d?.warn?.("TOKEN",`${az.toUpperCase()} | refresh token revoked, re-auth required (${b})`),O)try{await O({reauthRequired:!0,testStatus:m.RU,lastError:be,lastErrorAt:new Date().toISOString()})}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}}else d?.warn?.("TOKEN",`${az.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${az.toUpperCase()} | refresh threw: ${a.message}`)}if(!av.ok){(0,u.uw)(aA,az,V,!1,!0),aW?.close?.();let{statusCode:a,message:b,resetsAtMs:c}=await (0,r.zL)(av,a9),d=be||b;(0,u.ox)((0,w.$R)({provider:az,model:aA,connectionId:V,latency:{ttft:0,total:Date.now()-aB},tokens:{prompt_tokens:0,completion_tokens:0},request:bd,providerRequest:ay||at||null,response:{error:d,status:a,thinking:null},status:"error",pxpipe:a8||void 0,rtk:a1||void 0})).catch(()=>{});let e=(0,r.lR)(Error(d),az,aA,a);return console.log(`${j.lm.red}[ERROR] ${e}${j.lm.reset}`),aW.logError(Error(d),ay||at),(0,r.A1)(a,e,c)}if("antigravity"===az&&aQ&&av.body){let a=async()=>{let a=await a9.execute({model:aA,body:at,stream:aQ,credentials:c,signal:bb.signal,log:d,proxyOptions:bc});if(!a.response.ok){let{statusCode:b,message:c}=await (0,r.zL)(a.response,a9);throw Error(`[${b}] ${c}`)}if(!a.response.body)throw Error("upstream returned no body");return a.response.body};av=new Response((0,A.gH)({body:av.body,reexecute:a,signal:bb.signal,log:d,onExhausted:(a,{upstreamError:b}={})=>{if(!T)return;let c=a9.parseRetryFromErrorMessage?.(b?.message||a);return T((0,r.lR)(Error(a),az,aA,s.gx.BAD_GATEWAY),c?Date.now()+c:void 0)}}),{status:av.status,headers:av.headers})}let bf=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,bg={provider:az,model:aA,body:a,stream:aQ,requestConfig:bd,translatedBody:at,finalBody:ay,requestStartTime:aB,connectionId:V,clientKeyId:X,clientRawRequest:U,onRequestSuccess:R,requestId:bf,pxpipe:a8||void 0},bh=a=>{ar||(0,u.E5)({model:aA,provider:az,connectionId:V,...a}).catch(()=>{})},bi=()=>(0,u.uw)(aA,az,V,!1);if(!aO&&aP){let a=await (0,x.I)({...bg,providerResponse:av,sourceFormat:aC,targetFormat:aL,trackDone:bi,appendLog:bh});if(a)return bb.handleComplete(),a}if(!aQ){let a=await (0,y.N)({...bg,providerResponse:av,sourceFormat:aC,targetFormat:aL,reqLogger:aW,toolNameMap:au,trackDone:bi,appendLog:bh});return bb.handleComplete(),a}let{onStreamComplete:bj,streamDetailId:bk}=(0,z.$)({...bg});return(0,z.M)({...bg,providerResponse:av,sourceFormat:aC,targetFormat:aL,userAgent:W,reqLogger:aW,toolNameMap:au,streamController:bb,onStreamComplete:bj,streamDetailId:bk})}d()}catch(a){d(a)}})},37208:(a,b,c)=>{c.d(b,{p:()=>n});var d=c(17429);let e="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",f='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',g="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",h="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",i="No invented abbreviations. Standard well-known tech acronyms (DB, API, HTTP, URL, JSON, ID, OS, CPU) OK. Names of code symbols, function names, API names, error strings: keep verbatim.",j="Preserve the user's dominant language. User wrote Vietnamese, reply Vietnamese. User wrote English, reply English. Wenyan/classical-Chinese levels override this language-preservation rule. Code identifiers, error strings, file paths, commands: keep in their original form regardless of language.",k='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',l='No decorative emoji. No narrating tool calls ("I will now search", "I used X to find Y"). No status phrases ("Sure!", "Of course!", "I\'d be happy to"). No causal arrow shorthand ("A -> B -> fails"). State the thing, the action, the reason. Then next step.',m={lite:["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",f,e,g,h,i,j,k,l].join(" "),full:["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),"wenyan-lite":["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",f,e,g,h,i,j,k,l].join(" "),wenyan:["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",f,e,g,h,i,j,k,l].join(" "),"wenyan-ultra":["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",f,e,g,h,i,j,k,l].join(" ")};function n(a,b,c){(0,d.J)(a,b,m[c])}},39232:(a,b,c)=>{c.d(b,{Nv:()=>l,O2:()=>m,SI:()=>k,cB:()=>n});var d=c(37377),e=c(29229),f=c(97579);function g(a){try{return new TextEncoder().encode(JSON.stringify(a)||"").length}catch{return 0}}function h(a){let b=Array.isArray(a?.messages)?a.messages:Array.isArray(a?.input)?a.input:null,c=b?.filter(a=>a?.role==="tool"||a?.role==="function"||a?.tool_calls?.length||a?.content?.some?.(a=>a?.type==="tool_use"||a?.type==="tool_result"))||[];return{bodyBytes:g(a),messageBytes:b?g(b):0,toolSchemaBytes:g(a?.tools||[]),toolHistoryBytes:g(c)}}function i(a,b){a&&!a.reason&&(a.reason=b)}async function j(a,b,c,d,e,f){let g,h=function(a){try{let b=new URL(a);return b.pathname=`${b.pathname.replace(/\/$/,"")}/v1/compress`,b.hash="",b.toString()}catch{let[b,c=""]=String(a).replace(/#.*$/,"").split("?",2),d=`${b.replace(/\/$/,"")}/v1/compress`;return c?`${d}?${c}`:d}}(a);f.endpoint=function(a){try{let b=new URL(a);return b.username="",b.password="",b.search="",b.hash="",b.toString()}catch{return String(a).replace(/\/\/[^/@\s]+@/,"//").replace(/[?#].*$/,"")}}(h);let j={messages:b,model:c};e&&(j.config={compress_user_messages:!0});try{g=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j),signal:AbortSignal.timeout(d)})}catch(d){var k;let a,b,c;return i(f,`request failed: ${(k=d,a=k?.cause,b=a?.code||k?.code,c=String(a?.message||k?.message||String(k)).replace(/\/\/[^/@\s]+@/g,"//").replace(/(https?:\/\/[^\s?#]+)[?#][^\s)]*/g,"$1"),b?`${b}: ${c}`:c)}`),null}if(!g.ok)return i(f,`proxy returned HTTP ${g.status}`),null;let l=await g.json();return Array.isArray(l?.messages)?l:(i(f,"proxy response missing messages[]"),null)}async function k(a,{enabled:b,url:c,model:g,format:l,compressUserMessages:m,timeoutMs:n=3e3,diagnostics:o=null}={}){if(!b)return i(o,"disabled"),null;if(!c)return i(o,"missing proxy URL"),null;if(!a)return i(o,"missing request body"),null;try{if(o&&(o.before=h(a)),"claude"===l){let b=(0,d.t)(g,a,!1);if(!Array.isArray(b?.messages))return i(o,"Claude request did not translate to messages[]"),null;let f=await j(c,b.messages,g,n,m,o||{});if(!f)return null;let k=(0,e.p)(g,{...b,messages:f.messages},!1);return Array.isArray(k?.messages)&&(a.messages=k.messages),k?.system!==void 0&&(a.system=k.system),o&&(o.after=h(a)),f}if("openai-responses"===l){if(Array.isArray(a?.input)&&a.input.some(a=>!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.type&&"message"!==a.type))return i(o,"skipped: openai-responses tool/reasoning input is not safe to compress"),null;let b=(0,f.Z)(g,a,!1);if(!Array.isArray(b?.messages))return null;let d=await j(c,b.messages,g,n,m,o||{});if(!d)return null;let e=(0,f.h)(g,{...b,input:void 0,messages:d.messages},!1);return Array.isArray(e?.input)&&(a.input=e.input),o&&(o.after=h(a)),d}let b=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":null;if(!b)return i(o,`unsupported ${l||"unknown"} request shape`),null;let k=await j(c,a[b],g,n,m,o||{});if(!k)return null;return a[b]=k.messages,o&&(o.after=h(a)),k}catch(a){return i(o,`unexpected error: ${a?.message||String(a)}`),null}}function l(a){if(!a)return null;let b=a.tokens_before||0,c=a.tokens_after||0,d=a.tokens_saved||0,e=b>0?(d/b*100).toFixed(1):"0";return`reported token delta=${d} before=${b}${c?` after=${c}`:""} (${e}%)`.trim()}function m(a){let b=a?.before,c=a?.after;if(!b||!c)return"";let d=b.bodyBytes>0?((b.bodyBytes-c.bodyBytes)/b.bodyBytes*100).toFixed(1):"0.0";return`body=${b.bodyBytes}B→${c.bodyBytes}B messages=${b.messageBytes}B→${c.messageBytes}B tools=${b.toolSchemaBytes||0}B→${c.toolSchemaBytes||0}B toolHistory=${b.toolHistoryBytes||0}B→${c.toolHistoryBytes||0}B effective=${d}%`}function n(a,b,c=.05){if(!a?.tokens_saved||a.tokens_saved<=0)return!1;let d=b?.before?.bodyBytes||0,e=b?.after?.bodyBytes||0;return!(d<=0)&&!(e<=0)&&e>=d*(1-c)}},49612:(a,b,c)=>{c.d(b,{g:()=>k,p:()=>l});var d=c(19956),e=c(98173),f=c(57642);function g(a){if(!a)return{};if("object"==typeof a)return a;try{return JSON.parse(a)}catch{return{}}}function h(a){return a?.choices?.[0]||{}}function i(a){return h(a).message||{}}function j(a){let b=i(a).tool_calls;return Array.isArray(b)?b:[]}function k(a,b){let c=Array.isArray(a?.output)?a.output:[],d=c.filter(a=>a?.type==="reasoning").flatMap(a=>Array.isArray(a.summary)?a.summary:[]).map(a=>a?.text||"").join(""),e=c.filter(a=>a?.type==="message"),f=[...e].reverse().find(a=>(Array.isArray(a.content)?a.content:[]).some(a=>"string"==typeof a.text&&a.text.length>0))||e[e.length-1]||null,g=(Array.isArray(f?.content)?f.content:[]).map(a=>("output_text"===a.type||"string"==typeof a.text)&&a.text||"").join(""),h=c.filter(a=>a?.type==="function_call").map((a,b)=>({id:a.call_id||`call_${a.name||"tool"}_${b}`,type:"function",function:{name:a.name||"",arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),i=a?.usage||{},j={role:"assistant",content:g||(h.length>0?null:"")};d&&(j.reasoning_content=d),h.length>0&&(j.tool_calls=h);let k=a?.status==="completed"||a?.status==="done",l=h.length>0?"tool_calls":k?"stop":a?.status||"stop";return{id:a?.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:a?.model||b||"unknown",choices:[{index:0,message:j,finish_reason:l}],usage:{prompt_tokens:i.input_tokens||i.prompt_tokens||0,completion_tokens:i.output_tokens||i.completion_tokens||0,total_tokens:i.total_tokens||(i.input_tokens||i.prompt_tokens||0)+(i.output_tokens||i.completion_tokens||0)}}}function l(a,b){switch(b){case d.h.CLAUDE:return function(a){if(!a?.choices?.[0])return a;let b=h(a),c=i(a),f=[],k=c.reasoning_content||c.provider_specific_fields?.reasoning_content||"";for(let b of(k&&f.push({type:"thinking",thinking:k}),"string"==typeof c.content&&c.content.length>0&&f.push({type:"text",text:c.content}),j(a))){let a=b.function||{};f.push({type:"tool_use",id:b.id||`toolu_${Date.now()}_${f.length}`,name:a.name||b.name||"",input:g(a.arguments||b.arguments)})}0===f.length&&f.push({type:"text",text:""});let l=a.usage||{};return{id:String(a.id||`msg_${Date.now()}`).replace(/^chatcmpl-/,""),type:"message",role:"assistant",model:a.model||"unknown",content:f,stop_reason:(0,e.Q)(b.finish_reason,d.h.CLAUDE),stop_sequence:null,usage:{input_tokens:l.prompt_tokens||l.input_tokens||0,output_tokens:l.completion_tokens||l.output_tokens||0}}}(a);case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.ANTIGRAVITY:case d.h.VERTEX:return function(a){if(!a?.choices?.[0])return a;let b=i(a),c=a.usage||{},d=[],e=b.reasoning_content||b.provider_specific_fields?.reasoning_content||"";for(let c of(e&&d.push({text:e,thought:!0}),"string"==typeof b.content&&b.content.length>0&&d.push({text:b.content}),j(a))){let a=c.function||{};d.push({functionCall:{name:a.name||c.name||"",args:g(a.arguments||c.arguments)}})}return 0===d.length&&d.push({text:""}),{response:{candidates:[{content:{role:"model",parts:d},finishReason:function(a){switch(a){case f.bC.LENGTH:return f.a_.MAX_TOKENS;case f.bC.CONTENT_FILTER:return f.a_.SAFETY;default:return f.a_.STOP}}(h(a).finish_reason),index:0}],usageMetadata:{promptTokenCount:c.prompt_tokens||c.input_tokens||0,candidatesTokenCount:c.completion_tokens||c.output_tokens||0,totalTokenCount:c.total_tokens||(c.prompt_tokens||0)+(c.completion_tokens||0)},modelVersion:a.model||"unknown",responseId:a.id||`resp_${Date.now()}`}}}(a);case d.h.OLLAMA:return function(a){if(!a?.choices?.[0])return a;let b=h(a),c=i(a),d={role:"assistant",content:"string"==typeof c.content?c.content:""};c.reasoning_content&&(d.thinking=c.reasoning_content);let e=j(a).map(a=>{let b=a.function||{};return{id:a.id,function:{name:b.name||a.name||"",arguments:g(b.arguments||a.arguments)}}});e.length>0&&(d.tool_calls=e);let f=a.usage||{};return{model:a.model||"unknown",created_at:a.created?new Date(1e3*a.created).toISOString():new Date().toISOString(),message:d,done:!0,done_reason:b.finish_reason||"stop",prompt_eval_count:f.prompt_tokens||f.input_tokens||0,eval_count:f.completion_tokens||f.output_tokens||0}}(a);case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:return function(a){if(!a?.choices?.[0])return a;let b=i(a),c=a.usage||{},d=[],e=0,f=b.reasoning_content||b.provider_specific_fields?.reasoning_content||"";f&&(d.push({type:"reasoning",id:`rs_${a.id||Date.now()}_${e}`,summary:[{type:"summary_text",text:f}]}),e++);let g="string"==typeof b.content?b.content:"";g&&(d.push({type:"message",id:`msg_${a.id||Date.now()}_${e}`,role:"assistant",content:[{type:"output_text",text:g,annotations:[],logprobs:[]}]}),e++);let k=j(a);if(k.length>0)for(let a of k){let b=a.function||{},c=a.id||`call_${b.name||"tool"}_${e}`;d.push({type:"function_call",id:`fc_${c}`,call_id:c,name:b.name||a.name||"",arguments:"string"==typeof b.arguments?b.arguments:JSON.stringify(b.arguments||{})}),e++}else g||f||d.push({type:"message",id:`msg_${a.id||Date.now()}_${e}`,role:"assistant",content:[{type:"output_text",text:"",annotations:[],logprobs:[]}]});let l=h(a).finish_reason||"stop";return{id:a.id?`resp_${a.id}`:`resp_${Date.now()}`,object:"response",created_at:a.created||Math.floor(Date.now()/1e3),status:"stop"===l||"tool_calls"===l?"completed":l,output:d,usage:{input_tokens:c.prompt_tokens||c.input_tokens||0,output_tokens:c.completion_tokens||c.output_tokens||0,total_tokens:c.total_tokens||(c.prompt_tokens||0)+(c.completion_tokens||0)}}}(a);default:return a}}},54070:(a,b,c)=>{c.d(b,{DL:()=>g,VS:()=>h,_s:()=>i});let d=global.__vaultStats??={entries:0,hits:0,bytesSaved:0};function e(a){try{let b=Number(a);if(!Number.isFinite(b)||b<0)return 0;return Math.trunc(b)}catch{return 0}}function f(a,b){try{let c=e(d[a])+e(b);d[a]=Number.isSafeInteger(c)?c:Number.MAX_SAFE_INTEGER}catch{}}function g(a,b){try{f("entries",a),f("bytesSaved",b)}catch{}}function h(a=1){try{f("hits",a)}catch{}}function i(){try{return{entries:e(d.entries),hits:e(d.hits),bytesSaved:e(d.bytesSaved)}}catch{return{entries:0,hits:0,bytesSaved:0}}}},61229:(a,b,c)=>{c.d(b,{$:()=>p,M:()=>o});var d=c(19956),e=c(48664),f=c(6755),g=c(15575),h=c(4630),i=c(60290),j=c(48330),k=c(29461),l=c(12407),m=c(4905);let n={[d.h.OPENAI_RESPONSES]:d.h.OPENAI_RESPONSES,[d.h.CLAUDE]:d.h.CLAUDE,[d.h.ANTIGRAVITY]:d.h.ANTIGRAVITY,[d.h.GEMINI]:d.h.ANTIGRAVITY,[d.h.GEMINI_CLI]:d.h.ANTIGRAVITY};async function o({providerResponse:a,provider:b,model:c,sourceFormat:p,targetFormat:q,userAgent:r,body:s,stream:t,requestConfig:u,translatedBody:v,finalBody:w,requestStartTime:x,connectionId:y,clientKeyId:z,requestId:A,clientRawRequest:B,onRequestSuccess:C,reqLogger:D,toolNameMap:E,streamController:F,onStreamComplete:G,streamDetailId:H,pxpipe:I}){let J=(a.headers.get("content-type")||"").toLowerCase();if((J.includes("application/x-ndjson")||J.includes("application/ndjson"))&&a.body){let b,c,d,e;a=new Response(a.body.pipeThrough((b=new TextDecoder,c=new TextEncoder,d="",new TransformStream({transform(a,e){let f=(d+=b.decode(a,{stream:!0})).split("\n");for(let a of(d=f.pop()||"",f)){let b=a.trim();if(b){if(b.startsWith("data:")||b.startsWith("event:")){e.enqueue(c.encode(a+"\n"));continue}try{JSON.parse(b),e.enqueue(c.encode(`data: ${b}
|
|
67
67
|
|
|
68
68
|
`))}catch{}}}},flush(a){let b=d.trim();if(b)try{JSON.parse(b),a.enqueue(c.encode(`data: ${b}
|
|
69
69
|
|
|
70
|
-
`))}catch{}}}))),{status:a.status,statusText:a.statusText,headers:((e=new Headers(a.headers)).set("content-type","text/event-stream"),e)})}else if(I&&!I.includes("text/event-stream")&&!I.includes("application/json")){let d=await a.text().catch(()=>""),e=d.match(/<title>([^<]+)<\/title>/i),f=(e?.[1]||"").replace(/<[^>]*>/g,"").replace(/[\r\n]+/g," ").trim().slice(0,160)||(d.length<200?d.replace(/<[^>]*>/g,"").trim().slice(0,160):`Upstream returned non-SSE response (${I})`),g=a.status||502;return console.warn(`[STREAM] ${b} | ${c} | blocked pipe: ${f} [${g}]`),E?.handleError?.(Error(`upstream non-SSE: ${g}`)),{success:!1,response:new Response(JSON.stringify({error:{message:`[${g}]: ${f}`}}),{status:g,headers:{"Content-Type":"application/json"}})}}B&&Promise.resolve().then(B).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)});let J=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:i,toolNameMap:j,model:k,connectionId:l,body:m,onStreamComplete:o,clientKeyId:p}){let q=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if(h.xq[a]?.format===d.h.OPENAI_RESPONSES&&c===d.h.OPENAI_RESPONSES&&!q){let c=n[b]||d.h.OPENAI;return(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,i,j,k,l,m,o,p)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,i,j,k,l,m,o,p):(0,f.l2)(a,i,j,k,l,m,o,p)}({provider:b,sourceFormat:p,targetFormat:q,userAgent:r,reqLogger:C,toolNameMap:D,model:c,connectionId:x,body:s,onStreamComplete:F,clientKeyId:y}),K=p===d.h.OPENAI_RESPONSES&&q===d.h.OPENAI_RESPONSES?j.Hr:null,L=h.xq[b]?.stallTimeoutMs||i.xM,M=(0,g.Jb)(a,J,E,K,L);return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:x,latency:{ttft:0,total:Date.now()-w},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(s,t),providerRequest:v||u||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success",pxpipe:H},{id:G})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(M,{headers:m.RK})}}function p({provider:a,model:b,connectionId:c,clientKeyId:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,requestId:j,clientRawRequest:m,pxpipe:n}){let o=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return{onStreamComplete:async(p,q,r)=>{let s={ttft:r?r-e:Date.now()-e,total:Date.now()-e},t=p?.content||"[Empty streaming response]",u=p?.thinking||null;(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:s,tokens:q||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(f,g),providerRequest:h||i||null,providerResponse:t,response:{content:t,thinking:u,type:"streaming"},status:"success",pxpipe:n},{id:o})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),await (0,k.qr)({provider:a,model:b,tokens:q,connectionId:c,clientKeyId:d,requestId:j,endpoint:m?.endpoint,label:"STREAM USAGE"})},streamDetailId:o}}},66573:(a,b,c)=>{c.d(b,{Hh:()=>g,ST:()=>h,Wg:()=>f});let d=new TextEncoder;function e(a){return Math.max(0,Math.floor(Number(a)||0))}function f(a,b){var c;if("string"!=typeof a)return"";let d=e(b);return a.length<=d?a:0===d?"":a.slice(0,(c=a.charCodeAt(d-1))>=55296&&c<=56319?d-1:d)}function g(a,b){var c;if("string"!=typeof a)return"";let d=e(b);if(a.length<=d)return a;if(0===d)return"";let f=a.length-d;return a.slice((c=a.charCodeAt(f))>=56320&&c<=57343?f+1:f)}function h(a,b){if("string"!=typeof a)return"";let c=e(b);if(0===c)return"";if(d.encode(a).length<=c)return a;let g=0,h=a.length;for(;g<h;){let b=g+Math.ceil((h-g)/2);d.encode(a.slice(0,b)).length<=c?g=b:h=b-1}return f(a,g)}},70718:(a,b,c)=>{c.d(b,{q7:()=>o});var d=c(28730);let e="u">typeof process&&process.versions?.node&&!0,f="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",g=null,h=null,i=null;async function j(){if(e&&f&&!g)try{g=await Promise.resolve().then(c.t.bind(c,29021,19)),i=(h=await Promise.resolve().then(c.t.bind(c,33873,19))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function k(a,b,c){if(await j(),!g||!i)return null;try{g.existsSync(i)||g.mkdirSync(i,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds()),i=String(a.getMilliseconds()).padStart(3,"0");return`${c}${d}${e}_${f}${g}${h}_${i}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),f=`${a}_${b}_${e}_${d}`,j=h.join(i,f);return g.mkdirSync(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}let l=new Set(["prompt_cache_key","session_id","sessionid","conversation_id","conversationid","user_id","userid","request_id","requestid","x_session_id","x_amp_thread_id","x_client_request_id"]);function m(a,b,c){if(g&&a)try{let d=h.join(a,b);g.writeFileSync(d,JSON.stringify(function a(b){if(Array.isArray(b))return b.map(a);if(!b||"object"!=typeof b)return b;let c={};for(let[d,e]of Object.entries(b)){let b=d.toLowerCase().replaceAll("-","_");c[d]=l.has(b)?"[redacted]":a(e)}return c}(c),null,2))}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}function n(a){if(!a)return{};let b={...a};for(let a of Object.keys(b)){let c=a.toLowerCase();if(d.fC.some(a=>c.includes(a))){let e=b[a];d.qk.some(a=>c.includes(a))?b[a]="[redacted]":"string"==typeof e&&e.length>12?b[a]=e.slice(0,8)+"..."+e.slice(-4):null!=e&&(b[a]="[redacted]")}}return b}async function o(a,b,c){if(!f)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await k(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){m(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:n(c),body:b})},logRawRequest(a,b={}){m(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:n(b),body:a})},logOpenAIRequest(a){m(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){m(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:n(b),body:c})},logProviderResponse(a,b,c,e){m(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:n(c&&"function"==typeof c.entries?Object.fromEntries(c.entries()):c),body:e})},appendProviderChunk(a){if(g&&d)try{let b=h.join(d,"5_res_provider.txt");g.appendFileSync(b,a)}catch(a){}},appendOpenAIChunk(a){if(g&&d)try{let b=h.join(d,"6_res_openai.txt");g.appendFileSync(b,a)}catch(a){}},logConvertedResponse(a){m(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(g&&d)try{let b=h.join(d,"7_res_client.txt");g.appendFileSync(b,a)}catch(a){}},logError(a,b=null){m(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),requestBody:b})}}}},78255:(a,b,c)=>{c.d(b,{I:()=>o});var d=c(94176),e=c(89865),f=c(60290),g=c(19956),h=c(4630),i=c(49612),j=c(29461),k=c(12407);let l=a=>h.xq[a]?.format===g.h.OPENAI_RESPONSES;async function m(a){if(a)try{await a()}catch(a){console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)}}function n(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}async function o({providerResponse:a,sourceFormat:b,provider:c,model:h,body:p,stream:q,translatedBody:r,finalBody:s,requestStartTime:t,connectionId:u,clientKeyId:v,requestId:w,clientRawRequest:x,onRequestSuccess:y,trackDone:z,appendLog:A}){let B=a.headers.get("content-type")||"";if(!(B.includes("text/event-stream")||""===B&&l(c)))return null;z();let C={provider:c,model:h,connectionId:u,request:(0,j.Fo)(p,q),providerRequest:s||r||null};if(l(c))try{let e=await (0,d.convertResponsesStreamToJson)(a.body);await m(y);let f=e.usage||{};A({tokens:f,status:"200 OK"}),await (0,j.qr)({provider:c,model:h,tokens:f,connectionId:u,clientKeyId:v,requestId:w,endpoint:x?.endpoint});let{msgItem:l,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=n(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:n(c)}}(e.output),p=Date.now()-t;if((0,k.ox)((0,j.$R)({...C,latency:{ttft:p,total:p},tokens:{prompt_tokens:f.input_tokens||0,completion_tokens:f.output_tokens||0},response:{content:o,thinking:null,finish_reason:e.status||"unknown"},status:"success"},{endpoint:x?.endpoint||null})).catch(()=>{}),b===g.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json"}})};let q=f.input_tokens||0,r=f.output_tokens||0,s=(e.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),z=s.length>0,B="completed"===e.status||"done"===e.status,D=z?"tool_calls":B?"stop":e.status||"stop",E={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created_at||Math.floor(Date.now()/1e3),model:e.model||h,choices:[{index:0,message:{role:"assistant",content:o||(z?null:""),...z?{tool_calls:s}:{}},finish_reason:D}],usage:{prompt_tokens:q,completion_tokens:r,total_tokens:q+r}},F=(0,i.p)(E,b);return{success:!0,response:new Response(JSON.stringify(F),{headers:{"Content-Type":"application/json"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,e.A1)(f.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let g=await (0,d.i)(a.body,h);if(!g)return(0,e.A1)(f.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");await m(y);let l=g.usage||{};A({tokens:l,status:"200 OK"}),await (0,j.qr)({provider:c,model:h,tokens:l,connectionId:u,clientKeyId:v,requestId:w,endpoint:x?.endpoint});let n=Date.now()-t;if((0,k.ox)((0,j.$R)({...C,latency:{ttft:n,total:n},tokens:l,response:{content:g.choices?.[0]?.message?.content||null,thinking:g.choices?.[0]?.message?.reasoning_content||null,finish_reason:g.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:x?.endpoint||null})).catch(()=>{}),g?.choices)for(let a of g.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;let o=(0,i.p)(g,b);return{success:!0,response:new Response(JSON.stringify(o),{headers:{"Content-Type":"application/json"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,e.A1)(f.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},83611:(a,b,c)=>{c.d(b,{H:()=>h,j:()=>g});let d="<think>",e="</think>",f=RegExp(`${d}([\\s\\S]*?)${e}\\s*`);function g(a){if("string"!=typeof a)return{content:a,reasoning:null};let b=a.match(f);return b?{content:a.replace(RegExp(`${d}[\\s\\S]*?${e}\\s*`,"g"),"").trimStart(),reasoning:b[1].trim()}:{content:a,reasoning:null}}function h(){let a="",b=!1;return function(c){let f=null;if("string"!=typeof c)return{content:c,reasoning:f};if(b){let d=c.indexOf(e);d>=0?(a+=c.slice(0,d),f=a.trim(),a="",b=!1,c=c.slice(d+e.length).trimStart()):(a+=c,c="")}if(!b){let g=c.indexOf(d);if(g>=0){let h=c.slice(g+d.length),i=h.indexOf(e);i>=0?(f=(f?f+"\n":"")+h.slice(0,i).trim(),c=c.slice(0,g)+h.slice(i+e.length).trimStart()):(b=!0,a=h,c=c.slice(0,g))}}return{content:c,reasoning:f}}}},90197:(a,b,c)=>{c.d(b,{H:()=>h,_:()=>i});var d=c(19956);function e(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function f(a){return Math.round(a/4)}function g(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function h(a,{enabled:b,format:c,model:i,minChars:j,timeoutMs:k,transform:l}={}){if(!b)return g("disabled");if("function"!=typeof l)return g("not_installed");if(!a)return g("missing_body");if(c!==d.h.CLAUDE)return g("unsupported_format",{detail:c});let m=Date.now(),n=e(a),o=Number(j)>0?Number(j):25e3;if(n<o)return g("below_threshold",{originalChars:n,threshold:o});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(k)>0?Number(k):15e3,d=await Promise.race([l({body:b,model:i,options:{minCompressChars:o}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!d)return g("timeout",{originalChars:n,durationMs:Date.now()-m});if(!d.applied)return g(d.reason||"passthrough",{detail:d.detail,originalChars:n,durationMs:Date.now()-m});let h=JSON.parse(new TextDecoder().decode(d.body)),j=e(h),p=d.info||{},q=p.compressedChars||0,r=p.imageTokens||(p.imagePixels?Math.round(p.imagePixels/750):4761*(p.imageCount||0)),s={applied:!0,reason:"applied",originalChars:n,compressedBodyChars:j,imagedChars:q,imageCount:p.imageCount||0,imageBytes:p.imageBytes||0,tokensBeforeEst:p.baselineTokens||f(n),tokensAfterEst:f(Math.max(0,n-q))+r,durationMs:Date.now()-m,cacheOwnsControl:d.cache?.ownsCacheControl===!0};return s.tokensSavedEst=Math.max(0,s.tokensBeforeEst-s.tokensAfterEst),s.savedPct=s.tokensBeforeEst>0?+(s.tokensSavedEst/s.tokensBeforeEst*100).toFixed(2):0,{body:h,summary:s}}catch(a){return g("transform_error",{detail:a?.message||String(a),originalChars:n,durationMs:Date.now()-m})}}function i(a){return a&&a.applied?`imaged ${a.imagedChars}ch → ${a.imageCount} image(s) | est ${a.tokensBeforeEst}→${a.tokensAfterEst} tokens (-${a.savedPct}%) | ${a.durationMs}ms`:null}},94176:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f||"response.done"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{convertResponsesStreamToJson:()=>l,i:()=>k});let e={input_tokens:0,output_tokens:0,total_tokens:0};function f(a){if(Number.isFinite(a)&&a>0)return a;let b=Number.parseInt(globalThis.process?.env?.STREAM_TO_JSON_MAX_BYTES||"",10);return Number.isFinite(b)&&b>0?b:0x1000000}class g extends Error{constructor(a){super(`SSE stream exceeded STREAM_TO_JSON_MAX_BYTES (${a} bytes)`),this.name="StreamToJsonMaxBytesError"}}function h(a){return a?"number"==typeof a.byteLength?a.byteLength:"number"==typeof a.length?a.length:0:0}function i(a,b){if(a>b)throw new g(b)}function j(a,b){let c=a.trim();if(!c.startsWith("data:"))return;let d=c.slice(5).trim();if(d&&"[DONE]"!==d)try{!function(a,b){b.seenChunk||(b.first=a||{},b.seenChunk=!0);let c=a?.choices?.[0],d=c?.delta||{};if("string"==typeof d.content&&d.content.length>0&&b.contentParts.push(d.content),"string"==typeof d.reasoning_content&&d.reasoning_content.length>0&&b.reasoningParts.push(d.reasoning_content),c?.finish_reason&&(b.finishReason=c.finish_reason),a?.usage&&"object"==typeof a.usage&&(b.usage=a.usage),Array.isArray(d.tool_calls))for(let a of d.tool_calls){let c=a.index??0;b.toolCallMap.has(c)||b.toolCallMap.set(c,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let d=b.toolCallMap.get(c);a.id&&(d.id=a.id),a.function?.name&&(d.function.name+=a.function.name),a.function?.arguments&&(d.function.arguments+=a.function.arguments)}}(JSON.parse(d),b)}catch{}}async function k(a,b,{maxBytes:c}={}){if(!a||"function"!=typeof a.getReader)return null;let d=a.getReader(),e=new TextDecoder,g=f(c),l={fallbackModel:b,seenChunk:!1,first:null,contentParts:[],reasoningParts:[],toolCallMap:new Map,finishReason:"stop",usage:null},m="",n=0;try{for(;;){let{done:a,value:b}=await d.read();if(a)break;n+=h(b),i(n,g);let c=(m+=e.decode(b,{stream:!0})).split("\n");for(let a of(m=c.pop()||"",c))j(a,l)}let a=e.decode();a&&(m+=a),m&&j(m,l)}catch(a){try{await d.cancel(a)}catch{}throw a}finally{d.releaseLock()}if(!l.seenChunk)return null;let o=l.first||{},p={role:"assistant",content:l.contentParts.join("")||(l.toolCallMap.size>0?null:"")};l.reasoningParts.length>0&&(p.reasoning_content=l.reasoningParts.join("")),l.toolCallMap.size>0&&(p.tool_calls=[...l.toolCallMap.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let q={id:o.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:o.created||Math.floor(Date.now()/1e3),model:o.model||l.fallbackModel||"unknown",choices:[{index:0,message:p,finish_reason:l.finishReason}]};return l.usage&&(q.usage=l.usage),q}async function l(a,{maxBytes:b}={}){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let c=a.getReader(),g=new TextDecoder,j=f(b),k="",m=0,n={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:b}=await c.read();if(a)break;m+=h(b),i(m,j);let e=(k+=g.decode(b,{stream:!0})).split("\n\n");for(let a of(k=e.pop()||"",e))d(a,n)}let a=g.decode();a&&(k+=a),k.trim()&&d(k,n)}catch(a){try{await c.cancel(a)}catch{}throw a}finally{c.releaseLock()}let o=[],p=n.items.size>0?Math.max(...n.items.keys()):-1;for(let a=0;a<=p;a++)o.push(n.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:n.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:n.created,status:n.status||"completed",output:o,usage:n.usage}}},94501:(a,b,c)=>{c.d(b,{X:()=>m});var d=c(19956);let e={vision:"[image omitted: model has no vision support]",audioInput:"[audio omitted: model has no audio support]",pdf:"[file omitted: model has no document support]"},f={vision:"[Previous image omitted from context.]",audioInput:"[Previous audio omitted from context.]",pdf:"[Previous file omitted from context.]"},g=(a,b)=>(b?e:f)[a];function h(a){let b=a?.type;return"image_url"===b||"image"===b?"vision":"input_audio"===b||"audio_url"===b?"audioInput":"file"===b?"pdf":null}function i(a){let b=a?.type;return"image"===b?"vision":"document"===b?"pdf":null}function j(a,b,c,d,e){let f=[];for(let e of a){let a=b(e);if(a&&!1===c[a]){d.add(a);continue}f.push(e)}for(let a of d)f.push({type:"text",text:g(a,e)});return f}function k(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;a.content=j(a.content,h,b,e,d===c)})}function l(a,b){if(!Array.isArray(a))return;let c=a.length-1;a.forEach((a,d)=>{if(!Array.isArray(a.parts))return;let e=new Set;for(let f of(a.parts=a.parts.filter(a=>{var c;let d="string"!=typeof(c=a?.inlineData?.mimeType||a?.fileData?.mimeType)?null:c.startsWith("image/")?"vision":c.startsWith("audio/")?"audioInput":"application/pdf"===c?"pdf":null;return!d||!1!==b[d]||(e.add(d),!1)}),e))a.parts.push({text:g(f,d===c)})})}function m(a,b,c){if(!a||!c||!1!==c.vision&&!1!==c.audioInput&&!1!==c.pdf)return!1;switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:k(a,c);break;case d.h.CLAUDE:!function(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;a.content=j(a.content,i,b,e,d===c)})}(a,c);break;case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:case d.h.CODEX:!function(a,b){if(!Array.isArray(a.input))return;let c=a.input.length-1;a.input.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;for(let f of(a.content=a.content.filter(a=>{let c=a?.type==="input_image"?"vision":a?.type==="input_file"?"pdf":null;return!c||!1!==b[c]||(e.add(c),!1)}),e))a.content.push({type:"input_text",text:g(f,d===c)})})}(a,c);break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:l(a.contents,c);break;case d.h.ANTIGRAVITY:l(a?.request?.contents,c);break;default:k(a,c)}return!0}},96145:(a,b,c)=>{c.d(b,{C:()=>h});var d=c(19956),e=c(50186);let f=new Set([d.h.GEMINI,d.h.GEMINI_CLI,d.h.VERTEX,d.h.ANTIGRAVITY,d.h.OLLAMA,d.h.KIRO]);function g(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function h(a,b,c,i={}){if(!a||!f.has(c))return 0;let j=function(a,b){let c=[],e=a=>{for(let b of a||[])if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="image_url"){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;g(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},f=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;g(b)&&c.push({get:()=>b,part:a})}},h=a=>{for(let b of a||[])if(Array.isArray(b?.content))for(let a of b.content)a?.type==="input_image"&&g("string"==typeof a.image_url?a.image_url:a.image_url?.url||a.file_id)&&c.push({get:()=>"string"==typeof a.image_url?a.image_url:a.image_url?.url||a.file_id,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url&&"object"==typeof a.image_url?a.image_url.url=b:a.image_url=b}})};switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:e(a.messages),Array.isArray(a.input)&&h(a.input);break;case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:case d.h.CODEX:h(a.input);break;case d.h.CLAUDE:for(let b of a.messages||[])if(Array.isArray(b.content))for(let a of b.content)a?.type==="image"&&a.source?.type==="url"&&g(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:f(a.contents);break;case d.h.ANTIGRAVITY:f(a?.request?.contents);break;default:e(a.messages),Array.isArray(a.input)&&h(a.input)}return c}(a,b);if(!j.length)return 0;let k=0;for(let a of j){let b=a.get();if((0,e.W$)(b))continue;let c=await (0,e.ni)(b,i);c&&(a.set?a.set(c.url):a.part?(delete a.part.fileData,a.part.inlineData={mimeType:c.mimeType,data:c.url.split(",")[1]}):a.claudeBlock&&(a.claudeBlock.source={type:"base64",media_type:c.mimeType,data:c.url.split(",")[1]}),k++)}return k}}};
|
|
70
|
+
`))}catch{}}}))),{status:a.status,statusText:a.statusText,headers:((e=new Headers(a.headers)).set("content-type","text/event-stream"),e)})}else if(J&&!J.includes("text/event-stream")&&!J.includes("application/json")){let d=await a.text().catch(()=>""),e=d.match(/<title>([^<]+)<\/title>/i),f=(e?.[1]||"").replace(/<[^>]*>/g,"").replace(/[\r\n]+/g," ").trim().slice(0,160)||(d.length<200?d.replace(/<[^>]*>/g,"").trim().slice(0,160):`Upstream returned non-SSE response (${J})`),g=a.status||502;return console.warn(`[STREAM] ${b} | ${c} | blocked pipe: ${f} [${g}]`),F?.handleError?.(Error(`upstream non-SSE: ${g}`)),{success:!1,response:new Response(JSON.stringify({error:{message:`[${g}]: ${f}`}}),{status:g,headers:{"Content-Type":"application/json"}})}}C&&Promise.resolve().then(C).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)});let K=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:i,toolNameMap:j,model:k,connectionId:l,body:m,onStreamComplete:o,clientKeyId:p,terminateOnResponsesTerminal:q}){let r=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if(h.xq[a]?.format===d.h.OPENAI_RESPONSES&&c===d.h.OPENAI_RESPONSES&&!r){let c=n[b]||d.h.OPENAI;return(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,i,j,k,l,m,o,p,q)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,i,j,k,l,m,o,p):(0,f.l2)(a,i,j,k,l,m,o,p)}({provider:b,sourceFormat:p,targetFormat:q,userAgent:r,reqLogger:D,toolNameMap:E,model:c,connectionId:y,body:s,onStreamComplete:G,clientKeyId:z,terminateOnResponsesTerminal:"responses-websocket"!==a.headers.get("x-switchboard-transport")}),L=p===d.h.OPENAI_RESPONSES&&q===d.h.OPENAI_RESPONSES?j.Hr:null,M=h.xq[b]?.stallTimeoutMs||i.xM,N=(0,g.Jb)(a,K,F,L,M);return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:y,latency:{ttft:0,total:Date.now()-x},tokens:{prompt_tokens:0,completion_tokens:0},request:u??(0,k.Fo)(s,t),providerRequest:w||v||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success",pxpipe:I},{id:H})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(N,{headers:m.RK})}}function p({provider:a,model:b,connectionId:c,clientKeyId:d,requestStartTime:e,body:f,stream:g,requestConfig:h,finalBody:i,translatedBody:j,requestId:m,clientRawRequest:n,pxpipe:o}){let q=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return{onStreamComplete:async(p,r,s)=>{let t={ttft:s?s-e:Date.now()-e,total:Date.now()-e},u=p?.content||"[Empty streaming response]",v=p?.thinking||null;(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:t,tokens:r||{prompt_tokens:0,completion_tokens:0},request:h??(0,k.Fo)(f,g),providerRequest:i||j||null,providerResponse:u,response:{content:u,thinking:v,type:"streaming"},status:"success",pxpipe:o},{id:q})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),await (0,k.YZ)({provider:a,model:b,tokens:r,connectionId:c,clientKeyId:d,requestId:m,endpoint:n?.endpoint,label:"STREAM USAGE"})},streamDetailId:q}}},66573:(a,b,c)=>{c.d(b,{Hh:()=>g,ST:()=>h,Wg:()=>f});let d=new TextEncoder;function e(a){return Math.max(0,Math.floor(Number(a)||0))}function f(a,b){var c;if("string"!=typeof a)return"";let d=e(b);return a.length<=d?a:0===d?"":a.slice(0,(c=a.charCodeAt(d-1))>=55296&&c<=56319?d-1:d)}function g(a,b){var c;if("string"!=typeof a)return"";let d=e(b);if(a.length<=d)return a;if(0===d)return"";let f=a.length-d;return a.slice((c=a.charCodeAt(f))>=56320&&c<=57343?f+1:f)}function h(a,b){if("string"!=typeof a)return"";let c=e(b);if(0===c)return"";if(d.encode(a).length<=c)return a;let g=0,h=a.length;for(;g<h;){let b=g+Math.ceil((h-g)/2);d.encode(a.slice(0,b)).length<=c?g=b:h=b-1}return f(a,g)}},70718:(a,b,c)=>{c.d(b,{q7:()=>o});var d=c(28730);let e="u">typeof process&&process.versions?.node&&!0,f="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",g=null,h=null,i=null;async function j(){if(e&&f&&!g)try{let a=await Promise.resolve().then(c.t.bind(c,29021,19)),b=await Promise.resolve().then(c.t.bind(c,33873,19));g=a.default||a,i=(h=b.default||b).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function k(a,b,c){if(await j(),!g||!i)return null;try{g.existsSync(i)||g.mkdirSync(i,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds()),i=String(a.getMilliseconds()).padStart(3,"0");return`${c}${d}${e}_${f}${g}${h}_${i}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),f=`${a}_${b}_${e}_${d}`,j=h.join(i,f);return g.mkdirSync(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}let l=new Set(["prompt_cache_key","session_id","sessionid","conversation_id","conversationid","user_id","userid","request_id","requestid","x_session_id","x_amp_thread_id","x_client_request_id"]);function m(a,b,c){if(g&&a)try{let d=h.join(a,b);g.writeFileSync(d,JSON.stringify(function a(b){if(Array.isArray(b))return b.map(a);if(!b||"object"!=typeof b)return b;let c={};for(let[d,e]of Object.entries(b)){let b=d.toLowerCase().replaceAll("-","_");c[d]=l.has(b)?"[redacted]":a(e)}return c}(c),null,2))}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}function n(a){if(!a)return{};let b={...a};for(let a of Object.keys(b)){let c=a.toLowerCase();if(d.fC.some(a=>c.includes(a))){let e=b[a];d.qk.some(a=>c.includes(a))?b[a]="[redacted]":"string"==typeof e&&e.length>12?b[a]=e.slice(0,8)+"..."+e.slice(-4):null!=e&&(b[a]="[redacted]")}}return b}async function o(a,b,c){if(!f)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){},close(){}};let d=await k(a,b,c),e={},i=!1;function j(a,b,c){if(g&&d&&!i)try{let f=e[a];f||(f=e[a]=g.createWriteStream(h.join(d,b),{flags:"a"})).on("error",()=>{}),f.write(c)}catch{}}return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){m(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:n(c),body:b})},logRawRequest(a,b={}){m(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:n(b),body:a})},logOpenAIRequest(a){m(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){m(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:n(b),body:c})},logProviderResponse(a,b,c,e){m(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:n(c&&"function"==typeof c.entries?Object.fromEntries(c.entries()):c),body:e})},appendProviderChunk(a){j("provider","5_res_provider.txt",a)},appendOpenAIChunk(a){j("openai","6_res_openai.txt",a)},logConvertedResponse(a){m(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){j("converted","7_res_client.txt",a)},logError(a,b=null){m(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),requestBody:b})},close:()=>{let a;return i=!0,a=Object.values(e),e={},Promise.all(a.map(a=>new Promise(b=>{try{a.end(b)}catch{b()}})))}}}},78255:(a,b,c)=>{c.d(b,{I:()=>o});var d=c(94176),e=c(89865),f=c(60290),g=c(19956),h=c(4630),i=c(49612),j=c(29461),k=c(12407);let l=a=>h.xq[a]?.format===g.h.OPENAI_RESPONSES;async function m(a){if(a)try{await a()}catch(a){console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)}}function n(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}async function o({providerResponse:a,sourceFormat:b,provider:c,model:h,body:p,stream:q,requestConfig:r,translatedBody:s,finalBody:t,requestStartTime:u,connectionId:v,clientKeyId:w,requestId:x,clientRawRequest:y,onRequestSuccess:z,trackDone:A,appendLog:B}){let C=a.headers.get("content-type")||"";if(!(C.includes("text/event-stream")||""===C&&l(c)))return null;A();let D={provider:c,model:h,connectionId:v,request:r??(0,j.Fo)(p,q),providerRequest:t||s||null};if(l(c))try{let e=await (0,d.convertResponsesStreamToJson)(a.body);await m(z);let f=e.usage||{};B({tokens:f,status:"200 OK"}),await (0,j.YZ)({provider:c,model:h,tokens:f,connectionId:v,clientKeyId:w,requestId:x,endpoint:y?.endpoint});let{msgItem:l,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=n(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:n(c)}}(e.output),p=Date.now()-u;if((0,k.ox)((0,j.$R)({...D,latency:{ttft:p,total:p},tokens:{prompt_tokens:f.input_tokens||0,completion_tokens:f.output_tokens||0},response:{content:o,thinking:null,finish_reason:e.status||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),b===g.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json"}})};let q=f.input_tokens||0,r=f.output_tokens||0,s=(e.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),t=s.length>0,A="completed"===e.status||"done"===e.status,C=t?"tool_calls":A?"stop":e.status||"stop",E={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created_at||Math.floor(Date.now()/1e3),model:e.model||h,choices:[{index:0,message:{role:"assistant",content:o||(t?null:""),...t?{tool_calls:s}:{}},finish_reason:C}],usage:{prompt_tokens:q,completion_tokens:r,total_tokens:q+r}},F=(0,i.p)(E,b);return{success:!0,response:new Response(JSON.stringify(F),{headers:{"Content-Type":"application/json"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,e.A1)(f.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let g=await (0,d.i)(a.body,h);if(!g)return(0,e.A1)(f.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");await m(z);let l=g.usage||{};B({tokens:l,status:"200 OK"}),await (0,j.YZ)({provider:c,model:h,tokens:l,connectionId:v,clientKeyId:w,requestId:x,endpoint:y?.endpoint});let n=Date.now()-u;if((0,k.ox)((0,j.$R)({...D,latency:{ttft:n,total:n},tokens:l,response:{content:g.choices?.[0]?.message?.content||null,thinking:g.choices?.[0]?.message?.reasoning_content||null,finish_reason:g.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),g?.choices)for(let a of g.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;let o=(0,i.p)(g,b);return{success:!0,response:new Response(JSON.stringify(o),{headers:{"Content-Type":"application/json"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,e.A1)(f.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},83611:(a,b,c)=>{c.d(b,{H:()=>h,j:()=>g});let d="<think>",e="</think>",f=RegExp(`${d}([\\s\\S]*?)${e}\\s*`);function g(a){if("string"!=typeof a)return{content:a,reasoning:null};let b=a.match(f);return b?{content:a.replace(RegExp(`${d}[\\s\\S]*?${e}\\s*`,"g"),"").trimStart(),reasoning:b[1].trim()}:{content:a,reasoning:null}}function h(){let a="",b=!1;return function(c){let f=null;if("string"!=typeof c)return{content:c,reasoning:f};if(b){let d=c.indexOf(e);d>=0?(a+=c.slice(0,d),f=a.trim(),a="",b=!1,c=c.slice(d+e.length).trimStart()):(a+=c,c="")}if(!b){let g=c.indexOf(d);if(g>=0){let h=c.slice(g+d.length),i=h.indexOf(e);i>=0?(f=(f?f+"\n":"")+h.slice(0,i).trim(),c=c.slice(0,g)+h.slice(i+e.length).trimStart()):(b=!0,a=h,c=c.slice(0,g))}}return{content:c,reasoning:f}}}},90197:(a,b,c)=>{c.d(b,{H:()=>h,_:()=>i});var d=c(19956);function e(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function f(a){return Math.round(a/4)}function g(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function h(a,{enabled:b,format:c,model:i,minChars:j,timeoutMs:k,transform:l}={}){if(!b)return g("disabled");if("function"!=typeof l)return g("not_installed");if(!a)return g("missing_body");if(c!==d.h.CLAUDE)return g("unsupported_format",{detail:c});let m=Date.now(),n=e(a),o=Number(j)>0?Number(j):25e3;if(n<o)return g("below_threshold",{originalChars:n,threshold:o});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(k)>0?Number(k):15e3,d=await Promise.race([l({body:b,model:i,options:{minCompressChars:o}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!d)return g("timeout",{originalChars:n,durationMs:Date.now()-m});if(!d.applied)return g(d.reason||"passthrough",{detail:d.detail,originalChars:n,durationMs:Date.now()-m});let h=JSON.parse(new TextDecoder().decode(d.body)),j=e(h),p=d.info||{},q=p.compressedChars||0,r=p.imageTokens||(p.imagePixels?Math.round(p.imagePixels/750):4761*(p.imageCount||0)),s={applied:!0,reason:"applied",originalChars:n,compressedBodyChars:j,imagedChars:q,imageCount:p.imageCount||0,imageBytes:p.imageBytes||0,tokensBeforeEst:p.baselineTokens||f(n),tokensAfterEst:f(Math.max(0,n-q))+r,durationMs:Date.now()-m,cacheOwnsControl:d.cache?.ownsCacheControl===!0};return s.tokensSavedEst=Math.max(0,s.tokensBeforeEst-s.tokensAfterEst),s.savedPct=s.tokensBeforeEst>0?+(s.tokensSavedEst/s.tokensBeforeEst*100).toFixed(2):0,{body:h,summary:s}}catch(a){return g("transform_error",{detail:a?.message||String(a),originalChars:n,durationMs:Date.now()-m})}}function i(a){return a&&a.applied?`imaged ${a.imagedChars}ch → ${a.imageCount} image(s) | est ${a.tokensBeforeEst}→${a.tokensAfterEst} tokens (-${a.savedPct}%) | ${a.durationMs}ms`:null}},94176:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f||"response.done"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{convertResponsesStreamToJson:()=>l,i:()=>k});let e={input_tokens:0,output_tokens:0,total_tokens:0};function f(a){if(Number.isFinite(a)&&a>0)return a;let b=Number.parseInt(globalThis.process?.env?.STREAM_TO_JSON_MAX_BYTES||"",10);return Number.isFinite(b)&&b>0?b:0x1000000}class g extends Error{constructor(a){super(`SSE stream exceeded STREAM_TO_JSON_MAX_BYTES (${a} bytes)`),this.name="StreamToJsonMaxBytesError"}}function h(a){return a?"number"==typeof a.byteLength?a.byteLength:"number"==typeof a.length?a.length:0:0}function i(a,b){if(a>b)throw new g(b)}function j(a,b){let c=a.trim();if(!c.startsWith("data:"))return;let d=c.slice(5).trim();if(d&&"[DONE]"!==d)try{!function(a,b){b.seenChunk||(b.first=a||{},b.seenChunk=!0);let c=a?.choices?.[0],d=c?.delta||{};if("string"==typeof d.content&&d.content.length>0&&b.contentParts.push(d.content),"string"==typeof d.reasoning_content&&d.reasoning_content.length>0&&b.reasoningParts.push(d.reasoning_content),c?.finish_reason&&(b.finishReason=c.finish_reason),a?.usage&&"object"==typeof a.usage&&(b.usage=a.usage),Array.isArray(d.tool_calls))for(let a of d.tool_calls){let c=a.index??0;b.toolCallMap.has(c)||b.toolCallMap.set(c,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let d=b.toolCallMap.get(c);a.id&&(d.id=a.id),a.function?.name&&(d.function.name+=a.function.name),a.function?.arguments&&(d.function.arguments+=a.function.arguments)}}(JSON.parse(d),b)}catch{}}async function k(a,b,{maxBytes:c}={}){if(!a||"function"!=typeof a.getReader)return null;let d=a.getReader(),e=new TextDecoder,g=f(c),l={fallbackModel:b,seenChunk:!1,first:null,contentParts:[],reasoningParts:[],toolCallMap:new Map,finishReason:"stop",usage:null},m="",n=0;try{for(;;){let{done:a,value:b}=await d.read();if(a)break;n+=h(b),i(n,g);let c=(m+=e.decode(b,{stream:!0})).split("\n");for(let a of(m=c.pop()||"",c))j(a,l)}let a=e.decode();a&&(m+=a),m&&j(m,l)}catch(a){try{await d.cancel(a)}catch{}throw a}finally{d.releaseLock()}if(!l.seenChunk)return null;let o=l.first||{},p={role:"assistant",content:l.contentParts.join("")||(l.toolCallMap.size>0?null:"")};l.reasoningParts.length>0&&(p.reasoning_content=l.reasoningParts.join("")),l.toolCallMap.size>0&&(p.tool_calls=[...l.toolCallMap.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let q={id:o.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:o.created||Math.floor(Date.now()/1e3),model:o.model||l.fallbackModel||"unknown",choices:[{index:0,message:p,finish_reason:l.finishReason}]};return l.usage&&(q.usage=l.usage),q}async function l(a,{maxBytes:b}={}){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let c=a.getReader(),g=new TextDecoder,j=f(b),k="",m=0,n={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:b}=await c.read();if(a)break;m+=h(b),i(m,j);let e=(k+=g.decode(b,{stream:!0})).split("\n\n");for(let a of(k=e.pop()||"",e))d(a,n)}let a=g.decode();a&&(k+=a),k.trim()&&d(k,n)}catch(a){try{await c.cancel(a)}catch{}throw a}finally{c.releaseLock()}let o=[],p=n.items.size>0?Math.max(...n.items.keys()):-1;for(let a=0;a<=p;a++)o.push(n.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:n.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:n.created,status:n.status||"completed",output:o,usage:n.usage}}},94501:(a,b,c)=>{c.d(b,{X:()=>m});var d=c(19956);let e={vision:"[image omitted: model has no vision support]",audioInput:"[audio omitted: model has no audio support]",pdf:"[file omitted: model has no document support]"},f={vision:"[Previous image omitted from context.]",audioInput:"[Previous audio omitted from context.]",pdf:"[Previous file omitted from context.]"},g=(a,b)=>(b?e:f)[a];function h(a){let b=a?.type;return"image_url"===b||"image"===b?"vision":"input_audio"===b||"audio_url"===b?"audioInput":"file"===b?"pdf":null}function i(a){let b=a?.type;return"image"===b?"vision":"document"===b?"pdf":null}function j(a,b,c,d,e){let f=[];for(let e of a){let a=b(e);if(a&&!1===c[a]){d.add(a);continue}f.push(e)}for(let a of d)f.push({type:"text",text:g(a,e)});return f}function k(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;a.content=j(a.content,h,b,e,d===c)})}function l(a,b){if(!Array.isArray(a))return;let c=a.length-1;a.forEach((a,d)=>{if(!Array.isArray(a.parts))return;let e=new Set;for(let f of(a.parts=a.parts.filter(a=>{var c;let d="string"!=typeof(c=a?.inlineData?.mimeType||a?.fileData?.mimeType)?null:c.startsWith("image/")?"vision":c.startsWith("audio/")?"audioInput":"application/pdf"===c?"pdf":null;return!d||!1!==b[d]||(e.add(d),!1)}),e))a.parts.push({text:g(f,d===c)})})}function m(a,b,c){if(!a||!c||!1!==c.vision&&!1!==c.audioInput&&!1!==c.pdf)return!1;switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:k(a,c);break;case d.h.CLAUDE:!function(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;a.content=j(a.content,i,b,e,d===c)})}(a,c);break;case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:case d.h.CODEX:!function(a,b){if(!Array.isArray(a.input))return;let c=a.input.length-1;a.input.forEach((a,d)=>{if(!Array.isArray(a.content))return;let e=new Set;for(let f of(a.content=a.content.filter(a=>{let c=a?.type==="input_image"?"vision":a?.type==="input_file"?"pdf":null;return!c||!1!==b[c]||(e.add(c),!1)}),e))a.content.push({type:"input_text",text:g(f,d===c)})})}(a,c);break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:l(a.contents,c);break;case d.h.ANTIGRAVITY:l(a?.request?.contents,c);break;default:k(a,c)}return!0}},96145:(a,b,c)=>{c.d(b,{C:()=>h});var d=c(19956),e=c(50186);let f=new Set([d.h.GEMINI,d.h.GEMINI_CLI,d.h.VERTEX,d.h.ANTIGRAVITY,d.h.OLLAMA,d.h.KIRO]);function g(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function h(a,b,c,i={}){if(!a||!f.has(c))return 0;let j=function(a,b){let c=[],e=a=>{for(let b of a||[])if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="image_url"){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;g(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},f=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;g(b)&&c.push({get:()=>b,part:a})}},h=a=>{for(let b of a||[])if(Array.isArray(b?.content))for(let a of b.content)a?.type==="input_image"&&g("string"==typeof a.image_url?a.image_url:a.image_url?.url||a.file_id)&&c.push({get:()=>"string"==typeof a.image_url?a.image_url:a.image_url?.url||a.file_id,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url&&"object"==typeof a.image_url?a.image_url.url=b:a.image_url=b}})};switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:e(a.messages),Array.isArray(a.input)&&h(a.input);break;case d.h.OPENAI_RESPONSES:case d.h.OPENAI_RESPONSE:case d.h.CODEX:h(a.input);break;case d.h.CLAUDE:for(let b of a.messages||[])if(Array.isArray(b.content))for(let a of b.content)a?.type==="image"&&a.source?.type==="url"&&g(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:f(a.contents);break;case d.h.ANTIGRAVITY:f(a?.request?.contents);break;default:e(a.messages),Array.isArray(a.input)&&h(a.input)}return c}(a,b);if(!j.length)return 0;let k=0;for(let a of j){let b=a.get();if((0,e.W$)(b))continue;let c=await (0,e.ni)(b,i);c&&(a.set?a.set(c.url):a.part?(delete a.part.fileData,a.part.inlineData={mimeType:c.mimeType,data:c.url.split(",")[1]}):a.claudeBlock&&(a.claudeBlock.source={type:"base64",media_type:c.mimeType,data:c.url.split(",")[1]}),k++)}return k}}};
|