@rabbi696/ezrouter 0.5.72 → 0.5.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +15 -15
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_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 +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +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/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +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 +15 -15
- package/app/.next-cli-build/server/chunks/1531.js +1 -1
- package/app/.next-cli-build/server/chunks/1770.js +1 -1
- package/app/.next-cli-build/server/chunks/2547.js +3 -3
- package/app/.next-cli-build/server/chunks/3352.js +1 -1
- package/app/.next-cli-build/server/chunks/369.js +16 -16
- package/app/.next-cli-build/server/chunks/4843.js +1 -1
- package/app/.next-cli-build/server/chunks/5502.js +1 -1
- package/app/.next-cli-build/server/chunks/5767.js +1 -1
- package/app/.next-cli-build/server/chunks/6982.js +1 -1
- package/app/.next-cli-build/server/chunks/7079.js +1 -1
- package/app/.next-cli-build/server/chunks/7591.js +1 -1
- package/app/.next-cli-build/server/chunks/7775.js +1 -1
- package/app/.next-cli-build/server/chunks/7889.js +1 -1
- package/app/.next-cli-build/server/chunks/8002.js +1 -1
- package/app/.next-cli-build/server/chunks/8034.js +1 -1
- package/app/.next-cli-build/server/chunks/8327.js +5 -5
- package/app/.next-cli-build/server/chunks/8421.js +1 -1
- package/app/.next-cli-build/server/chunks/921.js +1 -1
- package/app/.next-cli-build/server/chunks/9212.js +1 -1
- package/app/.next-cli-build/server/chunks/9356.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/app/.next-cli-build/server/chunks/9573.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/static/chunks/{1321-d960790950cf69e9.js → 1321-0b5b745194dd8287.js} +1 -1
- package/app/.next-cli-build/static/chunks/8105-b31a40db8aab725b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-40b649726913b166.js +1 -0
- package/app/CHANGELOG.md +25 -1
- package/app/package.json +1 -1
- package/app/public/CHANGELOG.md +25 -1
- package/package.json +1 -1
- package/app/.next-cli-build/static/chunks/8105-74ce2cd62f81a87d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-0c64fbc888c74b51.js +0 -1
- /package/app/.next-cli-build/static/{VPp5UAgAM1eEBzLPINnic → Z40GVayXuBZ9gdYf-v3w6}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{VPp5UAgAM1eEBzLPINnic → Z40GVayXuBZ9gdYf-v3w6}/_ssgManifest.js +0 -0
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
`,B=d,c=!0}else if(o&&B){let d=(0,g.O9)(B);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
|
|
3
3
|
`,c=!0}else(d||f)&&(b=`data: ${JSON.stringify(a)}
|
|
4
4
|
`,c=!0)}catch{continue}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),s?.appendConvertedChunk?.(b),f.enqueue(m.encode(b));continue}if(p.startsWith("event:")){if(D&&(D._lastEventType=p.slice(6).trim()),q===e.h.OPENAI_RESPONSES){let b=a+"\n";s?.appendConvertedChunk?.(b),f.enqueue(m.encode(b))}continue}let t=(0,h.tV)(p,c);if(!t)continue;let v=c===e.h.OPENAI_RESPONSES,x=v&&q===e.h.OPENAI_RESPONSES,y=v?(0,i.yx)(L,t):null;if(x&&!t.done){let a=(0,j.rY)(P,{event:y,data:t});if(!a.accepted)continue;t=a.data,y=a.type,(0,i.nu)(y,t)&&(M=!0)}else v&&(0,i.nu)(y,t)&&(M=!0);if(t&&t.done&&c!==e.h.OLLAMA){if(x&&!M){let a=(0,i.u9)(P);s?.appendConvertedChunk?.(a),f.enqueue(m.encode(a)),M=!0,J++}if(x&&!O){let a="data: [DONE]\n\n";s?.appendConvertedChunk?.(a),f.enqueue(m.encode(a)),P.doneSent=!0}O=!0,x&&(N=!0);continue}if(t.delta?.text&&(E+=t.delta.text.length,F+=t.delta.text),t.delta?.thinking&&(E+=t.delta.thinking.length,G+=t.delta.thinking),"string"==typeof t.message?.content&&t.message.content&&(E+=t.message.content.length,F+=t.message.content),"string"==typeof t.message?.thinking&&t.message.thinking&&(E+=t.message.thinking.length,G+=t.message.thinking),t.choices?.[0]?.delta?.content&&(E+=t.choices[0].delta.content.length,F+=t.choices[0].delta.content),t.choices?.[0]?.delta?.reasoning_content&&(E+=t.choices[0].delta.reasoning_content.length,G+=t.choices[0].delta.reasoning_content),t.candidates?.[0]?.content?.parts)for(let a of t.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(E+=a.text.length,!0===a.thought?G+=a.text:F+=a.text);let z=(0,g.f5)(t);if(z&&(D.usage=(0,g._L)(D.usage,z)),x&&y){let a=(0,h.v8)({event:y,data:t},q);s?.appendConvertedChunk?.(a),f.enqueue(m.encode(a)),L=null,J++;continue}L=null;let A=(0,d.Y8)(c,q,t,D);if(A?._openaiIntermediate)for(let a of A._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);s?.appendOpenAIChunk?.(b)}if(A?.length>0)for(let a of A){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),f.enqueue(m.encode(c)),J++}}},flush(a){let k=Object.entries(K).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,l.s)("SSE",`flush | provider=${r} | model=${u} | recvLines=${I} | emitted=${J} | events=[${k}]`),(0,f.uw)(u,r,v,!1);try{let k=C.decode();if(k&&(A+=k),b===o){if(A){let b=A;A.startsWith("data:")&&!A.startsWith("data: ")&&(b="data: "+A.slice(5)),s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b))}!(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(!O&&!b){let b="data: [DONE]\n\n";s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b))}x&&x({content:F,thinking:G},B,H);return}if(A.trim()){let b=(0,h.tV)(A.trim(),c);if(b&&!b.done&&c===e.h.OPENAI_RESPONSES&&q===e.h.OPENAI_RESPONSES){let c=(0,i.yx)(L,b),d=(0,j.rY)(P,{event:c,data:b});if(d.accepted){b=d.data;let c=(0,h.v8)({event:d.type,data:b},q);s?.appendConvertedChunk?.(c),a.enqueue(m.encode(c)),(0,i.nu)(d.type,b)&&(M=!0)}b=null}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 l=(0,d.Y8)(c,q,null,D);if(l?._openaiIntermediate)for(let a of l._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);s?.appendOpenAIChunk?.(b)}if(l?.length>0)for(let b of l){if(null==b)continue;let c=(0,h.v8)(b,q);s?.appendConvertedChunk?.(c),a.enqueue(m.encode(c))}let n=c===e.h.OPENAI_RESPONSES&&q===e.h.OPENAI_RESPONSES;if(n&&!M){let b=(0,i.u9)(P);s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),M=!0}if(n&&!N&&!O){let b="data: [DONE]\n\n";s?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),N=!0,O=!0,P.doneSent=!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&&x({content:F,thinking:G},D?.usage,H)}catch(a){console.log("Error in flush:",a)}}});return c===e.h.OPENAI_RESPONSES&&q!==e.h.OPENAI_RESPONSES&&(Q.buildAbortedTerminalBytes=()=>{let a=(0,d.Y8)(c,q,null,D),b=(Array.isArray(a)?a:a?[a]:[]).filter(Boolean).map(a=>(0,h.v8)(a,q)).join("");return b?m.encode(b):null}),Q}function q(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null,k=null){return p({mode:n,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j,responsesAccumulator:k})}function r(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return p({mode:o,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},15575:(a,b,c)=>{c.d(b,{Jb:()=>g,jd:()=>f});var d=c(60290),e=c(12828);function f({onDisconnect:a,onError:b,log:c,provider:d,model:g,reqTag:h=""}={}){let i=new AbortController,j=Date.now(),k=!1,l=null,m=(a,b,e=!1)=>{let f=Date.now()-j,i=e?c?.errorLine:c?.line;i?i(h,a,`${b} \xb7 ${d}/${g} \xb7 ${f}ms`):console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${a} ${d}/${g} \xb7 ${b} \xb7 ${f}ms`)};return{signal:i.signal,startTime:j,isConnected:()=>!k,handleDisconnect:(b="client_closed")=>{k||(k=!0,m("⚡",`DISCONNECT: ${b}`),(0,e.s)("CTRL",`${d}/${g} | disconnect=${b} | dur=${Date.now()-j}ms`),l=setTimeout(()=>{i.abort()},500),a?.({reason:b,duration:Date.now()-j}))},handleComplete:()=>{!k&&(k=!0,l&&(clearTimeout(l),l=null))},handleError:a=>{if(!k){if(k=!0,l&&(clearTimeout(l),l=null),"AbortError"===a.name)return void m("⚡","ABORTED");m("✗",`ERROR: ${a.message}${a.stack?`
|
|
5
|
-
${a.stack}`:""}`,!0),b?.(a)}},abort:()=>i.abort()}}function g(a,b,c,f=null,h=d.xM){let
|
|
5
|
+
${a.stack}`:""}`,!0),b?.(a)}},abort:()=>i.abort()}}function g(a,b,c,f=null,h=d.xM,i=d.UH){let j=null,k=null,l=0,m=0,n=Date.now(),o=Date.now(),p="STREAM",q=()=>{j&&(clearTimeout(j),j=null)},r=()=>{k&&(clearInterval(k),k=null)},s=()=>{q(),j=setTimeout(()=>{j=null,r(),(0,e.s)(p,`STALL TIMEOUT ${h}ms | chunks=${l} | bytes=${m} | sinceLast=${Date.now()-n}ms`),c.handleError?.(Error("stream stall timeout")),c.abort?.()},h)},t={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(p,`complete | chunks=${l} | bytes=${m} | dur=${Date.now()-o}ms`),q(),r(),c.handleComplete()},handleError:a=>{(0,e.s)(p,`error: ${a?.message} | chunks=${l} | bytes=${m} | dur=${Date.now()-o}ms`),q(),r(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(p,`disconnect: ${a} | chunks=${l} | bytes=${m} | dur=${Date.now()-o}ms`),q(),r(),c.handleDisconnect(a)},abort:()=>{q(),r(),c.abort()}};s(),(0,e.s)(p,`pipe start | stallTimeout=${h}ms | keepalive=${i}ms`);let u=new TextEncoder().encode("event: ping\ndata: {}\n\n"),v=new TransformStream({start(a){i>0&&(k=setInterval(()=>{if(0===l&&c.isConnected()){(0,e.s)(p,`keepalive ping sent (silence=${Date.now()-o}ms)`);try{a.enqueue(u)}catch{r()}}else r()},i))},transform(a,b){l++,r();let c=a?.byteLength||a?.length||0;m+=c;let d=Date.now(),f=d-n;n=d,e.T&&(l<=5||l%20==0||f>5e3)&&(0,e.s)(p,`chunk #${l} | size=${c}B | gap=${f}ms | total=${m}B`),s(),b.enqueue(a)},flush(){(0,e.s)(p,`upstream EOF | chunks=${l} | bytes=${m} | dur=${Date.now()-o}ms`),q(),r()}}),w=0,x=new TransformStream({transform(a,b){w+=a?.byteLength||a?.length||0,b.enqueue(a)},flush(a){if(w>0)return;(0,e.s)(p,`EMPTY STREAM — upstream chunks=${l} bytes=${m}; emitting error frame`);let b=JSON.stringify({error:{message:"Upstream returned an empty stream — no content was produced. The provider connection may be unauthenticated or unavailable.",type:"upstream_empty_response",code:"empty_stream"}});a.enqueue(new TextEncoder().encode(`data: ${b}
|
|
6
6
|
|
|
7
7
|
data: [DONE]
|
|
8
8
|
|
|
9
|
-
`))}});return function(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()}})}({readable:a.body.pipeThrough(r).pipeThrough(b).pipeThrough(t),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},q,f)}},30369:(a,b,c)=>{c.d(b,{SB:()=>d.SB}),c(89843),c(4630),c(28730),c(60290),c(27335),c(19956),c(2547),c(17717),c(66451),c(49263),c(85640),c(18129),c(40680),c(15575);var d=c(99356);c(89865),c(6755)},40680:(a,b,c)=>{c.d(b,{w:()=>bp});var d=c(17717),e=c(2547),f=c(94454),g=c(19956),h=c(43788),i=c(15575),j=c(85640);let k="u">typeof process&&process.versions?.node&&!0,l="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",m=null,n=null,o=null;async function p(){if(k&&l&&!m)try{m=await Promise.resolve().then(c.t.bind(c,29021,19)),o=(n=await Promise.resolve().then(c.t.bind(c,33873,19))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function q(a,b,c){if(await p(),!m||!o)return null;try{m.existsSync(o)||m.mkdirSync(o,{recursive:!0,mode:448});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}`,g=n.join(o,f);return m.mkdirSync(g,{recursive:!0,mode:448}),g}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function r(a,b,c){if(m&&a)try{let d=n.join(a,b);m.writeFileSync(d,JSON.stringify(c,null,2),{mode:384})}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}let s=new Set(["authorization","proxy-authorization","cookie","set-cookie","x-api-key","api-key","x-goog-api-key"]);function t(a){return a?Object.fromEntries(Array.from("function"==typeof a.entries?a.entries():Object.entries(a),([a,b])=>{let c=a.toLowerCase();return[a,s.has(c)||c.includes("token")||c.includes("secret")?"[REDACTED]":b]})):{}}async function u(a,b,c){if(!l)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await q(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){r(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:t(c),body:b})},logRawRequest(a,b={}){r(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:t(b),body:a})},logOpenAIRequest(a){r(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){r(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:t(b),body:c})},logProviderResponse(a,b,c,e){r(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:t(c),body:e})},appendProviderChunk(a){if(m&&d)try{let b=n.join(d,"5_res_provider.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},appendOpenAIChunk(a){if(m&&d)try{let b=n.join(d,"6_res_openai.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},logConvertedResponse(a){r(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(m&&d)try{let b=n.join(d,"7_res_client.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},logError(a,b=null){r(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}var v=c(27335),w=c(4630),x=c(89865),y=c(60290),z=c(2735),A=c(47370),B=c(99356),C=c(13247),D=c(6755),E=c(67677);let F=["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 G(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of F)void 0!==a[b]&&(c[b]=a[b]);return c}function H(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,status:a.status||"success",...b}}function I({usage:a,latency:b}){let c=a||{},d=c.prompt_tokens??c.input_tokens??0,e=c.completion_tokens??c.output_tokens??0,f=c.cache_read_input_tokens??c.cached_tokens??c.prompt_tokens_details?.cached_tokens??0,g=c.cache_creation_input_tokens??0,h=`IN ${d}`;if(f||g){let a=[];f&&a.push(`↻${f}`),g&&a.push(`+${g}`),h+=` (CACHE ${a.join(" ")})`}let i=b?.ttft?` \xb7 TTFT ${b.ttft}ms`:"";return`DONE ${b?.total??0}ms${i} \xb7 ${h} \xb7 OUT ${e}`}function J({provider:a,model:b,tokens:c,connectionId:d,apiKey:e,endpoint:f,requestedModel:g,status:h,label:i="USAGE",silent:j=!1}){if(!c||"object"!=typeof c)return;let k=c.input_tokens??c.prompt_tokens??0,l=c.output_tokens??c.completion_tokens??0;if(0===k&&0===l)return;if(!j){let b=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),c=d?` | account=${d.slice(0,8)}...`:"";console.log(`${D.lm.green}[${b}] 📊 [${i}] ${a.toUpperCase()} | in=${k} | out=${l}${c}${D.lm.reset}`)}let m=(0,E._6)(c)||{prompt_tokens:c.prompt_tokens??c.input_tokens??0,completion_tokens:c.completion_tokens??c.output_tokens??0};(0,A.sZ)({provider:a||"unknown",model:b||"unknown",tokens:m,timestamp:new Date().toISOString(),connectionId:d||void 0,apiKey:e||void 0,endpoint:f||null,requestedModel:g||void 0,status:h||"ok"}).catch(()=>{})}var K=c(89568);function L(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!e)return;let f=e[1].trim();if("[DONE]"!==f){try{c=JSON.parse(f)}catch{return}(0,K.rY)(b,{event:d?.[1]?.trim()||c.type,data:c})}}let M={input_tokens:0,output_tokens:0,total_tokens:0};async function N(a){let b=(0,K.lJ)();if(!a||"function"!=typeof a.getReader)return{...(0,K.Hd)(b,{error:O("invalid_stream","response stream is unavailable")}).response,usage:{...M}};let c=a.getReader(),d=new TextDecoder,e="",f=null;try{for(;;){let{done:a,value:f}=await c.read();if(a)break;let g=(e+=d.decode(f,{stream:!0})).split("\n\n");for(let a of(e=g.pop()||"",g))L(a,b)}e.trim()&&L(e,b)}catch(a){f=a}finally{c.releaseLock()}b.finalized||(0,K.Hd)(b,{error:O(f?"stream_read_error":"stream_disconnected",f?.message||"stream closed before a terminal response event")});let g=b.terminalResponse;return{...g,usage:g.usage||{...M}}}function O(a,b){return{type:"stream_error",code:a,message:b}}let P=a=>w.xq[a]?.format===g.h.OPENAI_RESPONSES;function Q(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:""}function R(a,b){let c=[],d=null;for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let e=a.slice(5).trim();if(e&&"[DONE]"!==e)try{let a=JSON.parse(e);a?.error?d=a.error:c.push(a)}catch{}}if(d)return{error:d};if(0===c.length)return null;let e=c[0],f=[],g=[],h=new Map,i="stop",j=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(i=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(j=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;h.has(b)||h.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=h.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}let k={role:"assistant",content:f.join("")||(h.size>0?null:"")};g.length>0&&(k.reasoning_content=g.join("")),h.size>0&&(k.tool_calls=[...h.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:k,finish_reason:i}]};return j&&(l.usage=j),l}async function S({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:f,translatedBody:h,finalBody:i,requestStartTime:j,connectionId:k,apiKey:l,clientRawRequest:m,onRequestSuccess:n,trackDone:o,appendLog:p,convoy:q,reqTag:r,log:s}){let t=a.headers.get("content-type")||"";if(!(t.includes("text/event-stream")||""===t&&P(c)))return null;o();let u={provider:c,model:d,connectionId:k,request:G(e,f),providerRequest:i||h||null};if(P(c)||b===g.h.OPENAI_RESPONSES)try{let e,f=await N(a.body);n&&await n();let h=f.usage||{};p({tokens:h,status:"200 OK"}),J({provider:c,model:d,tokens:h,connectionId:k,apiKey:l,endpoint:m?.endpoint,requestedModel:m?.body?.model,convoy:q,silent:!0}),s?.line&&s.line(r,"\uD83D\uDCCA",I({usage:h,latency:{total:Date.now()-j}}));let{msgItem:i,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=Q(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:Q(c)}}(f.output),t=Date.now()-j;if((0,A.ox)(H({...u,latency:{ttft:t,total:t},tokens:{prompt_tokens:h.input_tokens||0,completion_tokens:h.output_tokens||0},response:{content:o,thinking:null,finish_reason:f.status||"unknown"},status:"success",convoy:q},{endpoint:m?.endpoint||null})).catch(()=>{}),b===g.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(f),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let v=h.input_tokens||0,w=h.output_tokens||0,x=(f.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||{})}})),y=x.length>0;if(b===g.h.ANTIGRAVITY||b===g.h.GEMINI||b===g.h.GEMINI_CLI)e={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:v,candidatesTokenCount:w,totalTokenCount:v+w},modelVersion:d,responseId:f.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:o||(y?null:"")};y&&(a.tool_calls=x);let b="completed"===f.status||"done"===f.status,c=y?"tool_calls":b?"stop":f.status||"stop";e={id:f.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:f.created_at||Math.floor(Date.now()/1e3),model:f.model||d,choices:[{index:0,message:a,finish_reason:c}],usage:{prompt_tokens:v,completion_tokens:w,total_tokens:v+w}}}return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,x.A1)(y.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let b=await a.text(),e=R(b,d);if(!e)return(0,x.A1)(y.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(e.error)return(0,x.A1)(y.gx.BAD_GATEWAY,e.error.message||"Upstream SSE stream failed");n&&await n();let f=e.usage||{};p({tokens:f,status:"200 OK"}),J({provider:c,model:d,tokens:f,connectionId:k,apiKey:l,endpoint:m?.endpoint,requestedModel:m?.body?.model,convoy:q,silent:!0}),s?.line&&s.line(r,"\uD83D\uDCCA",I({usage:f,latency:{total:Date.now()-j}}));let g=Date.now()-j;if((0,A.ox)(H({...u,latency:{ttft:g,total:g},tokens:f,response:{content:e.choices?.[0]?.message?.content||null,thinking:e.choices?.[0]?.message?.reasoning_content||null,finish_reason:e.choices?.[0]?.finish_reason||"unknown"},status:"success",convoy:q},{endpoint:m?.endpoint||null})).catch(()=>{}),e?.choices)for(let a of e.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,x.A1)(y.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}var T=c(98173),U=c(68057),V=c(66451),W=c(10089);async function X({providerResponse:a,provider:b,model:c,sourceFormat:d,targetFormat:f,body:h,stream:i,translatedBody:j,finalBody:k,requestStartTime:l,connectionId:m,apiKey:n,clientRawRequest:o,onRequestSuccess:p,reqLogger:q,toolNameMap:r,trackDone:s,appendLog:t,pxpipe:u,convoy:v,reqTag:w,log:z}){let B;if(s(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=R(await a.text(),c);if(!b)return t({status:`FAILED ${y.gx.BAD_GATEWAY}`}),(0,x.A1)(y.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");B=b}else try{B=await a.json()}catch(a){return t({status:`FAILED ${y.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,x.A1)(y.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}q.logProviderResponse(a.status,a.statusText,a.headers,B),p&&Promise.resolve().then(p).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)});let C=function(a){if(!a||"object"!=typeof a)return null;if(a.usage?.input_tokens!==void 0)return{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,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks};if(a.usage?.prompt_tokens!==void 0)return{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,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks};let b=a.usageMetadata||a.response?.usageMetadata;return b?{prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,cached_tokens:b.cachedContentTokenCount||0,reasoning_tokens:b.thoughtsTokenCount||0}:null}(B=(0,W.kR)(B,r));t({tokens:C,status:"200 OK"}),J({provider:b,model:c,tokens:C,connectionId:m,apiKey:n,endpoint:o?.endpoint,requestedModel:o?.body?.model,convoy:v,silent:!0}),z?.line&&z.line(w,"\uD83D\uDCCA",I({usage:C,latency:{total:Date.now()-l}}));let D=(0,e.nZ)(f,d)?function(a,b,c){if(b===c){if(b===g.h.OPENAI)for(let b of a?.choices||[]){let a=b?.message;a?.reasoning&&"string"==typeof a.reasoning&&!a.reasoning_content&&(a.reasoning_content=a.reasoning,delete a.reasoning)}return a}if(b===g.h.OPENAI&&c===g.h.CLAUDE)return function(a){if(!a?.choices?.[0])return a;let b=a.choices[0],c=b.message||{},d=[],e=c.reasoning_content||c.provider_specific_fields?.reasoning_content||"";for(let a of(e&&d.push({type:"thinking",thinking:e}),"string"==typeof c.content&&c.content.length>0&&d.push({type:"text",text:c.content}),c.tool_calls||[])){let b=a.function||{};d.push({type:"tool_use",id:a.id||`toolu_${Date.now()}_${d.length}`,name:b.name||a.name||"",input:function(a){if(!a)return{};if("object"==typeof a)return a;try{return JSON.parse(a)}catch{return{}}}(b.arguments||a.arguments)})}0===d.length&&d.push({type:"text",text:""});let f=a.usage||{};return{id:String(a.id||`msg_${Date.now()}`).replace(/^chatcmpl-/,""),type:"message",role:"assistant",model:a.model||"unknown",content:d,stop_reason:(0,T.Q)(b.finish_reason,g.h.CLAUDE),stop_sequence:null,usage:{input_tokens:f.prompt_tokens||f.input_tokens||0,output_tokens:f.completion_tokens||f.output_tokens||0}}}(a);if(b===g.h.OPENAI)return a;if(b===g.h.GEMINI||b===g.h.ANTIGRAVITY||b===g.h.GEMINI_CLI||b===g.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+=`
|
|
9
|
+
`))}});return function(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()}})}({readable:a.body.pipeThrough(v).pipeThrough(b).pipeThrough(x),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},t,f)}},30369:(a,b,c)=>{c.d(b,{SB:()=>d.SB}),c(89843),c(4630),c(28730),c(60290),c(27335),c(19956),c(2547),c(17717),c(66451),c(49263),c(85640),c(18129),c(40680),c(15575);var d=c(99356);c(89865),c(6755)},40680:(a,b,c)=>{c.d(b,{w:()=>bt});var d=c(17717),e=c(2547),f=c(94454),g=c(19956),h=c(43788),i=c(15575),j=c(85640);let k="u">typeof process&&process.versions?.node&&!0,l="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",m=null,n=null,o=null;async function p(){if(k&&l&&!m)try{m=await Promise.resolve().then(c.t.bind(c,29021,19)),o=(n=await Promise.resolve().then(c.t.bind(c,33873,19))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function q(a,b,c){if(await p(),!m||!o)return null;try{m.existsSync(o)||m.mkdirSync(o,{recursive:!0,mode:448});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}`,g=n.join(o,f);return m.mkdirSync(g,{recursive:!0,mode:448}),g}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function r(a,b,c){if(m&&a)try{let d=n.join(a,b);m.writeFileSync(d,JSON.stringify(c,null,2),{mode:384})}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}let s=new Set(["authorization","proxy-authorization","cookie","set-cookie","x-api-key","api-key","x-goog-api-key"]);function t(a){return a?Object.fromEntries(Array.from("function"==typeof a.entries?a.entries():Object.entries(a),([a,b])=>{let c=a.toLowerCase();return[a,s.has(c)||c.includes("token")||c.includes("secret")?"[REDACTED]":b]})):{}}async function u(a,b,c){if(!l)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await q(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){r(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:t(c),body:b})},logRawRequest(a,b={}){r(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:t(b),body:a})},logOpenAIRequest(a){r(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){r(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:t(b),body:c})},logProviderResponse(a,b,c,e){r(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:t(c),body:e})},appendProviderChunk(a){if(m&&d)try{let b=n.join(d,"5_res_provider.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},appendOpenAIChunk(a){if(m&&d)try{let b=n.join(d,"6_res_openai.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},logConvertedResponse(a){r(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(m&&d)try{let b=n.join(d,"7_res_client.txt");m.appendFileSync(b,a,{mode:384})}catch(a){}},logError(a,b=null){r(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}var v=c(27335),w=c(4630),x=c(89865),y=c(60290),z=c(2735),A=c(47370),B=c(99356),C=c(13247),D=c(6755),E=c(67677);let F=["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 G(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of F)void 0!==a[b]&&(c[b]=a[b]);return c}function H(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,status:a.status||"success",...b}}function I({usage:a,latency:b}){let c=a||{},d=c.prompt_tokens??c.input_tokens??0,e=c.completion_tokens??c.output_tokens??0,f=c.cache_read_input_tokens??c.cached_tokens??c.prompt_tokens_details?.cached_tokens??0,g=c.cache_creation_input_tokens??0,h=`IN ${d}`;if(f||g){let a=[];f&&a.push(`↻${f}`),g&&a.push(`+${g}`),h+=` (CACHE ${a.join(" ")})`}let i=b?.ttft?` \xb7 TTFT ${b.ttft}ms`:"";return`DONE ${b?.total??0}ms${i} \xb7 ${h} \xb7 OUT ${e}`}function J({provider:a,model:b,tokens:c,connectionId:d,apiKey:e,endpoint:f,requestedModel:g,status:h,label:i="USAGE",silent:j=!1}){if(!c||"object"!=typeof c)return;let k=c.input_tokens??c.prompt_tokens??0,l=c.output_tokens??c.completion_tokens??0;if(0===k&&0===l)return;if(!j){let b=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),c=d?` | account=${d.slice(0,8)}...`:"";console.log(`${D.lm.green}[${b}] 📊 [${i}] ${a.toUpperCase()} | in=${k} | out=${l}${c}${D.lm.reset}`)}let m=(0,E._6)(c)||{prompt_tokens:c.prompt_tokens??c.input_tokens??0,completion_tokens:c.completion_tokens??c.output_tokens??0};(0,A.sZ)({provider:a||"unknown",model:b||"unknown",tokens:m,timestamp:new Date().toISOString(),connectionId:d||void 0,apiKey:e||void 0,endpoint:f||null,requestedModel:g||void 0,status:h||"ok"}).catch(()=>{})}var K=c(89568);function L(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!e)return;let f=e[1].trim();if("[DONE]"!==f){try{c=JSON.parse(f)}catch{return}(0,K.rY)(b,{event:d?.[1]?.trim()||c.type,data:c})}}let M={input_tokens:0,output_tokens:0,total_tokens:0};async function N(a){let b=(0,K.lJ)();if(!a||"function"!=typeof a.getReader)return{...(0,K.Hd)(b,{error:O("invalid_stream","response stream is unavailable")}).response,usage:{...M}};let c=a.getReader(),d=new TextDecoder,e="",f=null;try{for(;;){let{done:a,value:f}=await c.read();if(a)break;let g=(e+=d.decode(f,{stream:!0})).split("\n\n");for(let a of(e=g.pop()||"",g))L(a,b)}e.trim()&&L(e,b)}catch(a){f=a}finally{c.releaseLock()}b.finalized||(0,K.Hd)(b,{error:O(f?"stream_read_error":"stream_disconnected",f?.message||"stream closed before a terminal response event")});let g=b.terminalResponse;return{...g,usage:g.usage||{...M}}}function O(a,b){return{type:"stream_error",code:a,message:b}}let P=a=>w.xq[a]?.format===g.h.OPENAI_RESPONSES;function Q(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:""}function R(a,b){let c=[],d=null;for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let e=a.slice(5).trim();if(e&&"[DONE]"!==e)try{let a=JSON.parse(e);a?.error?d=a.error:c.push(a)}catch{}}if(d)return{error:d};if(0===c.length)return null;let e=c[0],f=[],g=[],h=new Map,i="stop",j=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(i=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(j=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;h.has(b)||h.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=h.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}let k={role:"assistant",content:f.join("")||(h.size>0?null:"")};g.length>0&&(k.reasoning_content=g.join("")),h.size>0&&(k.tool_calls=[...h.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:k,finish_reason:i}]};return j&&(l.usage=j),l}async function S({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:f,translatedBody:h,finalBody:i,requestStartTime:j,connectionId:k,apiKey:l,clientRawRequest:m,onRequestSuccess:n,trackDone:o,appendLog:p,convoy:q,reqTag:r,log:s}){let t=a.headers.get("content-type")||"";if(!(t.includes("text/event-stream")||""===t&&P(c)))return null;o();let u={provider:c,model:d,connectionId:k,request:G(e,f),providerRequest:i||h||null};if(P(c)||b===g.h.OPENAI_RESPONSES)try{let e,f=await N(a.body);n&&await n();let h=f.usage||{};p({tokens:h,status:"200 OK"}),J({provider:c,model:d,tokens:h,connectionId:k,apiKey:l,endpoint:m?.endpoint,requestedModel:m?.body?.model,convoy:q,silent:!0}),s?.line&&s.line(r,"\uD83D\uDCCA",I({usage:h,latency:{total:Date.now()-j}}));let{msgItem:i,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=Q(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:Q(c)}}(f.output),t=Date.now()-j;if((0,A.ox)(H({...u,latency:{ttft:t,total:t},tokens:{prompt_tokens:h.input_tokens||0,completion_tokens:h.output_tokens||0},response:{content:o,thinking:null,finish_reason:f.status||"unknown"},status:"success",convoy:q},{endpoint:m?.endpoint||null})).catch(()=>{}),b===g.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(f),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let v=h.input_tokens||0,w=h.output_tokens||0,x=(f.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||{})}})),y=x.length>0;if(b===g.h.ANTIGRAVITY||b===g.h.GEMINI||b===g.h.GEMINI_CLI)e={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:v,candidatesTokenCount:w,totalTokenCount:v+w},modelVersion:d,responseId:f.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:o||(y?null:"")};y&&(a.tool_calls=x);let b="completed"===f.status||"done"===f.status,c=y?"tool_calls":b?"stop":f.status||"stop";e={id:f.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:f.created_at||Math.floor(Date.now()/1e3),model:f.model||d,choices:[{index:0,message:a,finish_reason:c}],usage:{prompt_tokens:v,completion_tokens:w,total_tokens:v+w}}}return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,x.A1)(y.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let b=await a.text(),e=R(b,d);if(!e)return(0,x.A1)(y.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(e.error)return(0,x.A1)(y.gx.BAD_GATEWAY,e.error.message||"Upstream SSE stream failed");n&&await n();let f=e.usage||{};p({tokens:f,status:"200 OK"}),J({provider:c,model:d,tokens:f,connectionId:k,apiKey:l,endpoint:m?.endpoint,requestedModel:m?.body?.model,convoy:q,silent:!0}),s?.line&&s.line(r,"\uD83D\uDCCA",I({usage:f,latency:{total:Date.now()-j}}));let g=Date.now()-j;if((0,A.ox)(H({...u,latency:{ttft:g,total:g},tokens:f,response:{content:e.choices?.[0]?.message?.content||null,thinking:e.choices?.[0]?.message?.reasoning_content||null,finish_reason:e.choices?.[0]?.finish_reason||"unknown"},status:"success",convoy:q},{endpoint:m?.endpoint||null})).catch(()=>{}),e?.choices)for(let a of e.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,x.A1)(y.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}var T=c(98173),U=c(68057),V=c(66451),W=c(87252),X=c(10089),Y=c(90610);function Z(a){if(!a?.choices?.[0])return a;let b=a.choices[0],c=b.message||{},d=[],e=c.reasoning_content||c.provider_specific_fields?.reasoning_content||"";for(let a of(e&&d.push({type:"thinking",thinking:e}),"string"==typeof c.content&&c.content.length>0&&d.push({type:"text",text:c.content}),c.tool_calls||[])){let b=a.function||{};d.push({type:"tool_use",id:a.id||`toolu_${Date.now()}_${d.length}`,name:b.name||a.name||"",input:function(a){if(!a)return{};if("object"==typeof a)return a;try{return JSON.parse(a)}catch{return{}}}(b.arguments||a.arguments)})}0===d.length&&d.push({type:"text",text:""});let f=a.usage||{};return{id:String(a.id||`msg_${Date.now()}`).replace(/^chatcmpl-/,""),type:"message",role:"assistant",model:a.model||"unknown",content:d,stop_reason:(0,T.Q)(b.finish_reason,g.h.CLAUDE),stop_sequence:null,usage:{input_tokens:f.prompt_tokens||f.input_tokens||0,output_tokens:f.completion_tokens||f.output_tokens||0}}}async function $({providerResponse:a,provider:b,model:c,sourceFormat:d,targetFormat:f,body:h,stream:i,translatedBody:j,finalBody:k,requestStartTime:l,connectionId:m,apiKey:n,clientRawRequest:o,onRequestSuccess:p,reqLogger:q,toolNameMap:r,trackDone:s,appendLog:t,pxpipe:u,convoy:v,reqTag:w,log:z}){let B;if(s(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=R(await a.text(),c);if(!b)return t({status:`FAILED ${y.gx.BAD_GATEWAY}`}),(0,x.A1)(y.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");B=b}else try{B=await a.json()}catch(a){return t({status:`FAILED ${y.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,x.A1)(y.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}q.logProviderResponse(a.status,a.statusText,a.headers,B),p&&Promise.resolve().then(p).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)});let C=function(a){if(!a||"object"!=typeof a)return null;if(a.usage?.input_tokens!==void 0)return{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,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks};if(a.usage?.prompt_tokens!==void 0)return{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,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks};let b=a.usageMetadata||a.response?.usageMetadata;return b?{prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,cached_tokens:b.cachedContentTokenCount||0,reasoning_tokens:b.thoughtsTokenCount||0}:null}(B=(0,X.kR)(B,r));t({tokens:C,status:"200 OK"}),J({provider:b,model:c,tokens:C,connectionId:m,apiKey:n,endpoint:o?.endpoint,requestedModel:o?.body?.model,convoy:v,silent:!0}),z?.line&&z.line(w,"\uD83D\uDCCA",I({usage:C,latency:{total:Date.now()-l}}));let D=(0,e.nZ)(f,d)?function(a,b,c){if(b===c){if(b===g.h.OPENAI)for(let b of a?.choices||[]){let a=b?.message;a?.reasoning&&"string"==typeof a.reasoning&&!a.reasoning_content&&(a.reasoning_content=a.reasoning,delete a.reasoning)}return a}if(b===g.h.OPENAI_RESPONSES&&c!==g.h.OPENAI_RESPONSES){let b=function(a){let b=Array.isArray(a?.output)?a.output:[],c="",d="",e=[];for(let a of b)if(a?.type===Y.Du.MESSAGE)for(let b of a.content||[])b?.type===Y.Du.OUTPUT_TEXT&&"string"==typeof b.text&&(c+=b.text);else if(a?.type===Y.Du.REASONING)for(let b of a.summary||[])b?.type===Y.Du.SUMMARY_TEXT&&"string"==typeof b.text&&(d+=b.text);else if(a?.type===Y.Du.FUNCTION_CALL||a?.type===Y.Du.CUSTOM_TOOL_CALL){let b=a.type===Y.Du.CUSTOM_TOOL_CALL;e.push({id:a.call_id||a.id||`call_${e.length}`,type:"function",function:{name:a.name||"",arguments:b?JSON.stringify({input:a.input||""}):"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})}let f={role:"assistant"};c&&(f.content=c),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=e),f.content||f.tool_calls||(f.content="");let g=a?.usage||{};return{id:String(a?.id||`chatcmpl-${Date.now()}`).replace(/^resp_/,"chatcmpl-"),object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:a?.model||"unknown",choices:[{index:0,message:f,finish_reason:e.length>0?"tool_calls":"stop"}],usage:{prompt_tokens:g.prompt_tokens||g.input_tokens||0,completion_tokens:g.completion_tokens||g.output_tokens||0,total_tokens:g.total_tokens||(g.prompt_tokens||g.input_tokens||0)+(g.completion_tokens||g.output_tokens||0)}}}(a);if(c===g.h.OPENAI)return b;if(c===g.h.CLAUDE)return Z(b)}if(b===g.h.OPENAI&&c===g.h.CLAUDE)return Z(a);if(b===g.h.OPENAI)return a;if(b===g.h.GEMINI||b===g.h.ANTIGRAVITY||b===g.h.GEMINI_CLI||b===g.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+=`
|
|
10
10
|

|
|
11
|
-
`}}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={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===g.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===g.h.OLLAMA?(0,U._)(a):a}(B,f,d):B,F=d===g.h.CLAUDE&&D?.type==="message";if(D?.choices?.[0]){let a=D.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}if(!F&&(D.object||(D.object="chat.completion"),D.created||(D.created=Math.floor(Date.now()/1e3))),!F&&(delete D.prompt_filter_results,D?.choices))for(let a of D.choices)delete a.content_filter_results;if(D?.usage&&(D.usage=(0,E.WL)((0,E.O9)(D.usage),d)),!F&&D?.choices)for(let a of D.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;q.logConvertedResponse(D);let K=(0,V.ff)({requestedModel:h?.model,provider:b,model:c});K&&D&&"object"==typeof D&&!Array.isArray(D)&&(D.model=K);let L=Date.now()-l;return(0,A.ox)(H({provider:b,model:c,connectionId:m,latency:{ttft:L,total:L},tokens:C||{prompt_tokens:0,completion_tokens:0},request:G(h,i),providerRequest:k||j||null,providerResponse:B||null,response:{content:D?.choices?.[0]?.message?.content||D?.content||null,thinking:D?.choices?.[0]?.message?.reasoning_content||D?.reasoning_content||null,finish_reason:D?.choices?.[0]?.finish_reason||"unknown"},pxpipe:u,convoy:v,status:"success"},{endpoint:o?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(D),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var
|
|
12
|
-
${f}`):console.warn(`[STREAM] ${b} | ${c} | blocked pipe: ${f} [${g}]`),v?.handleError?.(Error(`upstream non-SSE: ${g}`)),{success:!1,response:new Response(JSON.stringify({error:{message:`[${g}]: ${f}`}}),{status:g,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}let I=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:d,reqLogger:f,toolNameMap:h,customToolNames:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n}){let o=d?.toLowerCase().includes("droid")||d?.toLowerCase().includes("codex-cli");if(w.xq[a]?.format===g.h.OPENAI_RESPONSES&&c===g.h.OPENAI_RESPONSES&&!o){let c
|
|
11
|
+
`}}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={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===g.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===g.h.OLLAMA?(0,U._)(a):a}(B,f,d):B,F=d===g.h.CLAUDE&&D?.type==="message";if(D?.choices?.[0]){let a=D.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}if(!F&&(D.object||(D.object="chat.completion"),D.created||(D.created=Math.floor(Date.now()/1e3))),!F&&(delete D.prompt_filter_results,D?.choices))for(let a of D.choices)delete a.content_filter_results;if(D?.usage&&(D.usage=(0,E.WL)((0,E.O9)(D.usage),d)),!F&&D?.choices)for(let a of D.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;if(q.logConvertedResponse(D),!function(a,b,c){if(b)return(Array.isArray(a?.content)?a.content:[]).some(a=>a?.type==="text"&&"string"==typeof a.text&&a.text.trim().length>0||a?.type==="tool_use"||a?.type==="thinking");if(c)return Array.isArray(a?.output)&&a.output.length>0;let d=a?.choices?.[0]?.message,e=Array.isArray(d?.tool_calls)&&d.tool_calls.length>0,f="string"==typeof d?.content?d.content.trim().length>0:Array.isArray(d?.content)&&d.content.length>0,g="string"==typeof d?.reasoning_content&&d.reasoning_content.trim().length>0;return e||f||g}(D,F,isResponsesResponse))return t({status:`FAILED ${y.gx.BAD_GATEWAY} (empty content)`}),z?.warn&&z.warn("CHATCORE",`${b}/${c} returned HTTP 200 with empty content (finish_reason=${D?.choices?.[0]?.finish_reason||"unknown"}) — treating as failure, locking for ${Math.round(W.Dp/1e3)}s`),(0,x.A1)(y.gx.BAD_GATEWAY,`Empty response content from ${b}/${c}`,Date.now()+W.Dp);let K=(0,V.ff)({requestedModel:h?.model,provider:b,model:c});K&&D&&"object"==typeof D&&!Array.isArray(D)&&(D.model=K);let L=Date.now()-l;return(0,A.ox)(H({provider:b,model:c,connectionId:m,latency:{ttft:L,total:L},tokens:C||{prompt_tokens:0,completion_tokens:0},request:G(h,i),providerRequest:k||j||null,providerResponse:B||null,response:{content:D?.choices?.[0]?.message?.content||D?.content||null,thinking:D?.choices?.[0]?.message?.reasoning_content||D?.reasoning_content||null,finish_reason:D?.choices?.[0]?.finish_reason||"unknown"},pxpipe:u,convoy:v,status:"success"},{endpoint:o?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(D),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var _=c(48330),aa=c(4905);let ab={[g.h.OPENAI_RESPONSES]:g.h.OPENAI_RESPONSES,[g.h.CLAUDE]:g.h.CLAUDE,[g.h.ANTIGRAVITY]:g.h.ANTIGRAVITY,[g.h.GEMINI]:g.h.ANTIGRAVITY,[g.h.GEMINI_CLI]:g.h.ANTIGRAVITY};async function ac({providerResponse:a,provider:b,model:c,sourceFormat:d,targetFormat:f,userAgent:h,body:j,stream:k,translatedBody:l,finalBody:m,requestStartTime:n,connectionId:o,apiKey:p,clientRawRequest:q,onRequestSuccess:r,reqLogger:s,toolNameMap:t,customToolNames:u,streamController:v,onStreamComplete:x,streamDetailId:z,pxpipe:B,reqTag:C,log:E}){r&&Promise.resolve().then(r).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)});let F=(a.headers.get("content-type")||"").toLowerCase();if(F&&!F.includes("text/event-stream")&&!F.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 (${F})`),g=a.status||502;return E?.errorLine?E.errorLine(C,"✗",`BLOCKED ${g} \xb7 ${b}/${c} \xb7 non-SSE (${F})
|
|
12
|
+
${f}`):console.warn(`[STREAM] ${b} | ${c} | blocked pipe: ${f} [${g}]`),v?.handleError?.(Error(`upstream non-SSE: ${g}`)),{success:!1,response:new Response(JSON.stringify({error:{message:`[${g}]: ${f}`}}),{status:g,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}let I=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:d,reqLogger:f,toolNameMap:h,customToolNames:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n}){let o=d?.toLowerCase().includes("droid")||d?.toLowerCase().includes("codex-cli");if(w.xq[a]?.format===g.h.OPENAI_RESPONSES&&c===g.h.OPENAI_RESPONSES&&!o){let c=ab[b]||g.h.OPENAI;return(0,D.i5)(g.h.OPENAI_RESPONSES,c,a,f,h,j,k,l,m,n,i)}return(0,e.nZ)(c,b)?(0,D.i5)(c,b,a,f,h,j,k,l,m,n,i):(0,D.l2)(a,f,j,k,l,m,n)}({provider:b,sourceFormat:d,targetFormat:f,userAgent:h,reqLogger:s,toolNameMap:t,customToolNames:u,model:c,connectionId:o,body:j,onStreamComplete:x,apiKey:p}),J=d===g.h.OPENAI_RESPONSES&&f===g.h.OPENAI_RESPONSES?_.Hr:null,K=w.xq[b]?.stallTimeoutMs||y.xM,L=(0,i.Jb)(a,I,v,J,K);return(0,A.ox)(H({provider:b,model:c,connectionId:o,latency:{ttft:0,total:Date.now()-n},tokens:{prompt_tokens:0,completion_tokens:0},request:G(j,k),providerRequest:m||l||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},pxpipe:B,status:"success"},{id:z})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(L,{headers:aa.RK})}}function ad(a){return!!a&&"object"==typeof a&&Number(a.completion_tokens??a.output_tokens??a.candidatesTokenCount??0)>0}let ae={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function af(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),e=(a["openai-intent"]||"").toLowerCase(),f=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===e||"user"===f?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-cli")||c.includes("codex_cli_rs")||c.includes("codex_exec")?"codex":c.includes("deepseek-tui")?"deepseek-tui":null}let ag=[{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 ah(a){return a?.name||a?.function?.name||""}function ai(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function aj(a,b,c){if(a&&c)switch(b){case g.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
|
|
13
13
|
|
|
14
14
|
${b}`;return}if(Array.isArray(a.system)){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 g.h.GEMINI:case g.h.GEMINI_CLI:case g.h.VERTEX:case g.h.ANTIGRAVITY:var d,e;let f,h,i;d=a,e=c,f=d.request&&"object"==typeof d.request?d.request:d,h=Object.prototype.hasOwnProperty.call(f,"system_instruction")?"system_instruction":"systemInstruction",(i=f[h])&&Array.isArray(i.parts)?i.parts.push({text:e}):f[h]={parts:[{text:e}]};return;default:!function(a,b){if("string"==typeof a.instructions){a.instructions=a.instructions?`${a.instructions}
|
|
15
15
|
|
|
16
16
|
${b}`:b;return}let c=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!c)return;let d=c===a.input,e=c.findIndex(a=>a&&(!a.type||"message"===a.type)&&("system"===a.role||"developer"===a.role));if(e>=0){var f,g;f=c[e],g=b,"string"==typeof f.content?f.content=`${f.content}
|
|
17
17
|
|
|
18
|
-
${g}`:Array.isArray(f.content)?f.content.push({type:"input_text",text:g}):f.content=g}else if(d){let a=c.findIndex(a=>a?.type!=="additional_tools");c.splice(a<0?c.length:a,0,{type:"message",role:"developer",content:[{type:"input_text",text:b}]})}else c.unshift({role:"system",content:b})}(a,c)}}let
|
|
19
|
-
${d}`),e=0,f=0,g=!1,h=0}else k.startsWith("@@")?(i>0&&(c.push(` ... (${i} lines truncated)`),j=!0,i=0),g=!0,h=0,c.push(` ${k}`)):g&&(k.startsWith("+")&&!k.startsWith("+++")?(e+=1,h<100?(c.push(` ${k}`),h+=1):i+=1):k.startsWith("-")&&!k.startsWith("---")?(f+=1,h<100?(c.push(` ${k}`),h+=1):i+=1):h<100&&!k.startsWith("\\")&&h>0&&(c.push(` ${k}`),h+=1));if(c.length>=b){c.push("\n... (more changes truncated)"),j=!0;break}}return i>0&&(c.push(` ... (${i} lines truncated)`),j=!0),d&&(e>0||f>0)&&c.push(` +${e} -${f}`),j&&c.push("[full diff: rtk git diff --no-compact]"),c.join("\n")}function
|
|
18
|
+
${g}`:Array.isArray(f.content)?f.content.push({type:"input_text",text:g}):f.content=g}else if(d){let a=c.findIndex(a=>a?.type!=="additional_tools");c.splice(a<0?c.length:a,0,{type:"message",role:"developer",content:[{type:"input_text",text:b}]})}else c.unshift({role:"system",content:b})}(a,c)}}let ak="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",al='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:"',am="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.",an="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",ao="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.",ap="CRITICAL: Remember user prompt language. Reply in same language. Wenyan/classical-Chinese levels override this. Keep code/paths/commands verbatim.",aq='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',ar='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.',as={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.",al,ak,am,an,ao,ap,aq,ar].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].",al,ak,am,an,ao,ap,aq,ar].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",al,ak,am,an,ao,ap,aq,ar].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.",al,ak,am,an,ao,ap,aq,ar].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.",al,ak,am,an,ao,ap,aq,ar].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.",al,ak,am,an,ao,ap,aq,ar].join(" ")},at="You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.",au="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.",av='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.',aw="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].`",ax="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.",ay="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.",az={lite:[at,"Lite: build what's asked, but name the lazier alternative in one line. User picks.",au,av,aw,ax,ay].join(" "),full:[at,"Full: the ladder enforced. Stdlib and native first. Shortest diff, shortest explanation.",au,av,aw,ax,ay].join(" "),ultra:[at,"Ultra: YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response.",au,av,aw,ax,ay].join(" ")},aA=["node_modules",".git","target","__pycache__",".next","dist","build",".cache",".turbo",".vercel",".pytest_cache",".mypy_cache",".tox",".venv","venv","env","coverage",".nyc_output",".DS_Store","Thumbs.db",".idea",".vscode",".vs","*.egg-info",".eggs"];function aB(a,b=500){let c=[],d="",e=0,f=0,g=!1,h=0,i=0,j=!1;for(let k of a.split("\n")){if(k.startsWith("diff --git")){i>0&&(c.push(` ... (${i} lines truncated)`),j=!0,i=0),d&&(e>0||f>0)&&c.push(` +${e} -${f}`);let a=k.split(" b/");d=a.length>1?a.slice(1).join(" b/"):"unknown",c.push(`
|
|
19
|
+
${d}`),e=0,f=0,g=!1,h=0}else k.startsWith("@@")?(i>0&&(c.push(` ... (${i} lines truncated)`),j=!0,i=0),g=!0,h=0,c.push(` ${k}`)):g&&(k.startsWith("+")&&!k.startsWith("+++")?(e+=1,h<100?(c.push(` ${k}`),h+=1):i+=1):k.startsWith("-")&&!k.startsWith("---")?(f+=1,h<100?(c.push(` ${k}`),h+=1):i+=1):h<100&&!k.startsWith("\\")&&h>0&&(c.push(` ${k}`),h+=1));if(c.length>=b){c.push("\n... (more changes truncated)"),j=!0;break}}return i>0&&(c.push(` ... (${i} lines truncated)`),j=!0),d&&(e>0||f>0)&&c.push(` +${e} -${f}`),j&&c.push("[full diff: rtk git diff --no-compact]"),c.join("\n")}function aC(a){let b=a.split("\n");if(0===b.length||1===b.length&&!b[0].trim())return"Clean working tree";let c="",d=[],e=[],f=[],g=0,h=0,i=0,j=0;for(let a of b){if(!a.trim())continue;let b=a.match(/^On branch (\S+)/);if(b){c=b[1];continue}if(a.startsWith("##")){c=a.replace(/^##\s*/,"");continue}if(a.length>=3&&/^[ MADRCU?!][ MADRCU?!] /.test(a)){let b=a[0],c=a[1],k=a.slice(3);if("??"===a.slice(0,2)){i++,f.push(k);continue}"MADRC".includes(b)?(g++,d.push(k)):"U"===b&&j++,("M"===c||"D"===c)&&(h++,e.push(k));continue}let k=a.match(/^\s*(modified|new file|deleted|renamed|both modified):\s+(.+)$/);if(k){let a=k[1],b=k[2].trim();"both modified"===a?j++:"modified"===a||"deleted"===a?(h++,e.push(b)):("new file"===a||"renamed"===a)&&(g++,d.push(b));continue}}let k="";if(c&&(k+=`* ${c}
|
|
20
20
|
`),g>0){for(let a of(k+=`+ Staged: ${g} files
|
|
21
21
|
`,d.slice(0,10)))k+=` ${a}
|
|
22
22
|
`;d.length>10&&(k+=` ... +${d.length-10} more
|
|
@@ -27,7 +27,7 @@ ${d}`),e=0,f=0,g=!1,h=0}else k.startsWith("@@")?(i>0&&(c.push(` ... (${i} lines
|
|
|
27
27
|
`,f.slice(0,10)))k+=` ${a}
|
|
28
28
|
`;f.length>10&&(k+=` ... +${f.length-10} more
|
|
29
29
|
`)}return j>0&&(k+=`conflicts: ${j} files
|
|
30
|
-
`),0===g&&0===h&&0===i&&0===j&&(k+="clean — nothing to commit\n"),k.replace(/\n+$/,"")}function
|
|
30
|
+
`),0===g&&0===h&&0===i&&0===j&&(k+="clean — nothing to commit\n"),k.replace(/\n+$/,"")}function aD(a,b=200){if(!a)return"";let c=String(a),d=c.split("\n"),e=[],f=0,g=!1,h=!1;function i(a){return e.length<b?(e.push(a),!0):(f++,!1)}for(let a=0;a<d.length;a++){let b=d[a].trimEnd(),c=b.trim();if(/^commit [0-9a-f]{7,40}$/i.test(c)||/^[*|/\\ ]+commit [0-9a-f]{7,40}/i.test(c)){g=!0,h=!1,i(b);continue}if(g){if(/^[*|/\\ ]*(Author|Date):/i.test(c)){i(c);continue}if(""===c)continue;if(!h&&/^[*|/\\ ]* \S/.test(b)){i(" Subject: "+c),h=!0;continue}if(/^\d+ file\w* changed/.test(c)){i(" "+c);continue}/^diff --git /.test(c)&&i(" ... diff body omitted");continue}let e=c.match(/^[*|/\\ ]+([0-9a-f]{7,40}\s+.+)/i);if(e){i(e[1]);continue}if(/^[0-9a-f]{7,40}\s+/.test(c)){i(c);continue}/^[*|/\\ ]+$/.test(c)&&/[*|/\\]/.test(c)||i(c)}f>0&&e.push(`... (${f} more lines)`);let j=e.join("\n");return!j&&c||j.length>c.length?c:j}aB.filterName="git-diff",aC.filterName="git-status",aD.filterName="git-log";let aE=/^\s*(-->|\||\d+\s*\||=)/;function aF(a){let b=a.split("\n");if(0===b.length)return a;let c=[],d=[],e=[],f=null,g=0,h=0,i=!1;for(let a of b){let b=a.trim();if(i){if(!b){i=!1;continue}if(aE.test(a)){c.push(a);continue}i=!1}if(b){if(/^npm (ERR!|error)/i.test(b)||/^yarn error/i.test(b)){c.push(a);continue}if(/^npm warn deprecated/i.test(b)){e.push(a);continue}if(/^npm warn/i.test(b)||/^yarn warn/i.test(b)){d.push(a);continue}if(/^error(\[|:)/i.test(b)||b.startsWith("error --\x3e")){c.push(a),i=!0;continue}if(/^warning(\[|:)/i.test(b)||b.startsWith("warning --\x3e")){d.push(a),i=!0;continue}if(/^ERROR:/i.test(b)||/^\[ERROR\]/i.test(b)||/^BUILD FAILED/i.test(b)){c.push(a);continue}if(/^\[WARNING\]/i.test(b)){d.push(a);continue}if(/^\s*Compiling\s+\S+/i.test(b)){g++;continue}if(/^\s*Downloading\s+\S+/i.test(b)||/^Fetching\s+/i.test(b)){h++;continue}if(/^(added|removed|changed|audited|installed)\s+\d+\s+package/i.test(b)||/^\s*Finished\s+/i.test(b)||/^BUILD SUCCESS/i.test(b)||/^\d+\s+(vulnerabilities|packages?|warnings?|errors?)/i.test(b)||/^Successfully (installed|built)/i.test(b)||/^To address .* issues/i.test(b)||/^Run `npm (audit|fund)`/i.test(b)||/packages are looking for funding/i.test(b)){f=f?`${f}
|
|
31
31
|
${a}`:a;continue}}}let j="";for(let a of e.slice(0,3))j+=`${a}
|
|
32
32
|
`;for(let a of(e.length>3&&(j+=`... +${e.length-3} more deprecated packages
|
|
33
33
|
`),g>0&&(j+=`Compiled ${g} packages
|
|
@@ -36,33 +36,33 @@ ${a}`:a;continue}}}let j="";for(let a of e.slice(0,3))j+=`${a}
|
|
|
36
36
|
`;for(let a of d.slice(0,5))j+=`${a}
|
|
37
37
|
`;return d.length>5&&(j+=`... +${d.length-5} more warnings
|
|
38
38
|
`),f&&(j+=`${f}
|
|
39
|
-
`),j.replace(/\n+$/,"")||a}function
|
|
39
|
+
`),j.replace(/\n+$/,"")||a}function aG(a){let b=new Map,c=0;for(let d of a.split("\n")){let a=d.indexOf(":");if(-1===a)continue;let e=d.indexOf(":",a+1);if(-1===e)continue;let f=d.slice(0,a),g=d.slice(a+1,e),h=d.slice(e+1);/^\d+$/.test(g)&&(c++,b.has(f)||b.set(f,[]),b.get(f).push([g,h]))}if(0===c)return a;let d=Array.from(b.keys()).sort(),e=`${c} matches in ${d.length}F:
|
|
40
40
|
|
|
41
41
|
`;for(let a of d){let c=b.get(a);for(let[b,d]of(e+=`[file] ${a} (${c.length}):
|
|
42
42
|
`,c.slice(0,10)))e+=` ${b.padStart(4)}: ${d.trim()}
|
|
43
43
|
`;c.length>10&&(e+=` +${c.length-10}
|
|
44
|
-
`),e+="\n"}return e}function
|
|
44
|
+
`),e+="\n"}return e}function aH(a){let b=a.split("\n").filter(a=>a.trim());if(0===b.length)return a;let c=new Map;for(let a of b){let b,d,e=Math.max(a.lastIndexOf("/"),a.lastIndexOf("\\"));-1===e?(b=".",d=a):(b=a.slice(0,e)||"/",d=a.slice(e+1)),c.has(b)||c.set(b,[]),c.get(b).push(d)}let d=Array.from(c.keys()).sort(),e=`${b.length} files in ${d.length} dirs:
|
|
45
45
|
|
|
46
46
|
`;for(let a of d.slice(0,20)){let b=c.get(a),d=a.replace(/\\/g,"/");for(let a of(e+=`${d}/ (${b.length})
|
|
47
47
|
`,b.slice(0,10)))e+=` ${a}
|
|
48
48
|
`;b.length>10&&(e+=` +${b.length-10}
|
|
49
49
|
`)}return d.length>20&&(e+=`
|
|
50
50
|
+${d.length-20} more dirs
|
|
51
|
-
`),e}function
|
|
51
|
+
`),e}function aI(a){let b=a.split("\n"),c=[],d=null,e=0,f=0,g=()=>{null!==d&&e>1&&c.push(` ... (${e-1} duplicate lines)`)};for(let a of b){if(""===a.trim()){f<1&&c.push(a),f+=1,g(),d=null,e=0;continue}if(f=0,a===d){e+=1;continue}if(g(),c.push(a),d=a,e=1,c.length>=2e3)return c.push("... (truncated at 2000 lines)"),c.join("\n")}return g(),c.join("\n")}aF.filterName="build-output",aG.filterName="grep",aH.filterName="find",aI.filterName="dedup-log";let aJ=/\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}\s+(\d{4}|\d{2}:\d{2})\s+/;function aK(a){let b=[],c=[],d=new Map;for(let f of a.split("\n")){if(f.startsWith("total ")||0===f.length)continue;let a=function(a){let b=aJ.exec(a);if(!b)return null;let c=a.slice(b.index+b[0].length),d=a.slice(0,b.index).split(/\s+/).filter(Boolean);if(d.length<4)return null;let e=d[0].charAt(0),f=0;for(let a=d.length-1;a>=0;a--){let b=Number(d[a]);if(Number.isInteger(b)&&String(b)===d[a]){f=b;break}}return{fileType:e,size:f,name:c}}(f);if(a&&"."!==a.name&&".."!==a.name&&!aA.includes(a.name)){if("d"===a.fileType)b.push(a.name);else if("-"===a.fileType||"l"===a.fileType){var e;let b=a.name.lastIndexOf("."),f=b>0?a.name.slice(b):"no ext";d.set(f,(d.get(f)||0)+1),c.push([a.name,(e=a.size)>=1048576?`${(e/1048576).toFixed(1)}M`:e>=1024?`${(e/1024).toFixed(1)}K`:`${e}B`])}}}if(0===b.length&&0===c.length)return a;let f="";for(let a of b)f+=`${a}/
|
|
52
52
|
`;for(let[a,b]of c)f+=`${a} ${b}
|
|
53
53
|
`;let g=`
|
|
54
|
-
Summary: ${c.length} files, ${b.length} dirs`;if(d.size>0){let a=Array.from(d.entries()).sort((a,b)=>b[1]-a[1]),b=a.slice(0,5).map(([a,b])=>`${b} ${a}`);g+=` (${b.join(", ")}`,a.length>5&&(g+=`, +${a.length-5} more`),g+=")"}return f+g}function
|
|
55
|
-
... +${a} more lines`}return c.join("\n")}function
|
|
54
|
+
Summary: ${c.length} files, ${b.length} dirs`;if(d.size>0){let a=Array.from(d.entries()).sort((a,b)=>b[1]-a[1]),b=a.slice(0,5).map(([a,b])=>`${b} ${a}`);g+=` (${b.join(", ")}`,a.length>5&&(g+=`, +${a.length-5} more`),g+=")"}return f+g}function aL(a){let b=a.split("\n");if(0===b.length)return a;let c=[];for(let a of b)a.includes("director")&&a.includes("file")||(""!==a.trim()||0!==c.length)&&c.push(a);for(;c.length>0&&""===c[c.length-1].trim();)c.pop();if(c.length>200){let a=c.length-200;return c.slice(0,200).join("\n")+`
|
|
55
|
+
... +${a} more lines`}return c.join("\n")}function aM(a){let b=a.split("\n");if(b.length<250)return a;let c=b.slice(0,120),d=b.slice(b.length-60),e=b.length-c.length-d.length;return[...c,`... +${e} lines truncated`,...d].join("\n")}function aN(a){let b=a.split("\n");if(b.length<250)return a;let c=b.slice(0,120),d=b.slice(b.length-60),e=b.length-c.length-d.length;return[...c,`... +${e} lines truncated (file continues)`,...d].join("\n")}aK.filterName="ls",aL.filterName="tree",aM.filterName="smart-truncate",aN.filterName="read-numbered";let aO=/^\s*\d+\|/;function aP(a){let b=a.split("\n");if(0===b.length)return a;let c=b[0]||"",d=b.slice(1),e=[];for(let a of d){let b=a.trim();b.startsWith("- ")&&e.push(b.slice(2))}if(0===e.length)return a;let f=new Map;for(let a of e){let b=a.lastIndexOf("/"),c=-1===b?".":a.slice(0,b)||"/",d=-1===b?a:a.slice(b+1);f.has(c)||f.set(c,[]),f.get(c).push(d)}let g=Array.from(f.keys()).sort(),h=`${c}
|
|
56
56
|
${e.length} files in ${g.length} dirs:
|
|
57
57
|
|
|
58
58
|
`;for(let a of g.slice(0,20)){let b=f.get(a);for(let c of(h+=`${a}/ (${b.length}):
|
|
59
59
|
`,b.slice(0,10)))h+=` ${c}
|
|
60
60
|
`;b.length>10&&(h+=` +${b.length-10}
|
|
61
61
|
`),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
|
|
62
|
-
`),h.replace(/\n+$/,"")}aL.filterName="search-list";let aM=/^Result of search in '[^']*' \(total (\d+) files?\):/,aN=/^diff --git /m,aO=/^@@ /m,aP=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,aQ=/^[*|/\\ ]*commit [0-9a-f]{7,40}$/m,aR=/^[ MADRCU?!][ MADRCU?!] \S/m,aS=/^(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,aT=/[├└]──|│ /,aU=/^[-dlbcps][rwx-]{9}/m,aV=/^total \d+$/m;function aW(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function aX(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")))}function aY(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,f=a.length>1024?a.slice(0,1024):a;if(aQ.test(f))return az;if(aN.test(f)||aO.test(f))return ax;if(aP.test(f))return ay;if(aS.test(f))return aB;if(!((d=f.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>aR.test(a)).length/d.length>=.6)return ay;let g=f.split("\n"),h=g.filter(a=>a.trim().length>0);return h.slice(0,5).some(aW)?aC:h.length>=3&&h.every(aX)?aD:aT.test(f)?aH:aV.test(f)||(b=f,e=new RegExp((c=aU).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?aG:aM.test(f)?aL:g.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,aK.test(d)&&b++);return!(c<5)&&b/c>=.7}(g)?aJ:h.length>=5?aE:a.split("\n").length>=250?aI:null}(a);if(!e)return b.bytesAfter+=d,a;let f=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}}(e,a);return!f||0===f.length||f.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=f.length,b.hits.push({shape:c,filter:e.filterName||e.name,saved:d-f.length}),f)}var aZ=c(37377),a$=c(29229),a_=c(97579);function a0(a){try{return new TextEncoder().encode(JSON.stringify(a)||"").length}catch{return 0}}function a1(a){let b=function(a){if(Array.isArray(a?.messages))return a.messages;if(Array.isArray(a?.input))return a.input;let b=a3(a);return b?b.messages:null}(a);return{bodyBytes:a0(a),messageBytes:b?a0(b):0}}function a2(a,b){a&&!a.reason&&(a.reason=b)}function a3(a){let b=a?.conversationState;if(!b||"object"!=typeof b)return null;let c=[],d=[],e=(a,b,e,f={})=>{"string"==typeof b&&(c.push({role:a,content:b,...f}),d.push(e))},f=a=>{let b=a?.userInputMessage;if(b){e("system",b.systemInstruction,{object:b,key:"systemInstruction"}),e("user",b.content,{object:b,key:"content"});let a=b.userInputMessageContext?.toolResults;if(Array.isArray(a))for(let b of a){let a=b?.content;if(Array.isArray(a))for(let c of a)e("tool",c?.text,{object:c,key:"text"},b?.toolUseId?{tool_call_id:b.toolUseId}:{})}return}let c=a?.assistantResponseMessage;if(c){let a=(a=>{if(!Array.isArray(a)||0===a.length)return;let b=a.map(a=>({id:a?.toolUseId,type:"function",function:{name:a?.name||"",arguments:JSON.stringify(a?.input||{})}})).filter(a=>a.id||a.function.name);return b.length>0?b:void 0})(c.toolUses);e("assistant",c.content,{object:c,key:"content"},a?{tool_calls:a}:{})}};if(Array.isArray(b.history))for(let a of b.history)f(a);return b.currentMessage&&f(b.currentMessage),c.length>0?{messages:c,targets:d}:null}async function a4(a,b,c,d,e,f,g){let h,i=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(/[?#].*$/,"")}}(i);let j={messages:b,model:c};e&&(j.config={compress_user_messages:!0});let k={"Content-Type":"application/json"};g&&(k.Authorization=`Bearer ${g}`);try{h=await fetch(i,{method:"POST",headers:k,body:JSON.stringify(j),signal:AbortSignal.timeout(d)})}catch(d){var l;let a,b,c;return a2(f,`request failed: ${(l=d,a=l?.cause,b=a?.code||l?.code,c=String(a?.message||l?.message||String(l)).replace(/\/\/[^/@\s]+@/g,"//").replace(/(https?:\/\/[^\s?#]+)[?#][^\s)]*/g,"$1"),b?`${b}: ${c}`:c)}`),null}if(!h.ok)return a2(f,`proxy returned HTTP ${h.status}`),null;let m=await h.json();return Array.isArray(m?.messages)?m:(a2(f,"proxy response missing messages[]"),null)}async function a5(a,{enabled:b,url:c,model:d,format:e,compressUserMessages:f,timeoutMs:g=3e3,diagnostics:h=null,token:i}={}){if(!b)return a2(h,"disabled"),null;if(!c)return a2(h,"missing proxy URL"),null;if(!a)return a2(h,"missing request body"),null;try{let b=a1(a);if(h&&(h.before=b),b.bodyBytes>262144)return a2(h,`skipped: payload too large (${b.bodyBytes}B > 262144B limit)`),null;if("claude"===e){let b=(0,aZ.t)(d,a,!1);if(!Array.isArray(b?.messages))return a2(h,"Claude request did not translate to messages[]"),null;let e=await a4(c,b.messages,d,g,f,h||{},i);if(!e)return null;let j=(0,a$.p)(d,{...b,messages:e.messages},!1);return Array.isArray(j?.messages)&&(a.messages=j.messages),j?.system!==void 0&&(a.system=j.system),h&&(h.after=a1(a)),e}if("openai-responses"===e){if(Array.isArray(a?.input)&&a.input.some(a=>!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.type&&"message"!==a.type))return a2(h,"skipped: openai-responses tool/reasoning input is not safe to compress"),null;let b=(0,a_.Z)(d,a,!1);if(!Array.isArray(b?.messages))return null;let e=await a4(c,b.messages,d,g,f,h||{},i);if(!e)return null;let j=(0,a_.h)(d,{...b,input:void 0,messages:e.messages},!1);return Array.isArray(j?.input)&&(a.input=j.input),h&&(h.after=a1(a)),e}if("kiro"===e){let b=a3(a);if(!b)return a2(h,"Kiro request did not project to messages[]"),null;let e=await a4(c,b.messages,d,g,f,h||{},i);if(!e||!function(a,b,c){if(!Array.isArray(b)||b.length!==a.messages.length)return a2(c,"proxy response did not match Kiro message count"),!1;let d=[];for(let e=0;e<a.messages.length;e++){let f=a.messages[e],g=b[e];if(!g||g.role!==f.role)return a2(c,"proxy response did not preserve Kiro message order"),!1;let h=function(a){let b=a?.content;if("string"==typeof b)return b;if(!Array.isArray(b))return null;let c=[];for(let a of b)"string"==typeof a?c.push(a):"string"==typeof a?.text&&c.push(a.text);return c.length>0?c.join("\n"):null}(g);if(null===h)return a2(c,"proxy response missing Kiro text content"),!1;d.push({target:a.targets[e],text:h})}for(let a of d)a.target.object[a.target.key]=a.text;return!0}(b,e.messages,h))return null;return h&&(h.after=a1(a)),e}let j=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":null;if(!j)return a2(h,`unsupported ${e||"unknown"} request shape`),null;let k=await a4(c,a[j],d,g,f,h||{},i);if(!k)return null;return a[j]=k.messages,h&&(h.after=a1(a)),k}catch(a){return a2(h,`unexpected error: ${a?.message||String(a)}`),null}}function a6(a){let b=a?.before,c=a?.after;if(!b||!c)return"";let d=[];if(null!=b.bodyBytes&&null!=c.bodyBytes&&d.push(`body=${b.bodyBytes}B→${c.bodyBytes}B`),null!=b.messageBytes&&null!=c.messageBytes&&d.push(`messages=${b.messageBytes}B→${c.messageBytes}B`),null!=b.toolSchemaBytes&&null!=c.toolSchemaBytes&&d.push(`tools=${b.toolSchemaBytes}B→${c.toolSchemaBytes}B`),null!=b.toolHistoryBytes&&null!=c.toolHistoryBytes&&d.push(`toolHistory=${b.toolHistoryBytes}B→${c.toolHistoryBytes}B`),b.bodyBytes>0&&c.bodyBytes>0){let a=((b.bodyBytes-c.bodyBytes)/b.bodyBytes*100).toFixed(1);d.push(`effective=${a}%`)}return d.join(" ")}function a7(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function a8(a){return Math.round(a/4)}function a9(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function ba(a,{enabled:b,format:c,model:d,minChars:e,timeoutMs:f,transform:h}={}){if(!b)return a9("disabled");if("function"!=typeof h)return a9("not_installed");if(!a)return a9("missing_body");if(c!==g.h.CLAUDE)return a9("unsupported_format",{detail:c});let i=Date.now(),j=a7(a),k=Number(e)>0?Number(e):25e3;if(j<k)return a9("below_threshold",{originalChars:j,threshold:k});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(f)>0?Number(f):15e3,e=await Promise.race([h({body:b,model:d,options:{minCompressChars:k}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!e)return a9("timeout",{originalChars:j,durationMs:Date.now()-i});if(!e.applied)return a9(e.reason||"passthrough",{detail:e.detail,originalChars:j,durationMs:Date.now()-i});let g=JSON.parse(new TextDecoder().decode(e.body)),l=a7(g),m=e.info||{},n=m.compressedChars||0,o=m.imageTokens||(m.imagePixels?Math.round(m.imagePixels/750):4761*(m.imageCount||0)),p={applied:!0,reason:"applied",originalChars:j,compressedBodyChars:l,imagedChars:n,imageCount:m.imageCount||0,imageBytes:m.imageBytes||0,tokensBeforeEst:m.baselineTokens||a8(j),tokensAfterEst:a8(Math.max(0,j-n))+o,durationMs:Date.now()-i,cacheOwnsControl:e.cache?.ownsCacheControl===!0};return p.tokensSavedEst=Math.max(0,p.tokensBeforeEst-p.tokensAfterEst),p.savedPct=p.tokensBeforeEst>0?+(p.tokensSavedEst/p.tokensBeforeEst*100).toFixed(2):0,{body:g,summary:p}}catch(a){return a9("transform_error",{detail:a?.message||String(a),originalChars:j,durationMs:Date.now()-i})}}var bb=c(43904);let bc={vision:"[image omitted: model has no vision support]",audioInput:"[audio omitted: model has no audio support]",pdf:"[file omitted: model has no document support]"},bd={vision:"[Previous image omitted from context.]",audioInput:"[Previous audio omitted from context.]",pdf:"[Previous file omitted from context.]"},be=(a,b)=>(b?bc:bd)[a];function bf(a){let b=a?.type;return"image_url"===b||"image"===b?"vision":"input_audio"===b||"audio_url"===b?"audioInput":"file"===b?"pdf":null}function bg(a){let b=a?.type;return"image"===b?"vision":"document"===b?"pdf":null}function bh(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:be(a,e)});return f}function bi(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!1===b.vision&&(Array.isArray(a.images)&&delete a.images,Array.isArray(a.experimental_attachments)&&(a.experimental_attachments=a.experimental_attachments.filter(a=>!(a?.contentType?.startsWith("image/")||"string"==typeof a?.url&&a.url.startsWith("data:image/")))),Array.isArray(a.attachments)&&(a.attachments=a.attachments.filter(a=>!(a?.contentType?.startsWith("image/")||"string"==typeof a?.url&&a.url.startsWith("data:image/"))))),!Array.isArray(a.content))return;let e=new Set;a.content=bh(a.content,bf,b,e,d===c)})}function bj(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:be(f,d===c)})})}var bk=c(50186);let bl=new Set([g.h.GEMINI,g.h.GEMINI_CLI,g.h.VERTEX,g.h.ANTIGRAVITY,g.h.OLLAMA,g.h.KIRO]);function bm(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function bn(a,b,c,d={}){if(!a||!bl.has(c))return 0;let e=function(a,b){let c=[],d=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;bm(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},e=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;bm(b)&&c.push({get:()=>b,part:a})}};switch(b){case g.h.OPENAI:case g.h.OLLAMA:case g.h.KIRO:case g.h.CURSOR:case g.h.COMMANDCODE:d(a.messages);break;case g.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"&&bm(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case g.h.GEMINI:case g.h.GEMINI_CLI:case g.h.VERTEX:e(a.contents);break;case g.h.ANTIGRAVITY:e(a?.request?.contents);break;default:d(a.messages)}return c}(a,b);if(!e.length)return 0;let f=0;for(let a of e){let b=a.get();if((0,bk.W$)(b))continue;let c=await (0,bk.ni)(b,d);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]}),f++)}return f}var bo=c(91576);async function bp({body:a,modelInfo:b,credentials:c,log:k,onCredentialsRefreshed:l,onRequestSuccess:m,onDisconnect:n,clientRawRequest:o,connectionId:p,userAgent:q,apiKey:r,ccFilterNaming:s,rtkEnabled:t,headroomEnabled:D,headroomUrl:E,headroomCompressUserMessages:F,headroomTimeoutMs:K,cavemanEnabled:L,cavemanLevel:M,ponytailEnabled:N,ponytailLevel:O,pxpipeEnabled:P,pxpipeMinChars:Q,pxpipeTimeoutMs:R,pxpipeTransform:T,onPxpipeEvent:U,sourceFormatOverride:V,providerThinking:W}){let Y,Z,$,ag,ah,ai,{provider:aj,model:ak}=b,al=Date.now(),am=(()=>{try{return(0,bo.oV)({headers:o?.headers,body:a,connectionId:p,scope:aj})}catch{return p||""}})(),an=k?.tagForSession?k.tagForSession(am):k?.nextTag?k.nextTag():"",ap=V||(0,d.Tz)(a),aq=(0,z.c)(a,ak,q,s);if(aq)return aq;let ar=v.Xg[aj]||aj,as=(0,v.ux)(ar,ak),at=(0,v.ez)(ar,ak),au=(0,d.oF)(aj,ap),aw=(!at||at.includes(ap)?au:null)||(as?(0,d.oF)(aj,as):null),ax=as||aw?.format||(0,d.jJ)(aj,c);aw&&c&&(c.runtimeTransport=aw);let ay=(0,v.cY)(ar,ak),az=(0,v.kt)(ar,ak);if(W?.mode&&"auto"!==W.mode){let b=W.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 aA=!0===a._compact,aB=!aA&&(!0===a.stream||ap===g.h.ANTIGRAVITY||ap===g.h.GEMINI||ap===g.h.GEMINI_CLI),aC=!aA&&w.xq[aj]?.forceStream===!0,aD=!aA&&(!!aC||!0===a.stream);("imageGen"===(0,v.OA)(ar,ak)||/image|imagen|image-generation/i.test(ak))&&("antigravity"===aj||"gemini-cli"===aj)&&(aD=!1),"deepseek-tui"===ab(o?.headers||{},a)&&!0!==a.stream&&(aD=!1);let aE=o?.headers?.accept||"",aF=aE.includes("application/json"),aG=aE.includes("text/event-stream");!aF||aG||!0===a.stream||aC||(aD=!1);let aH=await u(ap,ax,ak);o&&aH.logClientRawRequest(o.endpoint,o.body,o.headers),aH.logRawRequest(a),k?.debug?.("FORMAT",`${ap} → ${ax} | stream=${aD}`);let aI=ab(o?.headers||{},a),aJ=function(a,b){if(!a)return!1;let c=aa[a];if(!c)return!1;let d=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(d)}(aI,aj);if(c&&(c.rawHeaders=o?.headers||{}),!aJ){let b=(0,bb.nl)(aj,ak);(function(a,b,c){if(!a||!c||!1!==c.vision&&!1!==c.audioInput&&!1!==c.pdf)return!1;switch(b){case g.h.OPENAI:case g.h.OLLAMA:case g.h.KIRO:case g.h.CURSOR:case g.h.COMMANDCODE:bi(a,c);break;case g.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=bh(a.content,bg,b,e,d===c)})}(a,c);break;case g.h.OPENAI_RESPONSES:case g.h.OPENAI_RESPONSE:case g.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:be(f,d===c)})})}(a,c);break;case g.h.GEMINI:case g.h.GEMINI_CLI:case g.h.VERTEX:bj(a.contents,c);break;case g.h.ANTIGRAVITY:bj(a?.request?.contents,c);break;default:bi(a,c)}return!0})(a,ap,b)&&k?.debug?.("MODALITY",`stripped unsupported media for ${aj}/${ak}`);try{let b=await bn(a,ap,ax,{signal:void 0});b>0&&k?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${ax}`)}catch(a){k?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}if(aJ)k?.debug?.("PASSTHROUGH",`${aI} → ${aj} | native lossless`),(Y={...structuredClone(a),model:(0,f.kD)(az)}).stream!==aD&&(Y.stream=aD),"claude"===aI&&(0,h.ui)(Y,Y.model);else{if(!(Y=(0,e.GH)(ap,ax,az,a,aD,c,aj,aH,ay,p,aI)))return(0,A.uw)(ak,aj,p,!1,!0),(0,x.A1)(y.gx.BAD_REQUEST,`Failed to translate request for ${ap} → ${ax}`);Z=Y._toolNameMap,delete Y._toolNameMap,Y.model=(0,f.kD)(az),ax!==g.h.GEMINI&&ax!==g.h.GEMINI_CLI&&ax!==g.h.ANTIGRAVITY&&ax!==g.h.VERTEX?Y.stream!==aD&&(Y.stream=aD):(delete Y.stream,delete Y.stream_options)}if(Array.isArray(Y.tools)){let{tools:a,stripped:b}=function(a,b={}){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let c=b.clientTool??null,d=b.model??null,e=[],f=a;if("claude"===c){let a=f.map(ad),b=new Set;for(let c of ac)if(a.some(a=>c.triggers.some(b=>ae(a,b))))for(let d of a)c.strip.some(a=>ae(d,a))&&b.add(d);b.size>0&&(f=f.filter(a=>!b.has(ad(a))),e.push(...b))}if("string"==typeof d&&/^deepseek-/.test(d.replace(/\([^()]+\)\s*$/,"").trim())){let a=new Set,b=[];for(let c of f){let d=ad(c);if(!d){b.push(c);continue}if(a.has(d)){e.push(d);continue}a.add(d),b.push(c)}f=b}return{tools:f,stripped:e}}(Y.tools,{clientTool:aI,model:ak});b.length>0&&(Y.tools=a,k?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let aK=aJ?ap:ax;if(k?.line){let b=o?.body?.model||`${aj}/${ak}`,d=Y.messages?.length||Y.input?.length||Y.contents?.length||a.messages?.length||a.input?.length||0,e=Y.tools?.length||a.tools?.length||0,g=aJ?`FMT: ${ap} (passthrough)`:`FMT: ${ap}→${ax}`,h="grok-cli"!==aj||(0,C.Au)(ak)?k.fmtThink?.((0,f.sS)(Y)):null,i=c?.connectionName||c?.connectionId?.slice(0,8)||"-",j=[`POST ${b} → ${aj}/${ak}`,g,aD?"STREAM":"JSON",`${d} MSG`];e&&j.push(`${e} TOOL`),h&&j.push(`THINK:${h}`),j.push(`ACC:${i}`),k.line(an,"▶",j.join(" \xb7 "))}"tts"===(0,v.OA)(ar,ak)&&Y.messages&&(Y.messages=Y.messages.filter(a=>"tool"!==a.role),delete Y.tools);let aL=o?.headers?.[y.SA]?.toLowerCase()!=="off",aM=function(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}`}(function(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)a&&"string"==typeof a.text&&(a.text=aY(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("string"==typeof b.output)b.output=aY(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];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=aY(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=aY(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=aY(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)c.content=aY(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];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=aY(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}(Y,aL&&t));aM&&console.log(aM);let aN={},aO=await a5(Y,{enabled:aL&&D,url:E,model:az,format:aK,compressUserMessages:F,timeoutMs:K,diagnostics:aN}),aP=function(a,b=null){if(!a)return null;let c=a.tokens_before||0,d=a.tokens_after||0,e=a.tokens_saved||0,f=c>0?(e/c*100).toFixed(1):"0",g=a6(b);return`reported token delta=${e} before=${c}${d?` after=${d}`:""} (${f}%)${g?` | ${g}`:""}`.trim()}(aO),aQ=a6(aN);aP?(k?.info?.("HEADROOM",`${aP}${aQ?` | ${aQ}`:""}`),function(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)}(aO,aN)&&k?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${a6(aN)}`)):aL&&D&&k?.warn?.("HEADROOM",`skipped: ${aN.reason||"compression unavailable"}${aN.endpoint?` (${aN.endpoint})`:""}`);let aR=[];aL&&L&&M&&(af(Y,aK,ao[M]),aR.push(`CAVEMAN:${M}`)),aL&&N&&O&&(af(Y,aK,av[O]),aR.push(`PONYTAIL:${O}`));let aS=null;if(P){let a=await ba(Y,{enabled:!0,format:aK,model:az,minChars:Q,timeoutMs:R,transform:T});aS=a.summary,a.body&&(Y=a.body),aS?.applied&&aR.push(`PXPIPE:${aS.imageCount}img`);try{U?.({provider:aj,model:ak,...aS})}catch{}}aR.length&&k?.line&&k.line(an,"⚙",aR.join(" \xb7 ")),aJ&&"claude"===aI&&(0,h._W)(Y);let aT=(0,B.SB)(aj);(0,A.uw)(ak,aj,p,!0),(0,A.E5)({model:ak,provider:aj,connectionId:p,status:"PENDING"}).catch(()=>{});let aU=Y.messages?.length||Y.input?.length||Y.contents?.length||Y.request?.contents?.length||0;k?.debug?.("REQUEST",`${aj.toUpperCase()} | ${ak} | ${aU} msgs`);let aV=(0,i.jd)({onDisconnect:a=>{(0,A.uw)(ak,aj,p,!1),(0,A.sZ)({provider:aj||"unknown",model:ak||"unknown",tokens:{prompt_tokens:0,completion_tokens:0},timestamp:new Date().toISOString(),connectionId:p||void 0,apiKey:r||void 0,endpoint:o?.endpoint||null,requestedModel:o?.body?.model||void 0,status:"aborted"}).catch(()=>{}),n&&n(a)},onError:()=>(0,A.uw)(ak,aj,p,!1),log:k,provider:aj,model:ak,reqTag:an}),aW={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(aW.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";k?.info?.("PROXY",`${aj.toUpperCase()} | ${ak} | conn=${a} | pool=${b} | vercel-relay=${aW.vercelRelayUrl}`)}else if(aW.connectionProxyEnabled&&aW.connectionProxyUrl){let a=aW.connectionProxyUrl;try{let b=new URL(aW.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",d=c?.connectionName||c?.connectionId||"unknown";k?.info?.("PROXY",`${aj.toUpperCase()} | ${ak} | conn=${d} | pool=${b} | url=${a}`)}if(aW.connectionProxyEnabled&&aW.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";k?.debug?.("PROXY",`${aj.toUpperCase()} | ${ak} | conn=${a} | no_proxy=${aW.connectionNoProxy}`)}let aX=ax;try{let a=await aT.execute({model:ak,body:Y,stream:aD,credentials:c,signal:aV.signal,log:k,proxyOptions:aW});$=a.response,ag=a.url,ah=a.headers,ai=a.transformedBody,aX=a.responseFormat||ax,aH.logTargetRequest(ag,ah,ai)}catch(c){if((0,A.uw)(ak,aj,p,!1,!0),(0,A.E5)({model:ak,provider:aj,connectionId:p,status:`FAILED ${"AbortError"===c.name?499:y.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,A.ox)(H({provider:aj,model:ak,connectionId:p,latency:{ttft:0,total:Date.now()-al},tokens:{prompt_tokens:0,completion_tokens:0},request:G(a,aD),providerRequest:Y||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},pxpipe:aS,status:"error"})).catch(()=>{}),"AbortError"===c.name)return aV.handleError(c),(0,x.A1)(499,"Request aborted");let b=(0,x.lR)(c,aj,ak,y.gx.BAD_GATEWAY);return k?.errorLine&&k.errorLine(an,"✗",`ERROR 502 \xb7 ${aj}/${ak} \xb7 ${Date.now()-al}ms
|
|
62
|
+
`),h.replace(/\n+$/,"")}aP.filterName="search-list";let aQ=/^Result of search in '[^']*' \(total (\d+) files?\):/,aR=/^diff --git /m,aS=/^@@ /m,aT=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,aU=/^[*|/\\ ]*commit [0-9a-f]{7,40}$/m,aV=/^[ MADRCU?!][ MADRCU?!] \S/m,aW=/^(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,aX=/[├└]──|│ /,aY=/^[-dlbcps][rwx-]{9}/m,aZ=/^total \d+$/m;function a$(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function a_(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")))}function a0(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,f=a.length>1024?a.slice(0,1024):a;if(aU.test(f))return aD;if(aR.test(f)||aS.test(f))return aB;if(aT.test(f))return aC;if(aW.test(f))return aF;if(!((d=f.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>aV.test(a)).length/d.length>=.6)return aC;let g=f.split("\n"),h=g.filter(a=>a.trim().length>0);return h.slice(0,5).some(a$)?aG:h.length>=3&&h.every(a_)?aH:aX.test(f)?aL:aZ.test(f)||(b=f,e=new RegExp((c=aY).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?aK:aQ.test(f)?aP:g.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,aO.test(d)&&b++);return!(c<5)&&b/c>=.7}(g)?aN:h.length>=5?aI:a.split("\n").length>=250?aM:null}(a);if(!e)return b.bytesAfter+=d,a;let f=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}}(e,a);return!f||0===f.length||f.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=f.length,b.hits.push({shape:c,filter:e.filterName||e.name,saved:d-f.length}),f)}var a1=c(37377),a2=c(29229),a3=c(97579);function a4(a){try{return new TextEncoder().encode(JSON.stringify(a)||"").length}catch{return 0}}function a5(a){let b=function(a){if(Array.isArray(a?.messages))return a.messages;if(Array.isArray(a?.input))return a.input;let b=a7(a);return b?b.messages:null}(a);return{bodyBytes:a4(a),messageBytes:b?a4(b):0}}function a6(a,b){a&&!a.reason&&(a.reason=b)}function a7(a){let b=a?.conversationState;if(!b||"object"!=typeof b)return null;let c=[],d=[],e=(a,b,e,f={})=>{"string"==typeof b&&(c.push({role:a,content:b,...f}),d.push(e))},f=a=>{let b=a?.userInputMessage;if(b){e("system",b.systemInstruction,{object:b,key:"systemInstruction"}),e("user",b.content,{object:b,key:"content"});let a=b.userInputMessageContext?.toolResults;if(Array.isArray(a))for(let b of a){let a=b?.content;if(Array.isArray(a))for(let c of a)e("tool",c?.text,{object:c,key:"text"},b?.toolUseId?{tool_call_id:b.toolUseId}:{})}return}let c=a?.assistantResponseMessage;if(c){let a=(a=>{if(!Array.isArray(a)||0===a.length)return;let b=a.map(a=>({id:a?.toolUseId,type:"function",function:{name:a?.name||"",arguments:JSON.stringify(a?.input||{})}})).filter(a=>a.id||a.function.name);return b.length>0?b:void 0})(c.toolUses);e("assistant",c.content,{object:c,key:"content"},a?{tool_calls:a}:{})}};if(Array.isArray(b.history))for(let a of b.history)f(a);return b.currentMessage&&f(b.currentMessage),c.length>0?{messages:c,targets:d}:null}async function a8(a,b,c,d,e,f,g){let h,i=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(/[?#].*$/,"")}}(i);let j={messages:b,model:c};e&&(j.config={compress_user_messages:!0});let k={"Content-Type":"application/json"};g&&(k.Authorization=`Bearer ${g}`);try{h=await fetch(i,{method:"POST",headers:k,body:JSON.stringify(j),signal:AbortSignal.timeout(d)})}catch(d){var l;let a,b,c;return a6(f,`request failed: ${(l=d,a=l?.cause,b=a?.code||l?.code,c=String(a?.message||l?.message||String(l)).replace(/\/\/[^/@\s]+@/g,"//").replace(/(https?:\/\/[^\s?#]+)[?#][^\s)]*/g,"$1"),b?`${b}: ${c}`:c)}`),null}if(!h.ok)return a6(f,`proxy returned HTTP ${h.status}`),null;let m=await h.json();return Array.isArray(m?.messages)?m:(a6(f,"proxy response missing messages[]"),null)}async function a9(a,{enabled:b,url:c,model:d,format:e,compressUserMessages:f,timeoutMs:g=3e3,diagnostics:h=null,token:i}={}){if(!b)return a6(h,"disabled"),null;if(!c)return a6(h,"missing proxy URL"),null;if(!a)return a6(h,"missing request body"),null;try{let b=a5(a);if(h&&(h.before=b),b.bodyBytes>262144)return a6(h,`skipped: payload too large (${b.bodyBytes}B > 262144B limit)`),null;if("claude"===e){let b=(0,a1.t)(d,a,!1);if(!Array.isArray(b?.messages))return a6(h,"Claude request did not translate to messages[]"),null;let e=await a8(c,b.messages,d,g,f,h||{},i);if(!e)return null;let j=(0,a2.p)(d,{...b,messages:e.messages},!1);return Array.isArray(j?.messages)&&(a.messages=j.messages),j?.system!==void 0&&(a.system=j.system),h&&(h.after=a5(a)),e}if("openai-responses"===e){if(Array.isArray(a?.input)&&a.input.some(a=>!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.type&&"message"!==a.type))return a6(h,"skipped: openai-responses tool/reasoning input is not safe to compress"),null;let b=(0,a3.Z)(d,a,!1);if(!Array.isArray(b?.messages))return null;let e=await a8(c,b.messages,d,g,f,h||{},i);if(!e)return null;let j=(0,a3.h)(d,{...b,input:void 0,messages:e.messages},!1);return Array.isArray(j?.input)&&(a.input=j.input),h&&(h.after=a5(a)),e}if("kiro"===e){let b=a7(a);if(!b)return a6(h,"Kiro request did not project to messages[]"),null;let e=await a8(c,b.messages,d,g,f,h||{},i);if(!e||!function(a,b,c){if(!Array.isArray(b)||b.length!==a.messages.length)return a6(c,"proxy response did not match Kiro message count"),!1;let d=[];for(let e=0;e<a.messages.length;e++){let f=a.messages[e],g=b[e];if(!g||g.role!==f.role)return a6(c,"proxy response did not preserve Kiro message order"),!1;let h=function(a){let b=a?.content;if("string"==typeof b)return b;if(!Array.isArray(b))return null;let c=[];for(let a of b)"string"==typeof a?c.push(a):"string"==typeof a?.text&&c.push(a.text);return c.length>0?c.join("\n"):null}(g);if(null===h)return a6(c,"proxy response missing Kiro text content"),!1;d.push({target:a.targets[e],text:h})}for(let a of d)a.target.object[a.target.key]=a.text;return!0}(b,e.messages,h))return null;return h&&(h.after=a5(a)),e}let j=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":null;if(!j)return a6(h,`unsupported ${e||"unknown"} request shape`),null;let k=await a8(c,a[j],d,g,f,h||{},i);if(!k)return null;return a[j]=k.messages,h&&(h.after=a5(a)),k}catch(a){return a6(h,`unexpected error: ${a?.message||String(a)}`),null}}function ba(a){let b=a?.before,c=a?.after;if(!b||!c)return"";let d=[];if(null!=b.bodyBytes&&null!=c.bodyBytes&&d.push(`body=${b.bodyBytes}B→${c.bodyBytes}B`),null!=b.messageBytes&&null!=c.messageBytes&&d.push(`messages=${b.messageBytes}B→${c.messageBytes}B`),null!=b.toolSchemaBytes&&null!=c.toolSchemaBytes&&d.push(`tools=${b.toolSchemaBytes}B→${c.toolSchemaBytes}B`),null!=b.toolHistoryBytes&&null!=c.toolHistoryBytes&&d.push(`toolHistory=${b.toolHistoryBytes}B→${c.toolHistoryBytes}B`),b.bodyBytes>0&&c.bodyBytes>0){let a=((b.bodyBytes-c.bodyBytes)/b.bodyBytes*100).toFixed(1);d.push(`effective=${a}%`)}return d.join(" ")}function bb(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function bc(a){return Math.round(a/4)}function bd(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function be(a,{enabled:b,format:c,model:d,minChars:e,timeoutMs:f,transform:h}={}){if(!b)return bd("disabled");if("function"!=typeof h)return bd("not_installed");if(!a)return bd("missing_body");if(c!==g.h.CLAUDE)return bd("unsupported_format",{detail:c});let i=Date.now(),j=bb(a),k=Number(e)>0?Number(e):25e3;if(j<k)return bd("below_threshold",{originalChars:j,threshold:k});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(f)>0?Number(f):15e3,e=await Promise.race([h({body:b,model:d,options:{minCompressChars:k}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!e)return bd("timeout",{originalChars:j,durationMs:Date.now()-i});if(!e.applied)return bd(e.reason||"passthrough",{detail:e.detail,originalChars:j,durationMs:Date.now()-i});let g=JSON.parse(new TextDecoder().decode(e.body)),l=bb(g),m=e.info||{},n=m.compressedChars||0,o=m.imageTokens||(m.imagePixels?Math.round(m.imagePixels/750):4761*(m.imageCount||0)),p={applied:!0,reason:"applied",originalChars:j,compressedBodyChars:l,imagedChars:n,imageCount:m.imageCount||0,imageBytes:m.imageBytes||0,tokensBeforeEst:m.baselineTokens||bc(j),tokensAfterEst:bc(Math.max(0,j-n))+o,durationMs:Date.now()-i,cacheOwnsControl:e.cache?.ownsCacheControl===!0};return p.tokensSavedEst=Math.max(0,p.tokensBeforeEst-p.tokensAfterEst),p.savedPct=p.tokensBeforeEst>0?+(p.tokensSavedEst/p.tokensBeforeEst*100).toFixed(2):0,{body:g,summary:p}}catch(a){return bd("transform_error",{detail:a?.message||String(a),originalChars:j,durationMs:Date.now()-i})}}var bf=c(43904);let bg={vision:"[image omitted: model has no vision support]",audioInput:"[audio omitted: model has no audio support]",pdf:"[file omitted: model has no document support]"},bh={vision:"[Previous image omitted from context.]",audioInput:"[Previous audio omitted from context.]",pdf:"[Previous file omitted from context.]"},bi=(a,b)=>(b?bg:bh)[a];function bj(a){let b=a?.type;return"image_url"===b||"image"===b?"vision":"input_audio"===b||"audio_url"===b?"audioInput":"file"===b?"pdf":null}function bk(a){let b=a?.type;return"image"===b?"vision":"document"===b?"pdf":null}function bl(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:bi(a,e)});return f}function bm(a,b){if(!Array.isArray(a.messages))return;let c=a.messages.length-1;a.messages.forEach((a,d)=>{if(!1===b.vision&&(Array.isArray(a.images)&&delete a.images,Array.isArray(a.experimental_attachments)&&(a.experimental_attachments=a.experimental_attachments.filter(a=>!(a?.contentType?.startsWith("image/")||"string"==typeof a?.url&&a.url.startsWith("data:image/")))),Array.isArray(a.attachments)&&(a.attachments=a.attachments.filter(a=>!(a?.contentType?.startsWith("image/")||"string"==typeof a?.url&&a.url.startsWith("data:image/"))))),!Array.isArray(a.content))return;let e=new Set;a.content=bl(a.content,bj,b,e,d===c)})}function bn(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:bi(f,d===c)})})}var bo=c(50186);let bp=new Set([g.h.GEMINI,g.h.GEMINI_CLI,g.h.VERTEX,g.h.ANTIGRAVITY,g.h.OLLAMA,g.h.KIRO]);function bq(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function br(a,b,c,d={}){if(!a||!bp.has(c))return 0;let e=function(a,b){let c=[],d=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;bq(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},e=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;bq(b)&&c.push({get:()=>b,part:a})}};switch(b){case g.h.OPENAI:case g.h.OLLAMA:case g.h.KIRO:case g.h.CURSOR:case g.h.COMMANDCODE:d(a.messages);break;case g.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"&&bq(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case g.h.GEMINI:case g.h.GEMINI_CLI:case g.h.VERTEX:e(a.contents);break;case g.h.ANTIGRAVITY:e(a?.request?.contents);break;default:d(a.messages)}return c}(a,b);if(!e.length)return 0;let f=0;for(let a of e){let b=a.get();if((0,bo.W$)(b))continue;let c=await (0,bo.ni)(b,d);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]}),f++)}return f}var bs=c(91576);async function bt({body:a,modelInfo:b,credentials:c,log:k,onCredentialsRefreshed:l,onRequestSuccess:m,onEmptyStream:n,onDisconnect:o,clientRawRequest:p,connectionId:q,userAgent:r,apiKey:s,ccFilterNaming:t,rtkEnabled:D,headroomEnabled:E,headroomUrl:F,headroomCompressUserMessages:K,headroomTimeoutMs:L,cavemanEnabled:M,cavemanLevel:N,ponytailEnabled:O,ponytailLevel:P,pxpipeEnabled:Q,pxpipeMinChars:R,pxpipeTimeoutMs:T,pxpipeTransform:U,onPxpipeEvent:V,sourceFormatOverride:W,providerThinking:X}){let Y,Z,_,aa,ab,ak,{provider:al,model:am}=b,an=Date.now(),ao=(()=>{try{return(0,bs.oV)({headers:p?.headers,body:a,connectionId:q,scope:al})}catch{return q||""}})(),ap=k?.tagForSession?k.tagForSession(ao):k?.nextTag?k.nextTag():"",aq=W||(0,d.Tz)(a),ar=(0,z.c)(a,am,r,t);if(ar)return ar;let at=v.Xg[al]||al,au=(0,v.ux)(at,am),av=(0,v.ez)(at,am),aw=(0,d.oF)(al,aq),ax=(!av||av.includes(aq)?aw:null)||(au?(0,d.oF)(al,au):null),ay=ax?.format||au||(0,d.jJ)(al,c);ax&&c&&(c.runtimeTransport=ax);let aA=(0,v.cY)(at,am),aB=(0,v.kt)(at,am);if(X?.mode&&"auto"!==X.mode){let b=X.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 aC=!0===a._compact,aD=!aC&&(!0===a.stream||aq===g.h.ANTIGRAVITY||aq===g.h.GEMINI||aq===g.h.GEMINI_CLI),aE=!aC&&w.xq[al]?.forceStream===!0,aF=!aC&&(!!aE||!0===a.stream);("imageGen"===(0,v.OA)(at,am)||/image|imagen|image-generation/i.test(am))&&("antigravity"===al||"gemini-cli"===al)&&(aF=!1),"deepseek-tui"===af(p?.headers||{},a)&&!0!==a.stream&&(aF=!1);let aG=p?.headers?.accept||"",aH=aG.includes("application/json"),aI=aG.includes("text/event-stream");!aH||aI||!0===a.stream||aE||(aF=!1);let aJ=await u(aq,ay,am);p&&aJ.logClientRawRequest(p.endpoint,p.body,p.headers),aJ.logRawRequest(a),k?.debug?.("FORMAT",`${aq} → ${ay} | stream=${aF}`);let aK=af(p?.headers||{},a),aL=function(a,b){if(!a)return!1;let c=ae[a];if(!c)return!1;let d=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(d)}(aK,al);if(c&&(c.rawHeaders=p?.headers||{}),!aL){let b=(0,bf.nl)(al,am);(function(a,b,c){if(!a||!c||!1!==c.vision&&!1!==c.audioInput&&!1!==c.pdf)return!1;switch(b){case g.h.OPENAI:case g.h.OLLAMA:case g.h.KIRO:case g.h.CURSOR:case g.h.COMMANDCODE:bm(a,c);break;case g.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=bl(a.content,bk,b,e,d===c)})}(a,c);break;case g.h.OPENAI_RESPONSES:case g.h.OPENAI_RESPONSE:case g.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:bi(f,d===c)})})}(a,c);break;case g.h.GEMINI:case g.h.GEMINI_CLI:case g.h.VERTEX:bn(a.contents,c);break;case g.h.ANTIGRAVITY:bn(a?.request?.contents,c);break;default:bm(a,c)}return!0})(a,aq,b)&&k?.debug?.("MODALITY",`stripped unsupported media for ${al}/${am}`);try{let b=await br(a,aq,ay,{signal:void 0});b>0&&k?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${ay}`)}catch(a){k?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}if(aL)k?.debug?.("PASSTHROUGH",`${aK} → ${al} | native lossless`),(Y={...structuredClone(a),model:(0,f.kD)(aB)}).stream!==aF&&(Y.stream=aF),"claude"===aK&&(0,h.ui)(Y,Y.model);else{if(!(Y=(0,e.GH)(aq,ay,aB,a,aF,c,al,aJ,aA,q,aK)))return(0,A.uw)(am,al,q,!1,!0),(0,x.A1)(y.gx.BAD_REQUEST,`Failed to translate request for ${aq} → ${ay}`);Z=Y._toolNameMap,delete Y._toolNameMap,Y.model=(0,f.kD)(aB),ay!==g.h.GEMINI&&ay!==g.h.GEMINI_CLI&&ay!==g.h.ANTIGRAVITY&&ay!==g.h.VERTEX?Y.stream!==aF&&(Y.stream=aF):(delete Y.stream,delete Y.stream_options)}if(Array.isArray(Y.tools)){let{tools:a,stripped:b}=function(a,b={}){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let c=b.clientTool??null,d=b.model??null,e=[],f=a;if("claude"===c){let a=f.map(ah),b=new Set;for(let c of ag)if(a.some(a=>c.triggers.some(b=>ai(a,b))))for(let d of a)c.strip.some(a=>ai(d,a))&&b.add(d);b.size>0&&(f=f.filter(a=>!b.has(ah(a))),e.push(...b))}if("string"==typeof d&&/^deepseek-/.test(d.replace(/\([^()]+\)\s*$/,"").trim())){let a=new Set,b=[];for(let c of f){let d=ah(c);if(!d){b.push(c);continue}if(a.has(d)){e.push(d);continue}a.add(d),b.push(c)}f=b}return{tools:f,stripped:e}}(Y.tools,{clientTool:aK,model:am});b.length>0&&(Y.tools=a,k?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let aM=aL?aq:ay;if(k?.line){let b=p?.body?.model||`${al}/${am}`,d=Y.messages?.length||Y.input?.length||Y.contents?.length||a.messages?.length||a.input?.length||0,e=Y.tools?.length||a.tools?.length||0,g=aL?`FMT: ${aq} (passthrough)`:`FMT: ${aq}→${ay}`,h="grok-cli"!==al||(0,C.Au)(am)?k.fmtThink?.((0,f.sS)(Y)):null,i=c?.connectionName||c?.connectionId?.slice(0,8)||"-",j=[`POST ${b} → ${al}/${am}`,g,aF?"STREAM":"JSON",`${d} MSG`];e&&j.push(`${e} TOOL`),h&&j.push(`THINK:${h}`),j.push(`ACC:${i}`),k.line(ap,"▶",j.join(" \xb7 "))}"tts"===(0,v.OA)(at,am)&&Y.messages&&(Y.messages=Y.messages.filter(a=>"tool"!==a.role),delete Y.tools);let aN=p?.headers?.[y.SA]?.toLowerCase()!=="off",aO=function(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}`}(function(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)a&&"string"==typeof a.text&&(a.text=a0(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("string"==typeof b.output)b.output=a0(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];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=a0(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=a0(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=a0(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)c.content=a0(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];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=a0(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}(Y,aN&&D));aO&&console.log(aO);let aP={},aQ=await a9(Y,{enabled:aN&&E,url:F,model:aB,format:aM,compressUserMessages:K,timeoutMs:L,diagnostics:aP}),aR=function(a,b=null){if(!a)return null;let c=a.tokens_before||0,d=a.tokens_after||0,e=a.tokens_saved||0,f=c>0?(e/c*100).toFixed(1):"0",g=ba(b);return`reported token delta=${e} before=${c}${d?` after=${d}`:""} (${f}%)${g?` | ${g}`:""}`.trim()}(aQ),aS=ba(aP);aR?(k?.info?.("HEADROOM",`${aR}${aS?` | ${aS}`:""}`),function(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)}(aQ,aP)&&k?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${ba(aP)}`)):aN&&E&&k?.warn?.("HEADROOM",`skipped: ${aP.reason||"compression unavailable"}${aP.endpoint?` (${aP.endpoint})`:""}`);let aT=[];aN&&M&&N&&(aj(Y,aM,as[N]),aT.push(`CAVEMAN:${N}`)),aN&&O&&P&&(aj(Y,aM,az[P]),aT.push(`PONYTAIL:${P}`));let aU=null;if(Q){let a=await be(Y,{enabled:!0,format:aM,model:aB,minChars:R,timeoutMs:T,transform:U});aU=a.summary,a.body&&(Y=a.body),aU?.applied&&aT.push(`PXPIPE:${aU.imageCount}img`);try{V?.({provider:al,model:am,...aU})}catch{}}aT.length&&k?.line&&k.line(ap,"⚙",aT.join(" \xb7 ")),aL&&"claude"===aK&&(0,h._W)(Y);let aV=(0,B.SB)(al);(0,A.uw)(am,al,q,!0),(0,A.E5)({model:am,provider:al,connectionId:q,status:"PENDING"}).catch(()=>{});let aW=Y.messages?.length||Y.input?.length||Y.contents?.length||Y.request?.contents?.length||0;k?.debug?.("REQUEST",`${al.toUpperCase()} | ${am} | ${aW} msgs`);let aX=(0,i.jd)({onDisconnect:a=>{(0,A.uw)(am,al,q,!1),(0,A.sZ)({provider:al||"unknown",model:am||"unknown",tokens:{prompt_tokens:0,completion_tokens:0},timestamp:new Date().toISOString(),connectionId:q||void 0,apiKey:s||void 0,endpoint:p?.endpoint||null,requestedModel:p?.body?.model||void 0,status:"aborted"}).catch(()=>{}),o&&o(a)},onError:()=>(0,A.uw)(am,al,q,!1),log:k,provider:al,model:am,reqTag:ap}),aY={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(aY.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";k?.info?.("PROXY",`${al.toUpperCase()} | ${am} | conn=${a} | pool=${b} | vercel-relay=${aY.vercelRelayUrl}`)}else if(aY.connectionProxyEnabled&&aY.connectionProxyUrl){let a=aY.connectionProxyUrl;try{let b=new URL(aY.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",d=c?.connectionName||c?.connectionId||"unknown";k?.info?.("PROXY",`${al.toUpperCase()} | ${am} | conn=${d} | pool=${b} | url=${a}`)}if(aY.connectionProxyEnabled&&aY.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";k?.debug?.("PROXY",`${al.toUpperCase()} | ${am} | conn=${a} | no_proxy=${aY.connectionNoProxy}`)}let aZ=ay;try{let a=await aV.execute({model:am,body:Y,stream:aF,credentials:c,signal:aX.signal,log:k,proxyOptions:aY});_=a.response,aa=a.url,ab=a.headers,ak=a.transformedBody,aZ=a.responseFormat||ay,aJ.logTargetRequest(aa,ab,ak)}catch(c){if((0,A.uw)(am,al,q,!1,!0),(0,A.E5)({model:am,provider:al,connectionId:q,status:`FAILED ${"AbortError"===c.name?499:y.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,A.ox)(H({provider:al,model:am,connectionId:q,latency:{ttft:0,total:Date.now()-an},tokens:{prompt_tokens:0,completion_tokens:0},request:G(a,aF),providerRequest:Y||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},pxpipe:aU,status:"error"})).catch(()=>{}),"AbortError"===c.name)return aX.handleError(c),(0,x.A1)(499,"Request aborted");let b=(0,x.lR)(c,al,am,y.gx.BAD_GATEWAY);return k?.errorLine&&k.errorLine(ap,"✗",`ERROR 502 \xb7 ${al}/${am} \xb7 ${Date.now()-an}ms
|
|
63
63
|
${b}${c.stack?`
|
|
64
|
-
${c.stack}`:""}`),(0,x.A1)(y.gx.BAD_GATEWAY,b)}if(!
|
|
65
|
-
URL: ${
|
|
66
|
-
${e}`)}return
|
|
64
|
+
${c.stack}`:""}`),(0,x.A1)(y.gx.BAD_GATEWAY,b)}if(!aV.noAuth&&(_.status===y.gx.UNAUTHORIZED||_.status===y.gx.FORBIDDEN))try{let a=await (0,j.qZ)(async()=>{let a=await aV.refreshCredentials(c,k);return a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,k);if(a?.accessToken||a?.copilotToken){if(k?.line&&k.line(ap,"\uD83D\uDD11",`TOKEN REFRESHED \xb7 ${al}/${am}`),Object.assign(c,a),l)try{await l(a)}catch(a){k?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await aV.execute({model:am,body:Y,stream:aF,credentials:c,signal:aX.signal,log:k,proxyOptions:aY});a.response.ok&&(_=a.response,aa=a.url,aZ=a.responseFormat||ay)}catch{k?.warn?.("TOKEN",`${al.toUpperCase()} | retry after refresh failed`)}}else k?.warn?.("TOKEN",`${al.toUpperCase()} | refresh failed`)}catch(a){k?.warn?.("TOKEN",`${al.toUpperCase()} | refresh threw: ${a.message}`)}if(!_.ok){(0,A.uw)(am,al,q,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,x.zL)(_,aV);(0,A.E5)({model:am,provider:al,connectionId:q,status:`FAILED ${b}`}).catch(()=>{}),(0,A.ox)(H({provider:al,model:am,connectionId:q,latency:{ttft:0,total:Date.now()-an},tokens:{prompt_tokens:0,completion_tokens:0},request:G(a,aF),providerRequest:ak||Y||null,response:{error:c,status:b,thinking:null},pxpipe:aU,status:"error"})).catch(()=>{});let e=(0,x.lR)(Error(c),al,am,b);if(k?.errorLine){let a=aa?`
|
|
65
|
+
URL: ${aa}`:"";k.errorLine(ap,"✗",`ERROR ${b} \xb7 ${al}/${am} \xb7 ${Date.now()-an}ms${a}
|
|
66
|
+
${e}`)}return aJ.logError(Error(c),ak||Y),(0,x.A1)(b,e,d)}let a$={provider:al,model:am,body:a,stream:aF,translatedBody:Y,finalBody:ak,requestStartTime:an,connectionId:q,apiKey:s,clientRawRequest:p,onRequestSuccess:m,onEmptyStream:n,pxpipe:aU,reqTag:ap,log:k},a_=a=>(0,A.E5)({model:am,provider:al,connectionId:q,...a}).catch(()=>{}),a1=()=>(0,A.uw)(am,al,q,!1);if(!aD&&aE){let a=await S({...a$,providerResponse:_,sourceFormat:aq,trackDone:a1,appendLog:a_});if(a)return aX.handleComplete(),a}if(!aF){let a=await $({...a$,providerResponse:_,sourceFormat:aq,targetFormat:aZ,reqLogger:aJ,toolNameMap:Z,trackDone:a1,appendLog:a_});return aX.handleComplete(),a}let{onStreamComplete:a2,streamDetailId:a3}=function({provider:a,model:b,connectionId:c,apiKey:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,clientRawRequest:j,pxpipe:k,reqTag:l,log:m,onEmptyStream:n}){let o=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return{onStreamComplete:(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,v=!p?.content&&!p?.thinking&&!ad(q);if((0,A.ox)(H({provider:a,model:b,connectionId:c,latency:s,tokens:q||{prompt_tokens:0,completion_tokens:0},request:G(f,g),providerRequest:h||i||null,providerResponse:t,response:{content:t,thinking:u,type:"streaming"},pxpipe:k,status:v?"error":"success"},{id:o})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),v&&m?.errorLine&&m.errorLine(l,"✗",`EMPTY STREAM \xb7 ${a}/${b} \xb7 no content and no completion tokens`),J({provider:a,model:b,tokens:q,connectionId:c,apiKey:d,endpoint:j?.endpoint,requestedModel:j?.body?.model,label:"STREAM USAGE",silent:!0}),m?.line&&m.line(l,"\uD83D\uDCCA",I({usage:q,latency:s})),n&&!p?.content?.trim?.()&&!p?.thinking?.trim?.()&&!ad(q)){m?.warn&&m.warn("CHATCORE",`${a}/${b} stream completed with no content/thinking/output tokens — locking for next request`);try{n()}catch(a){console.error("[Stream] onEmptyStream failed:",a?.message||a)}}},streamDetailId:o}}({...a$});return ac({...a$,providerResponse:_,sourceFormat:aq,targetFormat:aZ,userAgent:r,reqLogger:aJ,toolNameMap:Z,streamController:aX,onStreamComplete:a2,streamDetailId:a3})}},48330:(a,b,c)=>{c.d(b,{Hr:()=>k,nu:()=>i,u9:()=>l,yx:()=>h});var d=c(19956),e=c(89568),f=c(45894);let g=new Set(["response.completed","response.done","response.incomplete","response.failed","response.error","error"]);function h(a,b){return a||(b&&"string"==typeof b.type?b.type:null)}function i(a,b){let c=h(a,b);if(g.has(c))return!0;let d=b?.response?.status;return"completed"===d||"failed"===d}let j=new TextEncoder;function k(a=null){let b=l(a);return b?(a&&(a.doneSent=!0),j.encode(`${b}data: [DONE]
|
|
67
67
|
|
|
68
68
|
`)):a?.finalized&&!a.doneSent?(a.doneSent=!0,j.encode("data: [DONE]\n\n")):null}function l(a=null){let b=a||(0,e.lJ)(),c=(0,e.Hd)(b,{error:{type:"stream_error",code:"stream_disconnected",message:"stream closed before response.completed"}});return c.accepted?(0,f.v8)({event:"response.failed",data:{type:"response.failed",response:c.response}},d.h.OPENAI_RESPONSES):""}},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i({requestedModel:a,provider:b,model:c}){if(!a||a.includes("/"))return a;let d=h.get(b);return d?`${d}/${c}`:a}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},89568:(a,b,c)=>{c.d(b,{Hd:()=>t,lJ:()=>s,rY:()=>u});let d={"response.completed":"completed","response.done":"completed","response.incomplete":"incomplete","response.failed":"failed","response.error":"failed",error:"failed"},e=new Set(["function_call","custom_tool_call"]);function f(a){if(void 0!==a)return JSON.parse(JSON.stringify(a))}function g(a){return Number.isInteger(a)&&a>=0?a:null}function h(a,b){return"string"!=typeof b||""===b?a||"":!a||b.startsWith(a)?b:a.startsWith(b)?a:b}function i(a,b,c){if(!b||"object"!=typeof b)return a;let d={...a||{},...f(b)};return c&&!d.type&&(d.type=c),"string"==typeof b.text&&(d.text=h(a?.text,b.text)),d}function j(a,b,c,d,e){a[d].push(...b[d]),a[d].sort((a,b)=>a.order-b.order),a[c]=h(a[c],b[c]);let f=a[d].map(a=>a.value).join("");a[e]=h(f,a[c])}function k(a,b,c,d,e,f){let g=new Set([...a[c].keys(),...b[c].keys(),...a[d].keys(),...b[d].keys(),...a[e].keys(),...b[e].keys()]);for(let[c,e]of b[d]){let b=a[d].get(c)||[];b.push(...e),a[d].set(c,b)}for(let[c,d]of b[e])a[e].set(c,i(a[e].get(c),d,f));for(let b of g)!function(a,b,c,d,e,f){let g=a[c].get(e)||[];g.sort((a,b)=>a.order-b.order);let j=g.map(a=>a.value).join(""),k=a[d].get(e),l=i(a[b].get(e),k,f)||{type:f};l.text=h(j,k?.text),a[b].set(e,l)}(a,c,d,e,b,f)}function l(a,b,c=null){let d,e=(d=b?.item,{outputIndex:g(b?.output_index),itemId:b?.item_id||d?.id||null,callId:b?.call_id||d?.call_id||null}),f=[],h=[],i=a=>{a&&!f.includes(a)&&f.push(a)},m=a=>{a&&!h.includes(a)&&h.push(a)};e.itemId&&(m(a.itemsById.get(e.itemId)),m(a.itemsByCallId.get(e.itemId))),e.callId&&(m(a.itemsByCallId.get(e.callId)),m(a.itemsById.get(e.callId)));let n=null!==e.outputIndex?a.itemsByOutputIndex.get(e.outputIndex):null;for(let b of(n&&(e.itemId&&n.id&&e.itemId!==n.id||e.callId&&n.callId&&e.callId!==n.callId)?a.outputOrderConflict=!0:i(n),h))i(b);let o=null!==e.outputIndex||e.itemId||e.callId;0===f.length&&c&&!o&&i(a.implicitItemsByType.get(c));let p=f[0]||function(a,b=null){let c=a.nextItemOrder++,d={order:c,aliasOrders:new Set([c]),outputIndex:null,id:null,callId:null,type:b,name:"",role:null,status:null,arguments:"",input:"",argumentFragments:[],inputFragments:[],argumentsSnapshot:"",inputSnapshot:"",content:new Map,summary:new Map,contentFragments:new Map,summaryFragments:new Map,contentSnapshots:new Map,summarySnapshots:new Map,raw:{}};return a.items.push(d),d}(a,c);for(let b=1;b<f.length;b++)p=function(a,b,c){if(!c||c===b)return b;for(let a of(b.outputIndex??=c.outputIndex,b.id||=c.id,b.callId||=c.callId,b.type||=c.type,b.name||=c.name,b.role||=c.role,b.status||=c.status,c.aliasOrders))b.aliasOrders.add(a);j(b,c,"argumentsSnapshot","argumentFragments","arguments"),j(b,c,"inputSnapshot","inputFragments","input"),b.raw={...c.raw,...b.raw},k(b,c,"content","contentFragments","contentSnapshots","output_text"),k(b,c,"summary","summaryFragments","summarySnapshots","summary_text");for(let[d,e]of a.itemsByOutputIndex)e===c&&a.itemsByOutputIndex.set(d,b);for(let[d,e]of a.itemsById)e===c&&a.itemsById.set(d,b);for(let[d,e]of a.itemsByCallId)e===c&&a.itemsByCallId.set(d,b);for(let[d,e]of a.implicitItemsByType)e===c&&a.implicitItemsByType.set(d,b);return a.items=a.items.filter(a=>a!==c),b}(a,p,f[b]);return null!==e.outputIndex&&(p.outputIndex??=e.outputIndex,a.itemsByOutputIndex.set(e.outputIndex,p)),e.itemId&&(p.id||=e.itemId,a.itemsById.set(e.itemId,p)),e.callId&&(p.callId||=e.callId,a.itemsByCallId.set(e.callId,p)),p.type||=c,c&&a.implicitItemsByType.set(c,p),p}function m(a,b,c=null,d=null,e=!1){if(!b||"object"!=typeof b)return null;let i=d?.item_id||b.id,j=d?.call_id||b.call_id,k=i&&(a.itemsById.get(i)||a.itemsByCallId.get(i))||j&&(a.itemsByCallId.get(j)||a.itemsById.get(j))||null,n=g(c),p=l(a,{output_index:e?k?.outputIndex??n:n,item_id:i,call_id:j,item:b},b.type||null),{content:q,summary:r,arguments:s,input:t,...u}=f(b);return p.raw={...p.raw,...u},p.type=b.type||p.type,p.id=b.id||p.id,p.callId=b.call_id||p.callId,p.name=b.name||p.name,p.role=b.role||p.role,p.status=b.status||p.status,Array.isArray(q)?q.forEach((a,b)=>{o(p,p.content,p.contentFragments,p.contentSnapshots,b,a,"output_text")}):"string"==typeof q&&o(p,p.content,p.contentFragments,p.contentSnapshots,0,{type:"output_text",text:q},"output_text"),Array.isArray(r)&&r.forEach((a,b)=>{o(p,p.summary,p.summaryFragments,p.summarySnapshots,b,a,"summary_text")}),"string"==typeof s&&s&&(p.argumentsSnapshot=h(p.argumentsSnapshot,s),p.arguments=h(p.arguments,p.argumentsSnapshot)),"string"==typeof t&&t&&(p.inputSnapshot=h(p.inputSnapshot,t),p.input=h(p.input,p.inputSnapshot)),p}function n(a,b){b&&"object"==typeof b&&(b.id&&(a.id=b.id),b.object&&(a.object=b.object),b.created_at&&(a.createdAt=b.created_at),b.model&&(a.model=b.model),b.usage&&"object"==typeof b.usage&&(a.usage=function(a,b){let c={...f(a)||{}};for(let[a,d]of Object.entries(b||{}))null!=d&&("object"!=typeof d||Array.isArray(d)?c[a]=d:c[a]={...c[a]||{},...f(d)});return"number"==typeof c.input_tokens&&"number"==typeof c.output_tokens&&void 0===b.total_tokens&&(c.total_tokens=c.input_tokens+c.output_tokens),c}(a.usage,b.usage)),Array.isArray(b.output)&&b.output.forEach((b,c)=>m(a,b,c,null,!0)))}function o(a,b,c,d,e,f,g){d.set(e,i(d.get(e),f,g));let j=(c.get(e)||[]).sort((a,b)=>a.order-b.order).map(a=>a.value).join(""),k=d.get(e),l=i(b.get(e),k,g)||{type:g};l.text=h(j,k?.text),b.set(e,l)}function p(a,b,c,d,e,f){return o(a,b,c,d,g(e.content_index??e.summary_index)??0,e.part||{type:f,text:e.text},f),a}function q(a,b,c,d,e,f,j){let k=g(f.content_index??f.summary_index)??0;if("string"!=typeof f.delta||!f.delta)return b;let l=d.get(k)||[];l.push({order:a.nextDeltaOrder++,value:f.delta}),d.set(k,l);let m=l.sort((a,b)=>a.order-b.order).map(a=>a.value).join(""),n=e.get(k),o=i(c.get(k),n,j)||{type:j};return o.text=h(m,n?.text),c.set(k,o),b}function r(a){return[...a.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>f(a))}function s({id:a="",createdAt:b=0,model:c=""}={}){return{id:a,object:"response",createdAt:b,model:c,usage:null,items:[],itemsByOutputIndex:new Map,itemsById:new Map,itemsByCallId:new Map,implicitItemsByType:new Map,nextItemOrder:0,nextDeltaOrder:0,outputOrderConflict:!1,sawEvent:!1,finalized:!1,terminalType:null,terminalResponse:null,doneSent:!1}}function t(a,{eventType:b="response.failed",response:c=null,status:g=null,error:h=null,incompleteDetails:i=null}={}){if(!a||a.finalized)return{accepted:!1,type:a?.terminalType||b,response:a?.terminalResponse||null};n(a,c);let j=g||c?.status||d[b]||"failed",k={...f(c)||{},id:c?.id||a.id||`resp_${Date.now()}`,object:c?.object||a.object||"response",created_at:c?.created_at||a.createdAt||Math.floor(Date.now()/1e3),status:j,output:function(a,b=null){return a?[...a.items].sort((a,b)=>null!==a.outputIndex&&null!==b.outputIndex?a.outputIndex-b.outputIndex:null!==a.outputIndex?-1:null!==b.outputIndex?1:a.order-b.order).map(a=>(function(a,b=null){let c=f(a.raw)||{};return a.type&&(c.type=a.type),(a.id||e.has(a.type))&&(c.id=a.id||(a.id?a.id:a.callId?`fc_${a.callId}`:null!==a.outputIndex?`fc_output_${a.outputIndex}`:`fc_${a.order}`)),a.role&&(c.role=a.role),a.status&&(c.status=a.status),b&&(!c.status||"in_progress"===c.status)&&(c.status="completed"===b?"completed":"incomplete"),"message"===a.type?(c.role||="assistant",c.content=r(a.content)):"reasoning"===a.type?(c.summary=r(a.summary),a.content.size>0&&(c.content=r(a.content))):"function_call"===a.type?(a.callId||=c.call_id||a.id||`call_output_${a.outputIndex??a.order}`,c.call_id=a.callId,c.name=a.name||c.name||"",c.arguments=a.arguments||c.arguments||""):"custom_tool_call"===a.type&&(a.callId||=c.call_id||a.id||`call_output_${a.outputIndex??a.order}`,c.call_id=a.callId,c.name=a.name||c.name||"",c.input=a.input||c.input||""),c})(a,b)):[]}(a,j)};return a.model&&!k.model&&(k.model=a.model),a.usage&&(k.usage=f(a.usage)),h&&!k.error&&(k.error=f(h)),"failed"!==j||k.error||(k.error={type:"server_error",code:"response_failed",message:"response failed without error details"}),i&&!k.incomplete_details&&(k.incomplete_details=f(i)),a.finalized=!0,a.terminalType=b,a.terminalResponse=k,{accepted:!0,type:b,response:k}}function u(a,b){let{type:c,data:e}=function(a){if(!a||"object"!=typeof a)return{type:null,data:null};let b=a.data&&"object"==typeof a.data?a.data:a;return{type:b.type||a.type||a.event||null,data:b}}(b);if(!a||!c||!e)return{accepted:!1,type:c,data:e};if(a.finalized)return{accepted:!1,type:c,data:e,response:a.terminalResponse};a.sawEvent=!0,e.response&&n(a,e.response);let g=null;switch(c){case"response.output_item.added":case"response.output_item.done":g=m(a,e.item,e.output_index,e);break;case"response.content_part.added":case"response.content_part.done":case"response.output_text.done":p(g=l(a,e,"message"),g.content,g.contentFragments,g.contentSnapshots,e,"output_text");break;case"response.output_text.delta":g=l(a,e,"message"),q(a,g,g.content,g.contentFragments,g.contentSnapshots,e,"output_text");break;case"response.reasoning_summary_part.added":case"response.reasoning_summary_part.done":case"response.reasoning_summary_text.done":p(g=l(a,e,"reasoning"),g.summary,g.summaryFragments,g.summarySnapshots,e,"summary_text");break;case"response.reasoning_summary_text.delta":g=l(a,e,"reasoning"),q(a,g,g.summary,g.summaryFragments,g.summarySnapshots,e,"summary_text");break;case"response.reasoning_text.delta":g=l(a,e,"reasoning"),q(a,g,g.content,g.contentFragments,g.contentSnapshots,e,"reasoning_text");break;case"response.reasoning_text.done":p(g=l(a,e,"reasoning"),g.content,g.contentFragments,g.contentSnapshots,e,"reasoning_text");break;case"response.function_call_arguments.delta":if(g=l(a,e,"function_call"),"string"==typeof e.delta&&e.delta){g.argumentFragments.push({order:a.nextDeltaOrder++,value:e.delta});let b=g.argumentFragments.map(a=>a.value).join("");g.arguments=h(b,g.argumentsSnapshot)}break;case"response.function_call_arguments.done":g=l(a,e,"function_call"),"string"==typeof e.name&&e.name&&(g.name=e.name),g.argumentsSnapshot=h(g.argumentsSnapshot,e.arguments),g.arguments=h(g.arguments,g.argumentsSnapshot);break;case"response.custom_tool_call_input.delta":if(g=l(a,e,"custom_tool_call"),"string"==typeof e.delta&&e.delta){g.inputFragments.push({order:a.nextDeltaOrder++,value:e.delta});let b=g.inputFragments.map(a=>a.value).join("");g.input=h(b,g.inputSnapshot)}break;case"response.custom_tool_call_input.done":(g=l(a,e,"custom_tool_call")).inputSnapshot=h(g.inputSnapshot,e.input),g.input=h(g.input,g.inputSnapshot)}if(Object.hasOwn(d,c)){let b="error"===c?{type:"server_error",code:e.code||"response_error",message:e.message||"response stream error",...void 0!==e.param?{param:e.param}:{}}:null,h=t(a,{eventType:c,response:e.response,status:"response.done"===c&&e.response?.status||d[c],error:e.error||e.response?.error||b,incompleteDetails:e.response?.incomplete_details});return{...h,data:h.accepted?{...f(e),type:c,response:h.response}:e,item:g}}return{accepted:!0,type:c,data:e,item:g}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=4843,exports.ids=[4843],exports.modules={21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"0050fc7df4f822775db035ac82fe966a0bed0aed47",null),(0,d.A)(P,"40cd9af9fd252e8c7e6a6074bf4cd820265865d595",null),(0,d.A)(Q,"00ce986fff5b01da9e615134228ca8e1c1bfb1aa5d",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"@rabbi696/ezrouter",installCmd:"npm i -g @rabbi696/ezrouter",installCmdLatest:"npm i -g @rabbi696/ezrouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20126},h={maxLines:200,pollIntervalMs:1e3,streamTimeoutMs:5e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingInactiveSession:!0,inactiveMinPingIntervalMs:18e6,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.72"}},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="ezrouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},60290:(a,b,c)=>{"use strict";c.d(b,{C8:()=>s,DR:()=>r,IK:()=>l,Ps:()=>h,Qn:()=>p,SA:()=>o,Uc:()=>m,Ur:()=>g,Z1:()=>j,cI:()=>q,eo:()=>n,gx:()=>d,pH:()=>k,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),k=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let l=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),m=64e3,n=32e3,o="x-9router-token-saver",p={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},q={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function r(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let s=["Please write a 5-10 word title for the following conversation:"]},78335:()=>{},87252:(a,b,c)=>{"use strict";c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>g,t2:()=>h});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=26784e5,h=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},96487:()=>{}};
|
|
1
|
+
exports.id=4843,exports.ids=[4843],exports.modules={21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"0050fc7df4f822775db035ac82fe966a0bed0aed47",null),(0,d.A)(P,"40cd9af9fd252e8c7e6a6074bf4cd820265865d595",null),(0,d.A)(Q,"00ce986fff5b01da9e615134228ca8e1c1bfb1aa5d",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"@rabbi696/ezrouter",installCmd:"npm i -g @rabbi696/ezrouter",installCmdLatest:"npm i -g @rabbi696/ezrouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20126},h={maxLines:200,pollIntervalMs:1e3,streamTimeoutMs:5e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingInactiveSession:!0,inactiveMinPingIntervalMs:18e6,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.73"}},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="ezrouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},60290:(a,b,c)=>{"use strict";c.d(b,{C8:()=>t,DR:()=>s,IK:()=>m,Ps:()=>h,Qn:()=>q,SA:()=>p,UH:()=>k,Uc:()=>n,Ur:()=>g,Z1:()=>j,cI:()=>r,eo:()=>o,gx:()=>d,pH:()=>l,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),k=(()=>{let a=process.env.SSE_KEEPALIVE_MS;if(null==a||""===a)return 1e4;let b=parseInt(a,10);return Number.isFinite(b)&&b>=0?b:1e4})(),l=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let m=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),n=64e3,o=32e3,p="x-9router-token-saver",q={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},r={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function s(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let t=["Please write a 5-10 word title for the following conversation:"]},78335:()=>{},87252:(a,b,c)=>{"use strict";c.d(b,{Dp:()=>g,EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=42e4,h=26784e5,i=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},96487:()=>{}};
|